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下的普通文件,並顯示其信息。


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