搜索系统中所有以.repo结尾的文件并删除(find命令详解及xargs命令详解)

find / -name *.repo | xargs rm –rf           //搜索以.repo结尾的文件并删除

搜索系统中所有以.repo结尾的文件并删除(find命令详解及xargs命令详解)

find命令详解
精细查找文件或目录d
find  [ 查找范围 ]  [ 查找条件表达式 ]

常用查找条件:
按名称查找:"-name",支持通配符"*"、"?"
按文件大小查找:"-size",可使用"+"、"-"作为容量条件
按文件属主查找:"-user"
按文件类型查找:"type"

注:“*”匹配多个字符,“?”匹配单个字符
        -size中k容量单位为小写字母,其余全为大写;如“1k”、“1M”、“1G”等
注:创建者即文件或目录的所有者,一般为创建人,如root用户新增的文件所有者即为root,也可通过"chown"命令更改所有者

xargs命令详解

之所以要用到xargs,是因为由于很多命令不支持使用管道|来传递参数
xargs [选项] [command]
-0:如果输入的stdin含有特殊字符,例如反引号`、反斜杠\、空格等字符时,xargs可以将它还原成一般字符。为xargs的默认选项。
-e <flag>,-E <flag>,--eof=<eof-str>:eof是end of file string的意思。flag可以是一个字符串或者是由空格分隔的多个字符串,当xargs分析到这个flag时,就会停止工作。
-p:当每次执行一个argument的时候询问一次用户。
-n <num>:表示命令在执行的时候一次使用的argument的个数,由num指定,默认是用所有的参数。
-t:表示先打印命令,然后再执行。
-a <file>:从文件中读入作为sdtin。
-i,-I:其中-I某些Linux版本不支持。将xargs的输出每一项参数,单独赋值给后面的命令,参数需要用{}代替。见示例3。
-r:或者--no-run-if-empty,当xargs的输入为空的时候则停止xargs,不用再去执行后面的命令了,-r是xargs的默认选项。
-s <num>:命令行的最大字符数,指的是xargs后面那个命令的最大命令行字符数,包括命令、空格和换行符。每个参数单独传入xargs后面的命令。
-L <line_num>:设置标准输入中最大的行数作为命令每一次执行的参数。见示例5。
-d <delim>, --delimiter=<delim>: xargs处理标准输入默认是按换行符和空格作为分隔符,输出arguments的分隔符是空格,这里修改xargs处理标准输入时的分隔符。
-x:eXit的意思,主要是配合-s使用,当命令行字符数大于-s指定的数值时,退出xargs。
-P:修改最大的进程数,默认是1,为0时候为as many as it can。该选项比较少用,目前还不清楚该用法。

参考文献
[1]Xargs用法详解

猜你喜欢

转载自blog.51cto.com/14013609/2298537
今日推荐