find命令詳解及使用方法

2021-10-05 23:04:22 字數 1636 閱讀 4672

linux find命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。

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

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

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

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

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

引數說明:

-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

例項:將目前目錄及其子目錄下所有延伸檔名是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 {} ;

find命令使用方法

find 通過遍歷指定的目標目錄,實時查詢符合指定屬性的檔案 優點 精確匹配進行查詢 缺點 速度略慢 用法 find option 查詢路徑 查詢條件 處理動作 查詢路徑 預設為當前路徑 查詢條件 預設為指定路徑下的所有檔案 處理動作 預設是在螢幕顯示出來 查詢條件 name 查詢時區別檔案大小寫,...

Linux awk命令詳解及使用方法

awk 針對列 1.語法格式 awk 選項 條件 檔名 處理文字時,若未指定分隔符,則預設將空格 製表符等作為分隔符。1 指定空格為分隔符 指令 print awk a.txt 2 指定冒號 為分隔符 選項 f 指定分隔符 3 指定 為分隔符,將分為五部分,提取bin為第三列 usr bin ech...

find命令詳解及使用示例

用法 find 使用說明 將檔案系統內符合 expression 的檔案列出來。你可以指要檔案的名稱,類別,時間,大小,許可權等不同資訊的組合,只有完全相符的才會被列出來。find 根據下列規則判斷 path 和 expression,在命令列上第乙個 之前的部份為 path,之後的是 expres...