linux基礎之find命令詳述


find命令

1、find命令

find命令:根據文件的名稱或者屬性查找文件。

2、語法格式

find 查找范圍 參數

3、通用參數

3.1 -name

-name : 按照文件的名字查找文件,區分大小寫 (* :通配符)

# 案例1:查詢etc目錄下的hosts文件 : find /etc/ -name 'hosts'
# 案例2:查詢etc目錄下名稱中包含hosts的文件: find /etc/ -name '*hosts*'

image

3.2 -iname

-iname : 按照文件的名字查找文件,忽略大小寫 (* :通配符)

# 案例:忽略大小寫查詢etc目錄下名稱中包含hosts的文件:find /etc/ -iname '*hosts*'

3.3 -size

-size: 按文件的大小查詢
  + :大於
  - :小於
  沒有符號: 等於
    
# 案例:查找當前目錄下文件小於1M大小的文件: find ./ -size -1M

image

3.4 -mtime

-mtime : 查找最后修改時間查詢(默認按天算)
  +數字 :n 天以前的(默認+,所以可以省略)
  -數字 :n 天以內的
  
-atime: 按最后訪問時間查詢
-ctime: 按最后修改屬性時間查詢
  
  
# 案例:查找當前目錄下文件最后修改時間在1天以前的所有文件:find ./ -mtime 1

image

3.5 -user

-user : 按照用戶的屬主查詢

# 案例:查找home目錄下屬主為bgx的文件:find /home/ -user bgx

3.6 -group

-group :按照用戶的屬組查詢

# 案例7:查找home目錄下屬組為hr的文件:find /home/ -group hr

image

3.7 -type

-type : 按照文件的類型查詢
# 文件類型:
  f : 普通文件
  d : 文件夾
  l : 鏈接文件
  s : 套接字文件
  p : 管道文件
  c : 字符文件
  b :磁盤文件
  
# 案例1:按照文件類型查找當前目錄下的文件夾:find ./ -type d
# 案例2:要求把/etc目錄下,所有的普通文件打包壓縮到/tmp目錄:tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`

image

3.8 -perm

-perm : 按照文件的權限查詢(按數字權限)

# 案例9:查找當前文件中權限為755的文件:find ./ -perm 755

image

3.9 -inum

9. -inum : 按照index node號碼查詢

# 案例10:查找inode編號為17610952的文件:find ./ -inum 17610952

image

4、配合使用參數

4.1 -a

-a : 並且(可以省略,默認是-a)

4.2 -o

-o : 或者

4.3 -maxdepth

-maxdepth : 查詢目錄深度(必須放置於第一個參數)

# 案例1:查找etc目錄下目錄深度為3,名字包含ens開頭的文件:find /etc/ -maxdepth 3 -iname 'ifcfg-ens*'
# 案例2:查詢當前目錄下目錄深度為2或者文件名中以txt結尾的所有文件:find ./ -maxdepth 2 -o -name '*.txt'

# 知識儲備:
  1. dd : 生成文件(常用來造文件來測試): 
    dd if=/dev/zero of=100.txt bs=10M count=10
    if : 從什么地方讀 
    of : 寫入到什么文件
    bs : 每次寫入多少大小
    count : 寫入多少次

  2. |: 管道符,意思是把一個命令的結果交給后面一個命令處理。
  3. xarg : 把處理的文本變成以空格分割的一行
  4. `` :提前執行命令,然后將結果交給其他命令來處理

image

image

image

4.4 -exec

-exec :把find處理好的結果交給其他命令並繼續處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM