1. 程式人生 > >Linux中find命令基本使用方法

Linux中find命令基本使用方法

Linux中find命令是系統中查詢檔案的命令,可以幫助使用者快速找出自己所需要的檔案。

  1. 通過檔名查詢
find -name 檔名
find /etc/ -name passwd ###查詢/etc目錄下的passwd

在這裡插入圖片描述

  1. 通過檔案巢狀層數查詢
find -maxdepth	層數	###查詢檔案時最大層數
find -mindepth 	層數	###查詢檔案時最小層數

例;
我們查詢/etc中所有.conf檔案,可以看到,這些檔案有的在/etc目錄下,有的在/etc目錄的子目錄或者子子目錄中
在這裡插入圖片描述

通過檔案巢狀層數查詢
在這裡插入圖片描述

在這裡插入圖片描述

  1. 通過檔案所屬組或檔案所有人查詢
find -user 所有人
find -group 所屬組
find -user 所有人 -group 所有組	###查詢屬於該所有人並且是該所有組的檔案	
find -user 所有人 -o -group 所有組	###查詢屬於該所有人或者屬於該所有組的檔案	
find -not -user 所有人	###查詢不屬於該所有人的其他檔案
find -not -user 所有人1 -o -user 所有人2	###檢視不屬於所有人1或者屬於所有人2的檔案

例:
先建立一組檔案,為了便於觀察,通過watch -n 1 'ls -lR /mnt'監控這些檔案

在這裡插入圖片描述

find  /mnt/ -user student	###查詢/mnt目錄下屬於student使用者的檔案

在這裡插入圖片描述

find /mnt/ -group test	###查詢/mnt目錄下所有組為test的檔案

在這裡插入圖片描述

find /mnt/ -user student -group test	###查詢屬於student使用者並且是test組的檔案

在這裡插入圖片描述

find /mnt/ -user student -o -group test	###查詢屬於student使用者或者是test組的檔案

在這裡插入圖片描述

find /mnt/ -not -user student 	###查詢不屬於student使用者的檔案 

在這裡插入圖片描述

  1. 通過檔案大小查詢
find -size 檔案大小	###查詢指定檔案大小檔案
find -size -檔案大小	###查詢小於指定檔案大小的檔案
find -size +檔案大小	###查詢大於指定檔案大小的檔案

例:
這裡我們先擷取三個大小不同的檔案

dd if=/dev/zero of=/mnt/file1 bs=1 count=10240
dd if=/dev/zero of=/mnt/file2 bs=1 count=20480
dd if=/dev/zero of=/mnt/file3 bs=1 count=40960

在這裡插入圖片描述

在/mnt目錄下查詢大小為20K的檔案
在這裡插入圖片描述

在/mnt目錄下查詢小於20K的檔案
在這裡插入圖片描述

在/mnt目錄下查詢大於20K的檔案

在這裡插入圖片描述

  1. 按檔案修改時間查詢
find -cmin 1	###查詢修改時間為1min的檔案
find -cmin -1	###查詢修改時間小於1min的檔案
find -cmin +1	###查詢修改時間大於1min的檔案

例:
查詢修改時間為1min的檔案
在這裡插入圖片描述

查詢修改時間為小於1min的檔案

在這裡插入圖片描述

查詢修改時間大於1min的檔案
在這裡插入圖片描述

  1. 通過檔案型別查詢
find -type 型別
f:檔案| l:軟連結| d:目錄| c:字元裝置| b:快裝置| s:套接字

例:
查詢/mnt下的檔案
在這裡插入圖片描述

查詢/mnt下的目錄
在這裡插入圖片描述

  1. 通過檔案許可權查詢
find -perm 444	###查詢許可權值為444的檔案
find -perm /444	###查詢檔案所有人有讀許可權,或所有組有讀許可權,或者其他人有讀許可權的檔案
find -perm -444	###檢視檔案所有人有讀許可權,並且所有組有讀許可權,並且其他人有讀許可權的檔案

例:
查詢許可權值為444的檔案

在這裡插入圖片描述
在這裡插入圖片描述

查詢檔案所有人有讀許可權,或所有組有讀許可權,或者其他人有讀許可權的檔案

在這裡插入圖片描述

檢視檔案所有人有讀許可權,並且所有組有讀許可權,並且其他人有讀許可權的檔案

在這裡插入圖片描述

  1. 查詢到檔案後,如果需要進一步操作,比如複製,檢視,則需要使用到-exec 引數
find -exec 命令	 {} \;	###{}表示前面find查找出的檔案

例:
查詢根目錄下屬於mail組中的檔案,將其拷貝到/mnt目錄下

find / -group mail -exec cp -rp {} /mnt \;

在這裡插入圖片描述