首頁 > 軟體

5分鐘學會find命令

2020-06-16 17:28:57

find的使用格式如下:

  $ find <指定目錄> <指定條件> <指定動作>

  - <指定目錄>: 所要搜尋的目錄及其所有子目錄。預設為當前目錄。

  - <指定條件>: 所要搜尋的檔案的特徵。

  - <指定動作>: 對搜尋結果進行特定的處理。

如果什麼引數也不加,find預設搜尋當前目錄及其子目錄,並且不過濾任何結果(也就是返回所有檔案),將它們全都顯示在螢幕上。

1.當前目錄下查詢檔案

[root@linuxidc.com ~]# find . -name test.txt 
./findtest/test.txt

2.指定目錄下查詢

[root@linuxidc.com ~]# find /root/ -name test.txt
/root/findtest/test.txt

3.忽略大小寫查詢

[root@linuxidc.com ~]# find /root -iname test.txt
/root/findtest/test.txt
/root/findtest/TEST.txt

4.查詢目錄

[root@linuxidc.com ~]# find / -type d -name test
/usr/lib64/Python2.7/unittest/test
/usr/lib64/python2.7/test
/usr/src/kernels/3.10.0-229.14.1.el7.x86_64/include/config/test
/usr/src/kernels/3.10.0-229.14.1.el7.x86_64/lib/raid6/test

5.按名稱查詢php檔案

[root@linuxidc.com zabbix]# find . -type f -name events.php 
./events.php

6.在目錄中查詢所有的php檔案

[root@linuxidc.com zabbix]# find . -type f -name "*.php"
./graphs.php
./tr_logform.php
./authentication.php
./popup_httpstep.php
./image.php
..........

7.查詢檔案許可權是777的

[root@linuxidc.com ~]# find . -type f -perm 0777 -print
./findtest/test.txt

8.查詢檔案許可權不是777的

[root@linuxidc.com ~]# find . -type f ! -perm 0777 -print

9.查詢644許可權的SGID檔案

[root@linuxidc.com ~]# find / -perm 2644

10.查詢許可權為551的黏著位檔案

[root@linuxidc.com ~]# find / -perm 1551

11.查詢所有SUID檔案

root@linuxidc.com ~]# find / -perm /u=s

12.查詢所有SGID檔案

[root@linuxidc.com ~]# find / -perm /g+s

13.查詢所有唯讀檔案

[root@linuxidc.com ~]# find / -perm /u=r

14.查詢所有可執行檔案

[root@linuxidc.com ~]# find / -perm /a=x

15.查詢所有777檔案,並改為644

反斜槓用來告訴find何時命令結束

[root@linuxidc.com ~]# find / -type f -perm 0777 -print -exec chmod 644 {} ;

16.查詢所有777的目錄,並改為755

[root@linuxidc.com ~]# find / -type d -perm 777 -print -exec chmod 755 {} ;

17.查詢並刪除某個檔案

[root@linuxidc.com ~]# find . -type f -name "test.txt" -exec rm -f {} ;

18.查詢並刪除多個檔案

[root@linuxidc.com ~]# find . -type f -name "*.txt" -exec rm -f {} ;

19.查詢所有的空檔案

[root@linuxidc.com ~]# find /tmp -type f -empty

20.查詢所有空目錄

[root@linuxidc.com ~]# find /tmp -type d -empty

21.查詢所有隱藏檔案

[root@linuxidc.com ~]# find /tmp -type f -name ".*"

22.根據使用者查詢某個檔案

[root@linuxidc.com ~]# find / -user root -name test.txt

23.根據使用者查詢所有的檔案

在/home下屬於某個使用者的所有檔案

[root@linuxidc.com ~]# find /home -user zabbix
/home/zabbix
/home/zabbix/.bash_history
/home/zabbix/.config
/home/zabbix/.config/abrt
/home/zabbix/mysql-community-release-el7-5.noarch.rpm
/home/zabbix/.lesshst
/home/zabbix/.cache
/home/zabbix/.cache/abrt
/home/zabbix/.cache/abrt/lastnotification
/home/zabbix/.bash_logout
/home/zabbix/.viminfo
/home/zabbix/.mysql_history
/home/zabbix/.bashrc
/home/zabbix/.bash_profile

24./home目錄下查詢某個組的所有檔案

[root@linuxidc.com ~]# find /home -group developer

25./home目錄下忽略大小寫查詢使用者zabbix的所有檔案

[root@linuxidc.com ~]# find /home -user zabbix -iname "*.txt"

26.查詢50天之內修改過的檔案

[root@linuxidc.com ~]# find / -mtime 50

27.查詢50天之內被存取過的檔案

[root@linuxidc.com ~]# find / -atime 50

28.查詢50-100天之內修改過的檔案

[root@linuxidc.com ~]# find / -atime +50 -mtime -100

29.查詢1個小時之內有變化的檔案

[root@linuxidc.com ~]# find / -cmin -60

30.查詢1個小時之內修改過的檔案

[root@linuxidc.com ~]# find / -mmin -60

31.查詢1個小時之內被存取過的檔案

[root@linuxidc.com ~]# find / -amin -60

32.查詢所有的50M大小的檔案

[root@linuxidc.com ~]# find / -size 50M

33.查詢50-100M之間的檔案

[root@linuxidc.com ~]# find / -size +50M -size -100M

34.查詢並刪除100M大小的檔案

[root@linuxidc.com ~]# find / -size +100M -exec rm -rf {} ;

35.查詢並刪除指定型別,指定大小的檔案

[root@linuxidc.com ~]# find / -type f -name *.mp3 -size +10M -exec rm {} ;

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-11/137051.htm


IT145.com E-mail:sddin#qq.com