linux常用命令

常用解压命令

tar -xvf  file.tar  //解压tar包
tar -zxvf  file.tar.gz   //解压tar.gz
tar  -xjvf  file.tar.bz2   //解压 tar.bz2
tar -Zxvf   file.tar.Z   //解压tar.z
tar  -Jxvvf   file.tar.xz    //解压tar.xz
unrar -e file.rar  //解压 rar
unzip   file.zip   //解压zip

linux查看日志文件内容命令有

cat //由第一行开始显示文件内容
tac //从最后一行开始显示,可以看出 tac 是 cat 的倒着写
nl //显示的时候,顺道输出行号!
more //一页一页的显示文件内容
less //与 more 类似,但是比 more 更好的是,他可以往前翻页!
head //只看头几行
tail //只看尾巴几行

find -print0和xargs -0原理及用法

平常我们经常把find和xargs搭配使用,例如:

find . -name "*.txt" | xargs rm

但是这个命令如果遇到文件名里有空格或者换行符,就会出错。因为xargs识别字符段的标识是空格或者换行符,所以如果一个文件名里有空格或者换行符,xargs就会把它识别成两个字符串,自然就出错了。

这时候就需要-print0和-0了。

find -print0表示在find的每一个结果之后加一个NULL字符,而不是默认加一个换行符。find的默认在每一个结果后加一个'\n',所以输出结果是一行一行的。当使用了-print0之后,就变成一行了

然后xargs -0表示xargs用NULL来作为分隔符。这样前后搭配就不会出现空格和换行符的错误了。选择NULL做分隔符,是因为一般编程语言把NULL作为字符串结束的标志,所以文件名不可能以NULL结尾,这样确保万无一失。

所以比较我们推荐的比较保险的命令是

find . -name "*.txt" -print0 | xargs -0 rm
posted @ 2019-08-05 11:09  enuff  阅读(155)  评论(0编辑  收藏  举报