Linux find命令小結

2021-06-16 08:16:33 字數 2705 閱讀 9577

find 命令

今天瀏覽了下linux下find 的man文件,涉及的細節很多,僅把常用的部分整理出來,供後續豐富補充吧。

find命令格式:

usage: find [path…] [expression]

path預設為當前路徑,expression預設為-print項

expressions有以下幾種組成 :option,tests,action,operators,分別簡單列舉其常見形式:

options:

-depth:在處理本目錄之前先處理目錄中的內容

-daystart:(-atime,-ctime,-mtime;-amin,-cmin,-mmin)

tests:

+n:greater than n;

-n:less than n;

n:exact n

-anewer file:

-name pattern:

-path pattern:

-perm mode:

-size  n[bcwkmg]:

b:512 bytes block

c:bytes

w:two-byte word

k:1024 bytes

m:1024*1024 bytes

g:gigabityes

-type

b:block

c:character

d:dir

f:regular file

l:symb link

-maxdepth level

-mindepth level

-depth:在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢。

-amin n 查詢n分鐘以前被訪問過的所有檔案

-atime n 查詢n天以前被訪問過的所有檔案

-cmin n 查詢n分鐘以前檔案狀態被修改過的所有檔案

-ctime n 查詢n天以前檔案狀態被修改過的所有檔案

-mmin n 查詢n分鐘以前檔案內容被修改過的所有檔案

-mtime n 查詢n天以前檔案內容被修改過的所有檔案

actions:

-delete

-exec command

-fprint0 file

-fprint file

-prune

-lsoperators:

exp1 –and exp2

exp1 –or exp2

舉例:1、  在當前目錄下查詢指定檔案,並在stdout上輸出:

[root@localhost ~]#find  . –name pattern.c –print

2、  在指定目錄下查詢某型別檔案,並通過ls顯示檔案屬性:

[root@localhost ~]#find /home/admin –name 「*.c」 –type f –exec ls –l {} \;

在/home/admin 下查詢擴充套件名為。c的檔案並檢視其屬性

3、  查詢指定大小, 指定若干天(分鐘),前,後,指定型別的檔案並刪除:

[root@localhost ~]#find /home –name 「*.tmp」 – type f –size 10k –mtime 5 –print –exec rm –rf {} \;

在home下查詢擴充套件名為。tmp 檔案大小為10k修改時間為5天之內的檔案,並輸出後刪除

4、  在/home/admin及其子目錄下查詢*.vim 型別的檔案,但不在其子目錄。vim中查詢

[root@localhost ~]#find /home/admin -path "/home/admin/.vim" -name "*.vim" –prune

刪除大小為0,擴充套件名為tmp的檔案

[root@localhost ~]#find . –name 「*.tmp」 –size 0 –type f –print –exec rm –rf {} \;

5,、僅在當前的資料夾中查詢指定的檔案,但不在其子目錄中查詢

[root@localhost ~]#find / -maxdepth 1 -type d -size -100c

當前目錄下查目錄,其大小小於100位元組,僅查詢當前目錄,不在其子目錄中查詢

6、在指定目錄的若干級子目錄中查詢

[root@localhost ~]#find / -mindepth 3 –type f –size 0 –exec rm {} \;

7、查詢指定型別檔案

[root@localhost ~]#find /mnt/hgfs/ -type l –print

查詢鏈結檔案

8、在跟目錄下查詢xml副檔名屬於使用者admin其大小為0的普通檔案並刪除

[root@localhost ~]# find / -name "*.xml" -user admin -type f -size 0 –print –exec –rm {} \;

9、查詢非目錄檔案

[root@localhost ~]#find / !-type d -print

查詢鏈結檔案

10、另一種方式刪除10天前size 為0的檔案方式

[root@localhost ~]#find ./ -size 0 –mtime +10 | xargs rm -f &

11、查詢許可權位為755的普通檔案

[root@localhost ~]# find . -perm 755 -type f -print

Linux find命令用法小結

find是個使用頻率比較高的命令。常常用它在系統特定目錄下,查詢具有某種特徵 名字體別屬主許可權等 的檔案。find命令的格式 find path options print exec ok path 要查詢的目錄路徑。表示 home目錄.表示當前目錄 表示根目錄 print 表示將結果輸出到標準輸...

Linux find命令用法小結

find是個使用頻率比較高的命令。常常用它在系統特定目錄下,查詢具有某種特徵 名字體別屬主許可權等 的檔案。find命令的格式 find path options print exec ok path 要查詢的目錄路徑。表示 home目錄 表示當前目錄 表示根目錄 print 表示將結果輸出到標準輸...

linux find命令小結之常用選項

man檔案中給出的find命令格式為 find h l p d debugopts olevel path.expression 不過這幾個選項 h l p d debugopts olevel 很少用到,再次總結的是簡化命令 find path.expression options,find命令的...