超詳細find命令解析,一遍就會!!!

2021-10-10 05:59:07 字數 2802 閱讀 1291

1.3處理動作

2示例在linux中一切皆檔案,我們先需要在大量的檔案中找到我們需要的檔案就需要查詢命令,find命令是查詢檔案的乙個很好的命令

find

語法格式:find   [option]   查詢路徑  查詢條件   處理動作
預設從當前所在目錄向下查詢,即相對路徑,也可以使用絕對路徑
想要查詢的檔案所具有的特點、屬性

選項描述

name

後面跟檔名,支援萬用字元模糊查詢

iname

後面跟檔名,支援萬用字元,忽略大小寫

inum

後面跟檔案的inode號,基於inode查詢

samefile

後面跟檔名,查詢與其inode相同的檔案,即硬鏈結

links #

後面跟數字,查詢硬連線數為# 的檔案

選項描述

user

後面跟使用者名稱,查詢屬主owner相同的檔案

group

後面跟使用者名稱,查詢屬組相同的檔案

uid #

查詢使用者uid是#的檔案

gid #

查詢使用者gid是#的檔案

nouser

查詢沒有屬主owner的檔案

nogroup

查詢沒有屬組group的檔案

-type

f:普通檔案

d:目錄檔案

l:鏈結檔案

s:套接字檔案

c:字元裝置檔案

b:塊裝置檔案

p:管道檔案

-size [+|-]#

#為檔案大小

單位

c:位元組

b:塊(512位元組)

w:字(2位元組)

k:千位元組

m:兆位元組

g:吉位元組

引數描述#

(#-1,#] :大於#且大小不超過1個同樣單位大小的檔案

-#[0,#-1):小於#-1的檔案

+#(#.00):大於#的檔案

1.以天為單位

-atime [+|-]#:表示訪問時間

-mtime [+|-]#:表示資料修改時間

-ctime [+|-]#:表示與元資料修改時間

引數描述#

[#,#+1)第幾天

-#[0,#)多少天之內

+#[#+1.∞)多少天之前

2.以分鐘為單位

-amin [+|-]#:表示訪問時間

-mmin [+|-]#:表示資料修改時間

-cmin [+|-]#:表示與元資料修改時間

引數描述#

[#,#+1)第幾分鐘

-#[0,#)多少分鐘之內

+#[#+1.∞)多少分鐘之前

-perm

語法:

find -perm mode / 精準匹配

find -perm -mode / 滿足乙個就可以,或關係

mode----->>755 644 rwx

-maxdepth   level  最大搜尋深度

find -maxdepth 2 / 從當前目錄開始向下最多搜尋2層,包括第二層

-mindepth level 最小搜尋深度

find -mindepth 2 / 從當前目錄向下的第二層目錄開始搜尋,不包括第二層

與:-a     	//	不加也預設為加了-a

或:-o //字面意思,乙個或者另乙個

非:-not 或者 ! //在所選範圍外

-print 預設動作,把查詢到的內容輸出到螢幕上

-exec command {} \;:

將前面查詢到的檔案當做後面command(命令)的引數,{}表示前面find查詢到的檔案,後面的\;是結束符不能少

-ok command {} \;:與-exec用法一樣,在執行後面command命令時會給出提示,要不要執行

-xargs:傳遞引數,「|xargs」將find查詢到的檔案乙個乙個的傳遞給後面的命令當做引數

-delete:直接刪除查詢到的檔案,不詢問

> file:將查詢到的檔案重定向到新的檔案中

1.查詢家目錄下其他人有寫許可權的檔案,取消其寫許可權

find /root -perm -002 -exec chmod o-2 {} \;
2.查詢/data下許可權是644且以.sh結尾的普通文間件,修改許可權為755

find /data -perm 644 -name "*.sh" -exec chmod 755 {} \;
3.查詢當前系統上沒有屬主或屬組,且最近乙個週內曾被訪問過的檔案

find / -nouser -o -nogroup -atime -7
4.查詢/etc目錄下所有使用者都沒有寫許可權的檔案

find /etc ! -perm 222 -ls

find /etc ! -perm 222 -exec ls {} \;

5.查詢/etc目錄下至少有一類使用者沒有執行許可權的檔案

find /etc ! -perm -111 -ls	// -111代表三個1最少選乙個

必看 Linux bash基礎特性一遍就會!

bash是乙個命令處理器,通常執行於文字視窗中,並能執行使用者直接輸入的命令。bash還能從檔案中讀取命令,這樣的檔案稱為指令碼。和其他unix shell 一樣,它支援檔名替換 萬用字元匹配 管道 here文件 命令替換 變數,以及條件判斷和迴圈遍歷的結構控制語句。包括關鍵字 語法在內的基本特性全...

一遍成功的ROS主從機詳細配置

ros支援多機互通,可以設定一台主機,多台從機,主機中執行roscore,啟動master節點,從機直接執行其他節點,在配置好的機器之間就可以互相通訊了,就像在同一臺機器上一樣。具體應該如何配置呢?下面看下詳細步驟 1 ip設定 乙個主機,多個從機,每個先都設定為同一網段下固定ip。2 修改 bas...

find命令解析(不一樣的查詢)

find命令解析 不一樣的查詢 linux中,全部內容都是以檔案的形式存在的,這就意味著所有檔案的數量也是驚人的,我們如何在天文數字般的檔案中找到我們需要的檔案呢?這就要用到檔案查詢命令,本次我們就 一下其中的find命令。find的特性 www.2cto.com 在檔案查詢命令中不僅有find命令...