day 17 find命令詳解

2022-03-15 13:32:30 字數 3078 閱讀 7455

find 的基本概述

可以根據檔案的名稱、檔案大小、檔案的修改時間、檔案的型別、

檔案的許可權、檔案的屬主屬組、檔案的目錄層級進行查詢

find的語法:

命令 路徑 選項 表示式 動作

查詢 地區 妹子 18-25 約

find中特殊符號說明:
.               # 在find中沒有特殊意思就是自己本身符號.

* # 所有

? # 匹配任意乙個字元 只能匹配乙個

# 匹配中括號中的任意乙個字元

[^] # 排除中括號中的字元

linux常用萬用字元詳細鏈結

一,name根據檔名稱查詢

選項:

-name # 根據名稱查詢

-i # 忽略大小寫 -iname

例項:

[root@localhost ~]# find ./ -name 1.txt  # 根據檔名在當前目錄下查詢1.txt
二,type根據檔案型別查詢
選項:

-type # 根據型別進行查詢

f # 普通檔案

d # 目錄

l # 軟鏈結

s # 套接字 socket檔案

p # 管道檔案

b # 塊裝置 硬碟 硬碟分割槽 映象光碟

c # 字元裝置

# 查詢所有的普通檔案,包括隱藏檔案,也包括自己本身

例項:

#  查詢當前目錄下型別為普通檔案的檔案(包括隱藏檔案也查詢出來)

[root@localhost ~]# find ./ -type f

./file8

./.bash_logou

三,size根據檔案的大小查詢
選項:

-size # 根據檔案大小查詢

+n # 大於

-n # 小於

n # 精確匹配

c b k m g # 單位

# 按檔案大小查詢的時候 會進製匹配 比如按m查詢的時候不足一兆的也算1兆

# 像1.1兆也算兩兆 或者3.1算4兆 依次類推

例項:

#  匹配小於1k的檔案

[root@localhost ~]# find ./ -type f -size -1k

./file8

./file9

四,mtime根據檔案的時間查詢
選項:

-mtime # 最後修改時間

+n # 多少天以前

-n # 多少天以內

n # 具體某一天

五,perm根據檔案的許可權查詢
選項:

-perm # 根據許可權查詢

-421 # 包含這些許可權

421 # 精確匹配

/421 # 包含其中的某個許可權 三個身份中滿足乙個則匹配

! # 取反

例項:

#  查詢/etc目錄下所有使用者都沒有寫許可權的檔案 

find /etc/ -type f ! -perm /222 -ls

# /222表示三個身份中滿足乙個寫許可權則匹配

# 加!相反的意思就是只要有乙個使用者有寫許可權則不匹配(剛好滿足題意)

# 此題有點繞 好好想想應該能理解出來

# 查詢/etc目錄下至少有一類使用者沒有寫許可權的檔案

find /etc/ -type f ! -perm 222 # 222 表示精確匹配三個身份都要滿足有寫許可權

# 取反的意思就是至少有一類使用者沒有寫許可權的檔案就匹配

六,user group根據檔案的屬主屬組查詢
選項:

-user # 根據屬主

-group # 根據屬組選項:

-user # 根據屬主

-group # 根據屬組

-nouser # 沒有屬主

-nogroup # 沒有屬組

-nouser # 沒有屬主

-nogroup # 沒有屬組

例項:

# 在根下查詢 屬主是root 或者 屬主是test 使用者的檔案 只要滿足乙個條件則匹配

find / \( -user root -o -user test \)

# -o或則要用()包起來跟其他選項區分 不加()有時候容易混淆

七 maxdepth根據檔案的目錄層級查詢
選項:

-maxdepth # 最大的目錄層級

例項:

#  在根目錄下查詢檔案名字為'hostname'的檔案最大的目錄層級不能超過兩層

find / -type f -maxdepth 2 -name 'hostname'

八,motion 根據動作來執行
動作(放在檔案的最後):

-print # 預設的動作 列印你所查詢出來的檔案的名稱

-ls # 把查詢出來的檔案以長格形式顯示出來檔案的詳細資訊

-delete # 把查詢出來的檔案進行刪除 只能刪除空目錄

-exec # 後面加自定義的shell命令

例項:

# 在根目錄下查詢包含test暱稱的檔名並刪除

find / -type f -name '*test*' -exec rm -f {} \;

# -exec 找到的檔案執行shell命令 {}表示前面匹配到條件的檔案

# \;轉義分隔符 表示命令的結束 不轉移在-exec動作眼裡表示shlle命令語句還沒有寫完

十,find跟xargs命令的配合
# finde 命令執行後的結果通過管道交給後面的命令執行需要用到xargs支援

day 17 find 相關作業

1.找出 tmp目錄下,屬主不是root,且檔名不以f開頭的檔案 find tmp type f user root name f 2.查詢 etc 目錄下,所有.conf字尾的檔案 find etc type f name conf 3.查詢 var目錄下屬主為root,且屬組為mail的所有檔案...

find命令詳解

2009 07 30 17 20 34 閱讀255 字型大小 大 中小訂閱 find命令 一 原理 功能 在目錄結構中搜尋檔案,並執行指定的操作。此命令提供了相當多的查詢條件,功能很強大。語法 find 起始目錄 尋找條件 操作 1 查詢目錄 find home type d name quejin...

find命令詳解

linux下的find命令的查詢功能十分強大,下面詳細介紹find的大多數用法 工作方式 沿著檔案層次結構向下遍歷,匹配符合條件的檔案,並執行相應的操作。1.根據檔案時間搜尋 atime access time,訪問時間 即上次訪問這個檔案的時間 mtime modification time,修改...