【Linux】find命令


用途

find命令用於在指定目錄下查找文件。

全稱

參數

-name :后跟需要匹配的文件名模式,需要使用引號引起來

下面是一些簡單的示例查找:(~表示$HOME目錄)

1.查找當前$HOME下'.log'結尾的文件

find ~ –name "*.log" –print

2.當前目錄與子目錄下查找所有'.log'結尾的文件

find . –name "*.log" –print

3.當前目錄與子目錄下查找文件名以一個大寫字母開頭的文件

find . –name "[A-Z]" –print

4.在/etc目錄下查找文件名以host開頭的文件

find /etc –name "host*" –print

5.在當前目錄查找文件名以一個小寫字母開頭,最后是4到9加上.txt結束的文件

find . –name "[a-z]*[4-9].txt" –print

 

-iname :根據文件名查找文件,不區分大小寫

1.查找文件名為.log結尾的文件,不區分大小寫

find . –iname "*.log" –print

-perm :后跟文件權限,按文件權限模式來查找文件

1.查找當前目錄下文件權限為777的文件

find . –perm 777 –print

 

-prune :忽略某個目錄

1.希望在tmp下查找,但不希望在/tmp/tmp1下查找

find test –path "/tmp/tmp1" –prune –o –print

2.希望在tmp下查找,但不希望在/tmp/tmp1、/tmp/tm2、/tmp/tmp3等多個文件夾下查找

find test \(–path tmp/tmp1 –o –path tmp/tmp2 –o –path tmp/tmp2 \) –prune –o –print

-user與nouser :根據文件屬主查找與查找屬主賬戶已經被刪除的文件

1.查找文件屬主為qinys的所有文件

find ~ –user qinys –print

2.查找刪除用戶Tom的文件

find /home –nouser  –print

 

-group與nogroup :根據文件屬於的用戶組查找與查找屬用戶組已經被刪除的文件

1.查找文件屬主為qinys的所有文件

find ~ –group gp1 –print

2.查找刪除用戶Tom的文件

find /home –nogroup  –print

 

-mtime\atime\ctime :根據更改時間或者訪問時間等查找文件

1.在根目錄下查找更改時間在5日以內的文件

find / –mtime -5 –print

2.查找/home目錄下3日以前的文件

find / –mtime +3 –print

 

-newer :查找更改時間比某個文件新但另外一個文件舊的所有文件

語法:new_file_name ! old_file_name

其中!是邏輯非符號

1.查找更改時間比文件a.log新,但比文件b.log舊的文件(假如現在是在目錄/home下)

find –newer a.log ! -newer b.log

2.查找更改時間比tmp.log新的文件

find . –newer tmp.log

 

-size :根據文件大小來查找文件(這里的文件長度既可以使用塊來計量,也可以使用字節來計量)

1.查找當前目錄下文件長度大於1M字節的文件

find . –size +1000000c –print

2.在目錄/home下查找文件長度恰好為100字節的文件

find . –size 100c –print

3.在當前目錄下查找長度超過10塊的文件(一塊等於512字節)

find . –size +10 –print

 -type查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄。
c - 字符設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。

 

案例

1.在目錄中查找更改時間在6日以前的文件並刪除他們(注:今天是20190109)

image

從上圖我們可以看出,符合查找的文件test.sh已經被刪除

2.在目錄中查找更改時間在1日以前后綴為.log的文件並刪除他們,刪除時候提示

image

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM