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
find /tmp/ -path "/tmp/123" -prune -o -type f -print
2. 排除兩個或者多個目錄或者文件,如查找/tmp/ 目錄下所有文件(不包含目錄), 並且不包含目錄123和目錄234和目錄345
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下的普通文件,並顯示其信息。