Linux find 命令詳解

2022-05-07 03:06:09 字數 2494 閱讀 7286

簡介:

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

語法:

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

引數說明:

-name: 按照檔名查詢。

-iname:按照檔名查詢,忽略大小寫。

-perm: 按照檔案許可權來查詢檔案。

-user: 按照檔案屬主來查詢檔案。

-group:按照檔案所屬的組來查詢檔案。

-mtime -n +n:按照檔案更改時間來查詢。【-7:7天之內;+7

:7天前】

-nogroup:查詢無效屬組的檔案。

-nouser: 查詢無效屬主的檔案。

-newer file1 !file2 查詢更改時間比檔案 file1 新,但比 file2 舊的檔案。

-type:查詢某一型別的檔案,如:

b:塊裝置檔案

d:目錄

f:普通檔案

c:字元裝置檔案

p:管道檔案

s:socket

-size n:[c] 查詢檔案長度為n塊的檔案,帶有c表示檔案長度以位元組計算。

-depth: 查詢檔案時,首先查詢當前目錄中檔案,然後再查詢子目錄中檔案。

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

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

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

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

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

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

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

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

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

你可以使用 ( ) 將表示式分隔,並使用下列運算。

exp1 -and exp2

!expr

-not expr

exp1 -or exp2

exp1, exp2

注釋:a表示access c表示create m表示modify

查詢普通檔案和目錄:

find /home/yoon -type f  (普通檔案)

find /home/yoon -type d (普通目錄)

只顯示1級目錄檔案且過濾自身:

find ./ -maxdepth 1  -type d  ! -name "

hankyoon

"

查詢一天內被訪問過的檔案:

find /home/yoon -atime -1 -type f

除了某個檔案以為,其餘的均刪除:

find /home/yoon -type f ! -name 1.sql -and -type f ! -name 1.sql | xarges rm -rf

ls | grep -v "

yoon.txt

" | xarges rm -rf

刪除目錄下所有檔案:

find /home/yoon -type f -exec rm -rf {} \;

find /home/yoon -type f | xarges rm -rf

刪除7天以前的普通檔案:

find /home/yoon -type f -mtime +7 -exec rm -rf {} \;

刪除7天以前的普通檔案,在刪除之前詢問它們:

find /home/yoon -type f mtime +7 -ok rm -rf {} \;

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

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

按照目錄或者檔案許可權來查詢:

find /home/yoon -perm 777

按照時間來查詢:

find / -ctime  +20

最近修改檔案時間20分鐘以前

find / -mtime +7

修改檔案為7天之前的(最重要)

find / -mtime 7

修改檔案為第7天,就是往前推7天

find / -mtime -7 修改檔案為7天之內的

Linux find命令詳解

在linux上查詢某個檔案確實是一件比較麻煩的事情。畢竟在linux中需要我們使用專用的 查詢 命令來尋找在硬碟上的檔案。linux下的檔案表達格式非常複雜,不象windows,dos下都是統一的aaa.bbb格式那麼方便查詢,在windows中,只要知道要查詢的檔案的檔名或者字尾就非常容易查詢到。...

linux find命令詳解

pathname find命令所查詢 的目錄路徑。例如用.來表示當前目錄,用 來表示系統根目錄 print find命令將匹配的檔案輸出到標準輸出 exec find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為 command 注意和 之間的空格。ok 和 exec的作用相同,...

Linux find命令詳解

用法總結如下 find pathname options print exec ok pathname 查詢路徑 option 主要選項如下 name 按照檔名稱查詢 perm 按照檔案許可權查詢 prune 不在當前指定的路徑查詢。如果同時指定了 depth選項,則prune被忽略 user 按照...