一、find命令的使用
find命令的格式是find path -options [-print -exec -ok]
-print 将匹配的文件名输出到标准输出
-exec 对匹配的文件执行该参数所给的shell命令。其格式 为command {} ; 。
-ok exec参数的安全模式,在执行每个命令之前都会提示用户是否执行
1、find命令的选项有
-name 按文件名查找
find /etc -name "host*" -print
-perm 按文件权限
find . -perm 755 -print
-prune
-user 按文件属主
find ~ -user root -print
-group 按文件所属的组
-mtime -n +n 按照文件的更改时间,+n表示更改时间在n天之前,-n表示更改时间在n天之内
-ctime,-atime
find /var/adm -mtime +3 -print
-type 查找某类型的文件,类型为b,d,c,p,l,f(普通文件)
find . -type d -print
-depth 先广查找
find / -name "conf.*" -depth -print
-fstype 查找某一文件系统的文件,这些文件系统可以在/etc/fstab中找到
-mount 在文件系统的mount点内查找
find . -name "conf,*" -mount -print
-follow 遇到符号链接时,跟踪至其指向的文件
2、-exec选项
任何形式的命令都可以在-exec选项中使用。如
find . -type d -exec ls -l {} ; 列出当前目录下所有子目录的详细信息
find /logs -type -f -mtime +5 -exec rm {} ; 删除/log目录中更改时间在5天前的文件并删除之
find /etc/ -name "passwd*" -exec grep "ayang" {} ;
二、xargs命令
1、使用-exec的局限
使用-exec选现将使find将所有匹配到的文件一起传递给exec执行。如果传递的文件名太多,exec可能会发生参数溢出的错误。使用xargs,可以 一批一批地传递参数,不会发生上述问题。
2、举例
find -/ -type f -print | xargs file
收起