linux怎麼使用find命令
- IT科技
- 關注:2.72W次
Linux中find的使用法?
作業系統:centos7
軟體版本 :find4.6
裝置型號:ThinkPad E15
find命令用於查詢指定目錄下的檔案,同時也可以呼叫其它命令執行相應的操作。
find語法格式:find 路徑名稱 選項
find命令選項:
-name 按照檔名查詢檔案。 “名稱”
-perm 按照檔案許可權來查詢檔案。666 777 等
-user 按照檔案屬主來查詢檔案
-group 按照檔案所屬的組來查詢檔案
-mtime -n / +n 按照檔案的更改時間來查詢檔案,
- n表示檔案更改時間距現在n天以內
+ n表示檔案更改時間距現在n天以前
-type 查詢某一類型的檔案
b - 塊裝置檔案
d - 目錄
c - 字元裝置檔案
p - 管道檔案
l- 符號連結檔案
f - 普通檔案
-size n 查詢符合指定的檔案大小的檔案
-exec 對匹配的檔案執行該引數所給出的其他linux命令, 相應命令的形式為' 命令 {} ;,注意{ }和 ;之間的空格,{}代表查到的內容
例1:查詢當前目錄下所有的TXT格式的檔案
[root@xuegod63 ~]# touch a.txt xuegod.txt
[root@xuegod63 ~]# find . -name "*.txt"
。。。
./a.txt
./xuegod.txt
2、按照更改時間或訪問時間等查詢檔案
如果希望按照更改時間來查詢檔案,可以使用mtime,atime或ctime選項
mtime: 檔案最後一次修改的時間
atime: 最後一次訪問時間
ctime: 檔案的最後一次變化時間,也就是修改時間
例1:在root目錄下查詢更改時間在1天以內,被黑客修改的檔案
[root@xuegod63 ~]# find /root/ -mtime -1
對查詢內容執行相應命令
-exec 這個選項引數後面可以跟自定義的SHELL命令,格式如下:
例2:把查詢到的檔案複製到一個指定的目錄
[root@xuegod63 ~]# touch {1,2,3}.back
[root@xuegod63 mnt]# find /root -name "*.txt" -exec cp {} /opt ;
例3:查詢多個型別檔案
find命令中比較符的使用:
-a and 並且
-o or 或者
+ 超過
- 低於
[root@xuegod63 ~]# touch a.pdf back.sh
[root@xuegod63 ~]# find ./ -name "*.sh" -o -name "*.pdf"
[root@xuegod63 ~]# find /etc -size +20k -a -size -50k | wc -l
22
[root@xuegod63 ~]# find /etc -size +20k | wc -l
49
例4: 按許可權查詢:-perm
[root@xuegod63 ~]# find /bin/ -perm 755 # 等於0755許可權的檔案或目錄
[root@xuegod63 ~]# find /bin/ -perm -644 #-perm -644 至少有644許可權的檔案或目錄
例5:查詢的目錄深度:
-maxdepth 1 #只查詢目錄第一層的檔案和目錄
如:查詢/bin目錄下許可權等於644的檔案
[root@xuegod63 ~]# find /etc/ -maxdepth 1 -perm 644 | more
總結:find命令使用方法和引數
find命令選項:
-name 按照檔名查詢檔案。 “名稱”
-perm 按照檔案許可權來查詢檔案。666 777 等
-user 按照檔案屬主來查詢檔案
-group 按照檔案所屬的組來查詢檔案
-mtime -n / +n 按照檔案的更改時間來查詢檔案,
- n表示檔案更改時間距現在n天以內
+ n表示檔案更改時間距現在n天以前
-type 查詢某一型別的檔案
b - 塊裝置檔案
d - 目錄
c - 字元裝置檔案
p - 管道檔案
l- 符號連結檔案
f - 普通檔案
-size n 查詢符合指定的檔案大小的檔案
-exec 對匹配的檔案執行該引數所給出的其他linux命令, 相應命令的形式為' 命令 {} ;,注意{ }和 ;之間的空格,{}代表查到的內容
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/06ylg.html