find 搜索命令

find 搜索命令

#find [路径][参数] 例如: 

#find /tmp/ -type f 。为查找/tmp目录下的普通文件

#find /tmp/ -name test1 查找含有test1的文件

#find /tmp/ -path "/tmp/dir*" -nmae *.txt 在tmp目录下dir目录以及子目录下查找txt后缀的文件


1.  只排除一个目录或者文件,如查找/tmp/ 目录下所有文件(不包含目录), 并且不包含目录123

  1. find  /tmp/   -path "/tmp/123" -prune -o -type f  -print

2. 排除两个或者多个目录或者文件,如查找/tmp/ 目录下所有文件(不包含目录), 并且不包含目录123和目录234和目录345

  1. find  /tmp/ \( -path "/tmp/123" -o -path "/tmp/234" -o -path "/tmp/345" \) -prune -o -type f -print

注意,如果是查找目录时,-path 后面的目录名一定不要带/  如 写成  -path "/tmp/123/" 就错了,而查找文件时,带/ 没有问题。


在一个目录下,有很多很多文件,只想找到12月1日至12月31日的文件,如何找呢?

1. 先手动找到在这个时间段最早的文件,比如1.txt是12月1日0点1分创建的,再找到这个时间段最晚的文件,比如2.txt是12月31日23点55分创建的;
如果不想手动找最早和最晚的文件,那么需要自行创建 (参考http://www.lishiming.net/thread-5286-1-1.html

2. find  . -type f -newer 1.txt ! -newer 2.txt

find  / -name 1.txt -o -name 2.txt -o -name 3.txt ...查找多个文件 (o 即 or)

#find /tmp/ -atime +(-)n   为访问或执行时间大于或小于n天的文件

#find /tmp/ -ctime +(-)n  写入、更改inode属性(如,更改所有者、权限、或者连接)时间大于或小于n天的文件

#find /tmp/ -mtime +(-)n 写入时间大于或小于n天的文件

#find /tmp/ -type f |xargs ls -l 查找tmp下的普通文件,并显示其信息。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章