find命令技巧備忘

2021-10-07 01:13:50 字數 2716 閱讀 6178

find [path… ][expression]

遞迴地在層次目錄中處理檔案

-name搜尋檔名中可以包含正規表示式!

-iname測試項。'i』可以加在許多選項前面,比如-ipath,-iregex,-iwholename等等,都是表示大小寫不敏感。

#### 1-在當前目錄修改全名為test介面

find

. -name "test"

#### 2-修改名字中包含test的檔案

find

. -name "*test*"

#### 3-使用者目錄搜尋test檔案

find ~/ -name "test"

#### 1-修改當天改過檔案

find

. -ctime 0

#### 2-修改兩天前改過的檔案

find

. -ctime +2

#### 3-修改兩天內改過的檔案

find

. -ctime -2

#### 4-組合使用

find

. -ctime -3 -name "*test*"

#### 1 當前目錄遞迴搜尋root使用者的檔案

find

. -user "root"

-type c

檔案是 c 型別的。型別可取值如下:

b 特殊塊檔案(緩衝的)

c 特殊字元檔案(不緩衝)

d 目錄

p 命名管道 (fifo)

f 普通檔案

l 符號鏈結

s 套接字

d 門 (solaris 特有)

#### 1-搜尋以host結尾的目錄

find -type d -name "*host"

size選項後面可以b c w k m g幾個搜尋選項,含義看help注釋就可以很清楚理解了。

注意 只帶n表示等於;+n表示大於,-n表示小於;

-size n[cwbkmg]

file uses n units of space, rounding up. the following suffixes

can be used:

`b'    for  512-byte blocks (this is the default if no suffix is

used)

`c' for bytes

`w' for two-byte words

`k' for kibibytes (kib, units of 1024 bytes)

`m' for mebibytes (mib, units of 1024 * 1024 = 1048576 bytes)

`g' for gibibytes (gib, units of 1024 * 1024 * 1024 =

1073741824 bytes)

####

####搜尋大於500k小於2m的所有檔案!!

find -size +500k -size -2m |

xargs

ls -hl

find ./ -size +500k -size -2m |

xargs

ls -hl

-name屬於表示式中的測試項(test),但是不屬於真正的正規表示式;-regex相對於-name選項有如下優勢:

#### 1-匹配檔名和路徑全程包含linux(前)test(後)的檔案

find

. -type f -regex ".*linux.*test.*" -print

#### 2-匹配全部為數字的md檔案

find

. -regex ".*/[0-9]*.md" -print

-exec command:查詢後使用額外命令處理查詢結果

#### {}表示查詢到的結果,-exec指定額外處理命令,\為轉義字元,額外命令到\;結束

find /var -type p -exec tar -cvf test.tar \;

#### 查詢當前目錄下的檔案,並對查詢結果執行ls -l 命令

find

. -type f -exec ls -l \;

#### 查詢當前目錄下,24小時內更改過的檔案,並進行刪除操作(慎用!!!,刪除沒有提示)

find

. -type f -mtime -1 -exec rm

\;#### 查詢當前目錄下檔名以.log結尾且24小時內更改過的檔案,並進行安全刪除操作(即刪除前會進行詢

find -name "*.log" -type f -mtime -1 -ok rm

\;#### 查詢當前目錄下的以.log結尾的檔案或目錄,並移動到test目錄下

find -name "*.log" -exec mv

test \;

find 命令技巧備註

find exec rm find xargs rm rf 兩 者都可以把find命令查詢到的結果刪除,其區別簡單的說是前者是把find發現的結果一次性傳給exec選項,這樣當檔案數量較多的時候,就可能會出現 引數太多 之類的錯誤,相比較而言,後者就可以避免這個錯誤,因為xargs命令會分批次的處理...

find命令的使用技巧

find option 查詢路徑 查詢條件 處理動作 查詢條件 根據檔案名字 name 檔名稱 檔名稱可以使用glob iname 檔名稱 忽略檔名稱大小寫 根據檔案的屬主屬組 user username group groupname uid userid gid groupid nouser n...

find常用命令備忘錄

主要功能 查詢某個目錄下面的特定檔案,執行特定的操作,目前的常用的是查詢某些型別的源 中某些定義.clear findpath include src findstr runcmd grep nh find name h exec o name cpp exec o name hpp exec o ...