Linux教程 Find命令的使用


Linux中的Find(查找)命令是在Linux系統中最重要並且更有用的命令之一。Find命令主要用於指定匹配文件條件的參數查找或者定位文件和目錄的列表。Find命令能夠被使用基於各種各樣的條件,例如permissions(權限),users(用戶),groups(組),file type(文件類型),date(日期),size(大小)等等其它可能的條件。

在這篇文章我們主要分享常用的35個Find命令以及通過例子來講解每一個的用法,這里的35個例子我們分為5大塊來講解。

  • 第一部分: 基本的Find命令查找通過名字
  • 第二部分: 查找文件通過權限
  • 第三部分: 查找文件通過擁有者以及組
  • 第四部分: 查找文件通過日期和時間
  • 第五部分: 查找文件通過文件的大小

第一部分:通過文件名來查找文件

1,查找文件在最近的工作目錄通過文件名

查找最近工作目錄下名為test.txt的所有文件。

# find . -name test.txt

./tmp/test.txt
./test.txt

2,通過文件名查找文件在home工作目錄

查找home目錄下名為test.txt的所有文件。

# find /home/ -name test.txt

/home/test.txt

3,通過忽略文件名的大小寫來查找文件在home工作目錄

查找home工作目錄下名為test.txt並且不分大小寫的所有文件。

# find /home -iname test.txt

/home/test.txt
/home/Test.txt
/home/tesT.txt

4,查找目錄使用文件名

查找在根目錄/下名為test的所有文件名。

# find / -type d -name test

/test

5,使用Php文件名后綴來查找對應格式文件

查找最近工作目錄下名為test.php的所有文件。

# find . -type f -name tecmint.php

/test.php

6,在最近工作目錄查找所有Php文件

查找最近工作目錄下所有Php后綴的文件。

# find . -type f -name "*.php"

./test.php
./login.php
./index.php

第二部分:通過權限查找文件

7,查找擁有777權限的所有文件

查找最近工作目錄下有777權限的所有文件。

# find . -type f -perm 0777 -print

./test.txt

8,查找沒有777權限的所有文件

查找根目錄下沒有777權限的所有文件。

# find / -type f ! -perm 777

9,查找有644權限的SGID文件

查找根目錄下有644權限的SGID字節文件。

# find / -perm 2644

10,查找權限為551粘值位字節文件

查找根目錄下權限為551粘值位字節文件。

# find / -perm 1551

11,查找根目錄下SUID集合文件

查找根目錄下SUID集合文件。

# find / -perm /u=s

12,查找根目錄下SGID集合文件

查找根目錄下SGID集合文件。

# find / -perm /g=s

13,查找只讀文件

查找根目錄下所有只讀文件。

# find / -perm /u=r

14,查找可執行文件

查找根目錄下所有可執行文件。

# find / -perm /a=x

15,查找所有777權限的文件並設置權限為644

查找根目錄下權限為777的所有文件並通過chmod 修改權限為644。

# find / -type f -perm 0777 -print -exec chmod 644 {} \;

16,查找所有777權限的目錄並設置權限為755

查找根目錄下權限為777的所有目錄並通過chmod 修改權限為755。

# find / -type d -perm 777 -print -exec chmod 755 {} \;

/test.php

17,查到並刪除單個對應的文件

查找最近工作目錄下名為test.php文件並刪除。

# find . -type f -name "test.php" -exec rm -f {} \;

18,查找對應格式的多個文件並刪除

查找最近工作目錄下后綴為.mp3或者.txt的所有文件並刪除。

# find . -type f -name "*.txt" -exec rm -f {} \;
OR
# find . -type f -name "*.mp3" -exec rm -f {} \;

19,查找/tmp目錄下的所有空文件

查找/tmp目錄下的所有空文件。

# find /tmp -type f -empty

/test.php

20,查找/tmp目錄下的所有空目錄

查找/tmp目錄下的所有空目錄。

# find /tmp -type d -empty

21,查找/tmp目錄下的所有隱藏文件

查找/tmp目錄下的所有隱藏文件

# find /tmp -type f -name ".*"

第三部分:通過用戶擁有着以及擁有組查找文件

22,通過擁有者查找單個文件

查找根目錄下名為test.txt的文件並且擁有着為user。

# find / -user root -name test.txt

23,在home目錄下查找對應擁有者的所有文件

在home目錄下查找對應擁有者root的所有文件。

# find /home -user root

24,在home目錄下查找對應組的所有文件

在home目錄下查找對應組developer的所有文件。

# find /home -group developer

25,查找后綴為txt的並且擁有者用戶屬於root的所有文件

查找后綴為txt的並且擁有者用戶屬於root的所有文件。

# find /home -user root -iname "*.txt"

第四部分:通過文件修改的時間和日期來查找文件

26,查找根目錄下最后50天修改的文件

查找根目錄下最后50天修改的文件。

# find / -mtime 50

27,查找根目錄下最后50天訪問的文件

查找根目錄下最后50天訪問的文件

# # find / -atime 50

28,查找根目錄下最后50天到100天修改的文件

 查找根目錄下最后50天到100天修改的文件。

# find / -mtime +50 –mtime -100

29,查找在過去一小時改變的文件

查找在過去一小時改變的文件。

# find / -cmin -60

30,查找在過去一小時修改的文件

查找在過去一小時修改的文件。

# find / -mmin -60

31,,查找在過去一小時訪問的文件

查找在過去一小時訪問的文件。

# find / -amin -60

第五部分:通過文件大小來查找文件

32,查找根目錄下大小為50M的文件

查找根目錄下大小為50M的文件。

# find / -size 50M

33,查找根目錄下大小為50M到100M之間的文件

查找根目錄下大小為50M到100M之間的文件。

# find / -size +50M -size -100M

34,查找根目錄下大小超過100M的文件刪除

查找根目錄下大小為100M的文件刪除。

# find / -size +100M -exec rm -rf {} \;

35,查找根目錄下格式為MP3並且大小超過10M的文件並刪除

查找根目錄下格式為MP3並且大小超過10M的文件並刪除。

# find / -type f -name *.mp3 -size +10M -exec rm {} \;


免責聲明!

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



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