最近本人正在学习linux shell,特总结如下:

查找并删除当前目录下所有后缀为.swp文件 :find . -type f -name "*.swp" -exec rm {} \;

其中的 . 代表当前目录   -type f 代表搜索的目标类型为文件  -name "*.swp" 代表搜索所有后缀为.swp的文件 -exec rm {} \;代表没当有一个匹配成功的文件就执行 rm ”匹配成功的文件“的命令

 

查找当前目录下所有目标类型为目录并且在七天之内访问过:find . -type d -atime -7 

其中 -atime -7 代表在7天之内访问过  -atime 后面的参数还可以换成+7 或者 7   +7 代表在7天以前  7代表正好7天

此外 -atime还可以换成 -mtime:在多少天的时间里修改过  -ctime:代表在多少天的时间里改变过(eg:权限和所有权的修改)

-amin  -mmin  -cmin  这三个后面的参数代表的是多少分钟

查找当前目录下所有目标类型为文件并且权限为664find . -type f -perm 664

 

让find调过特定的目录find . \( -name ".git" -prune \) -o \( -type f -print \)

这条指令会搜索当前目录下除了.git目录之外所有的文件并打印到终端

 

查找源码目录下所有c文件的行数以及总行数:find /source_code -type f -name "*.c" -print0 | xargs -0 wc -l

find 与 xargs 一起用时最好find与print0结合,否则容易误操作,导致事与愿违!

 

 

posted on 2013-11-25 11:05  iplaysoft  阅读(257)  评论(0)    收藏  举报