【原】Linux find 命令整理

作者:david_zhang@sh 【转载时请以超链接形式标明文章】

链接:http://www.cnblogs.com/david-zhang-index/archive/2012/07/02/2573191.html?updated=1

shell编程不好,所以各种命令都的整理下,见笑了,内容来自互联网,笔者自己整理了下:

 1 find . -name "*.txt" -print                          在当前目录中查.txt文件并显示 
 2 find . -name "[A-Z]*" -print                         查以大写字母开头的文件 
 3 find . -name "[a-z][a-z][0--9][0--9].txt" -print     查以两个小写字母和两个数字开头的txt文件 
 4 find . -size +1000000c -print                        查长度大于1Mb的文件 
 5 find . -size 100c -print                             查长度为100c的文件 
 6 find . -size +10 -print                              查长度超过期作废10块的文件(1块=512字节) 
 7 find . -name "host*" -print                          查以host开头的文件 
 8 find . -name "ap*" -o -name "may*"                   查找以ap或may开头的文件
 9 find . -name "tom.txt" [!] -ftype vfat               查找名称为tom.txt且文件系统类型不为or为vfat的文件
10 find . -name "wa*" -type l                           查找名为wa开头且类型为符号链接的文件
11 find . [!] -type d -print                            查找非目录或者目录文件 
12 find . -empty                                        查找大小为0的文件或空目录
13 find . -name "passwd*" -exec grep david {} \         看是否存在david用户 
14 find . -perm 755 -print -exec ls -l {} \             查所有用户都可读写执行的文件
15 find . -name "tmp.txt" -exec cat {} \                查找temp.txt文件并查看
16 find . -name "tmp.txt" -ok rm {} \                   查找temp.txt文件并删除
17 find . -mtime -2                                     在.下查最近两天内改动过的文件
18 find . -atime -1                                     查1天之内被存取过的文件
19 find . -mmin +60                                     在.下查60分钟前改动过的文件
20 find . -amin +30                                     查最近30分钟前被存取过的文件
21 find . -user david                                   列出.目录内属于用户david的文件或目录
22 find . -uid +501                                     列出.目录内用户的uid大于501的文件或目录
23 find . -group david                                  列出.组内为david的文件或目录
24 find . -gid 501                                      列出.组内id为501的文件或目录

 Example:

 1 Linux下Find与cp、rm结合的应用
 2 --------------------------------------------------------------------------------
 3 1.find and cp
 4 find /home -name '*.conf'|xargs -I {} cp -r {} /home/conf/
 5 
 6 2.find and rm
 7 find /home -name 'test-file-*' | xargs rm -rf
 8 
 9 other example
10 1.find . -mtime -1 -type f -exec ls -l {} \;
11 2.find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR 
12 3.find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; 

笔者另推荐:find命令具体含义参考以下链接:http://unixhelp.ed.ac.uk/CGI/man-cgi?find

posted @ 2012-07-02 15:07  david_zhang@sh  阅读(5198)  评论(0编辑  收藏  举报