運維基礎命令linux find命令

目錄

1. 小聲嗶嗶

2. 超級常用命令

2.1 -name

2.2. -type 查找某一類型的文件

2.3. -exec

3. 常用的命令

3.1. -mtime -n +n 按照文件的更改時間來查找文件

3.2. -atime -n +n 按照文件的訪問時間來查找文件

3.3. -ctime -n +n 按照文件的狀態改變時間來查找文件

3.4. -maxdepth 查找最大目錄層數

3.5. -usr 按照文件所屬的用戶來查找文件

3.6. -group 按照文件所屬的用戶組來查找文件

3.7. -size n -n +n[cwbkMG] 根據文件大小查找

3.8. -perm 根據權限查找文件

4. 不常用的命令

4.1. -newer 

4.2. -nouser 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在

4.3. -nogroup 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在


1. 小聲嗶嗶

    執行find -help我們可以看到find命令的參數如下:
    

    提示中給出的參數格式是:find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
    但是在日常運維過程中我們使用的參數格式往往是find [path...] [expression]
    path就是查詢的文件路徑(find -help中的提示是默認使用當前路徑)
    expression包含的參數就很多了,我這邊只講我自己常用的和個人覺得有用的參數,純屬個人向,歡迎拍磚

2. 超級常用命令

2.1 -name

    根據文件名查找文件,
    示例:查找/bin目錄下文件名以su開始的文件

find /bin/ -name "su*"

  截圖:

    -name的參數是支持正則表達式的
    示例:例如查找/bin/目錄下以英文x到z開頭的文件  

find /bin/ -name "[x-z]*"

    截圖:

2.2. -type 查找某一類型的文件

    b:塊設備文件
    d:文件目錄
    c:字符設備文件
    p:管道文件
    l:軟鏈接文件
    f:普通文件
    s:socket文件
    示例:查找/bin目錄下的軟連接文件

find /bin/ -type l

    截圖:

2.3. -exec

    對find出的結果執行命令,如修改權限,文件刪除,文件夾下的內容查看等

    示例:修改當前類別爲普通文件的權限爲550

find ./ -type f -exec chmod 550 {} \;

    截圖:

3. 常用的命令

3.1. -mtime -n +n 按照文件的更改時間來查找文件

3.2. -atime -n +n 按照文件的訪問時間來查找文件

3.3. -ctime -n +n 按照文件的狀態改變時間來查找文件

    -n表示時間距現在n天以內,+n表示時間距現在n天以前
    示例:查詢1天內修改的文件

find ./ -mtime -1

    截圖:

3.4. -maxdepth 查找最大目錄層數

    示例:查詢當前路徑下1層目錄文件

find ./ -maxdepth 1

   截圖:

3.5. -usr 按照文件所屬的用戶來查找文件

    示例:查詢用戶屬主爲admin的文件 

find ./ -user admin

    截圖:

3.6. -group 按照文件所屬的用戶組來查找文件

    示例:查詢用戶屬主爲ops的文件   

find ./ -group ops

    截圖:

3.7. -size n -n +n[cwbkMG] 根據文件大小查找

    n:文件大小等於n的數值
    -n:文件大小小於n的數值
    +n:文件大小大於n的數值
    b: 代表 512 位元組的區塊(如果用戶沒有指定後綴,則默認爲 b)
    c: 表示字節數
    k: 表示 kilo bytes (1024字節)
    w: 字 (2字節)
    M:兆字節(1048576字節)
    G: 千兆字節 (1073741824字節)
    示例:查詢當前文件夾大小大於20k的文件

find ./ -size +20k

    截圖:

3.8. -perm 根據權限查找文件

    示例:查詢權限爲640的文件    

find ./ -perm 640

  截圖:

4. 不常用的命令

4.1. -newer 

    參數:

    file1:查找比file1新的文件 
    ! file1:查找比file1舊的文件 
    -newer file1 ! -newer file2:查找更改時間比文件file1新但比文件file2舊的文件
    示例:查詢比test.sh新比newest舊的文件

find ./ -newer test.sh ! -newer newest

4.2. -nouser 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在

find ./ -nouser

4.3. -nogroup 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在

find ./ -nogroup

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章