shell扫盲了

一、find命令的使用find命令的格式是find path -options  [-print -exec -ok]-print  将匹配的文件名输出到标准输出-exec 对匹配的文件执行该参数所给的shell命令。其格式 为command {} ; 。-ok exec参数的安全模式,在执行每个命令之前都会提示用户是...显示全部
一、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收起
参与16

查看其它 15 个回答orclfly的回答

orclflyorclfly软件开发工程师sl
恩,学习了。:lol
互联网服务 · 2013-11-18
浏览1227

回答者

orclfly
软件开发工程师sl

orclfly 最近回答过的问题

回答状态

  • 发布时间:2013-11-18
  • 关注会员:0 人
  • 回答浏览:1227
  • X社区推广