當前位置:生活全書館 >

IT科技

> linux的find命令詳解

linux的find命令詳解

1、語法:

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

path :  find命令所查詢的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。

-print:find命令將匹配的檔案輸出到標準輸出。

-exec:find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為'command' { } ;,注意{ }和;之間的空格。

-ok:和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓使用者來確定是否執行。

2、引數說明:

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

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

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

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

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

-ctime n :在過去n天內被修改過的檔案

注意:以上+n表示n以前,-n 表示n以內

-empty :空的檔案-gid n or -groupname : 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。

-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

3、例項:

將目前目錄及其子目錄下所有延伸檔名是c的檔案列出來。

# find . -name "*.c"

將目前目錄其其下子目錄中所有一般檔案列出

# find . -type f

將目前目錄及其子目錄下所有最近20天內更新過的檔案列出

# find . -ctime -20

查詢/var/log目錄中更改時間在7日以前的普通檔案,並在刪除之前詢問它們:

# find /var/log -type f -mtime +7 -ok rm {};

查詢前目錄中檔案屬主具有讀、寫許可權,並且檔案所屬組的使用者和其他使用者具有讀許可權的檔案:

# find . -type f -perm 644 -exec ls -l {};

為了查詢系統中所有檔案長度為0的普通檔案,並列出它們的完整路徑:

# find / -type f -size 0 -exec ls -l {} ;

linux的find命令詳解

標籤: linux 命令
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/1p10y8.html