天天看點

linux檔案查找find

文法

find   path   -option   [-print][-exec-ok   command ]{} \;      

參數說明 :

find 根據下列規則判斷 path 和 expression,在指令列上第一個 - ( ) , ! 之前的部份為 path,之後的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。

expression 中可使用的選項有二三十個之多,在此隻介紹最常用的部份。

-mount, -xdev : 隻檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案

-amin n : 在過去 n 分鐘内被讀取過

-anewer file : 比檔案 file 更晚被讀取過的檔案

-atime n : 在過去 n 天内被讀取過的檔案

-cmin n : 在過去 n 分鐘内被修改過

-cnewer file :比檔案 file 更新的檔案

-ctime n : 在過去 n 天内建立的檔案

-mtime n : 在過去 n 天内修改過的檔案

-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name

-ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫

-name name, -iname name : 檔案名稱符合 name 的檔案。iname 會忽略大小寫

-size n : 檔案大小 是 n 機關,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。

-type c : 檔案類型是 c 的檔案。

d: 目錄

c: 字型裝置檔案

b: 區塊裝置檔案

p: 具名貯列

f: 一般檔案

l: 符号連結

s: socket

-pid n : process id 是 n 的檔案

你可以使用 ( ) 将運算式分隔,并使用下列運算。

exp1 -and exp2

! expr

-not expr

exp1 -or exp2

exp1, exp2

執行個體

基于大小:

  • +100k   大于100k
  • -100k   小于100k
  • 100k  等于100k
find /etc/  -type f -size +100k      

基于時間查找:

  • +7 : 7天以前
  • -7 :最近7天
  • 7:第7天
linux檔案查找find
linux檔案查找find
linux檔案查找find

基于使用者查找

linux檔案查找find

find動作處理:

linux檔案查找find
linux檔案查找find

删除檔案-exec 和 xargs指令差別

  • -exec指令是每行逐個删除 rm -f a ;rm -f b ;
  • xargs 是多個檔案一個指令 一起删除  rm -f a,b,c
  • -exec 建議使用xargs代替,xargs将所有的結果打包一起直接作為參數傳遞
linux檔案查找find

find邏輯運算符

linux檔案查找find