常用选项: -o : 当sdtin含有特殊字元时候,将其当成一般字符,想/'空格等;
-a file :从文件中读入作为sdtin;
-e flag :注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止;
-p :当每次执行一个argument的时候询问一次用户
-n num :后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的;
-t :表示先打印命令,然后再执行;
-i 或者是-I :这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给{},可以用{}代替;
-r no-run-if-empty :当xargs的输入为空的时候则停止xargs,不用再去执行了;
-s num :命令行的最好字符数,指的是xargs后面那个命令的最大命令行字符数;
-L num Use at most max-lines nonblank input lines per command line.-s是含有空格的;
-l 同-L;
-d delim :分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符;
-x exit的意思,主要是配合-s使用;
-P 修改最大的进程数,默认是1,为0时候为as many as it can ;
练习:1、查找/var目录下属主为root,且属组为mail的所有文件或目录;
~]# find /var -user root -a -group mail -ls
2、查找/usr目录下不属于root, bin或hadoop的所有文件或目录;用两种方法;
~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop
~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
3、查找/etc目录下最近一周内其内容修改过,且属主不是root用户也不是hadoop用户的文件或目录;
~]# find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls
~]# find /etc -mtime -7 -a -not -user root -a -not -user hadoop -ls