1. 程式人生 > >[一天幾個linux命令] find

[一天幾個linux命令] find

find

名稱

find - 在目錄樹中搜索檔案

使用

-name 正則表示式

基於檔名搜尋(檔案前的目錄會被忽略),正則與shell的正則一樣。因為檔案前的目錄會被忽略,所以查詢的檔名中永遠不要包括’/’,因此’-name a/b’查詢不到任何東西(你可能需要使用**-path**)。

查詢當前目錄以及子目錄下以zip結尾的檔案

[[email protected] ~]$ find . -name "*.zip"
./rocketmq-all-4.2.0-bin-release.zip

查詢當前目錄以及子目錄下以sh結尾的檔案

[[email protected]
~]$ find . -name "*.sh" ./rocketmq/benchmark/producer.sh ./rocketmq/benchmark/tproducer.sh ./rocketmq/benchmark/consumer.sh ./rocketmq/benchmark/runclass.sh ./rocketmq/bin/setcache.sh ./rocketmq/bin/cachedog.sh ./rocketmq/bin/cleancache.sh ./rocketmq/bin/cleancache.v1.sh ./rocketmq/bin/play.sh ./rocketmq/bin/tools.sh ./rocketmq/bin/os.sh ./rocketmq/bin/startfsrv.sh ./rocketmq/bin/runbroker.sh ./rocketmq/bin/runserver.sh

-path 正則表示式

'/‘或’.'不會被視為萬用字元

-user 使用者名稱

搜尋屬於指定使用者的檔案(允許使用使用者ID)

查詢當前目錄及子目錄下屬性root的檔案

[[email protected] ~]$ find -user root
./.bin/nginx
./shell_test/tar/test01/etc.tar.bz2
./shell_test/ln/test01/b

-mtime 數字

以檔案更改時間查詢

在當前目錄下查詢更改時間在5天以內的檔案

[[email protected] ~]$ find ./ -mtime -5
./
./.config/dconf
./.config/dconf/user
./.config/nautilus
./.config/nautilus/desktop-metadata
./.lesshst

在當前目錄下查詢更改時間在3天之前的檔案

[[email protected] ~]$ find ./ -mtime +3

-type c

以檔案型別查詢

檔案的型別

b block (buffered) special
c character (unbuffered) special
d directory
p named pipe (FIFO)
f regular file
l 連結檔案
s socket
D door (Solaris)

在當前目錄下查詢型別是連結的檔案

[[email protected] ~]$ find ./ -type l

-size n[cwbkMG]

以檔案大小查詢

b 512b(預設)
c bytes
w 2bytes
k 1024bytes
M 1024Kb
G 1024Mb

未完待續