1. 程式人生 > >Linux查找命令

Linux查找命令

現在 ati -m 數據 follow 則表達式 分鐘 普通 大小

Linux查找命令

find命令

==基本格式==find path experssion

==選項==

  • -amin<分鐘>:查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算;
  • -anewer<參考文件或目錄>:查找其存取時間較指定文件或目錄的存取時間更接近現在的文件或目錄;
  • -atime<24小時數>:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算;
  • -cmin<分鐘>:查找在指定時間之時被更改過的文件或目錄;
  • -cnewer<參考文件或目錄>查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
  • -ctime<24小時數>:查找在指定時間之時被更改的文件或目錄,單位以24小時計算;
  • -daystart:從本日開始計算時間;
  • -depth:從指定目錄下最深層的子目錄開始查找;
  • -expty:尋找文件大小為0 Byte的文件,或目錄下沒有任何子目錄或文件的空目錄;
  • -exec<執行指令>:假設find指令的回傳值為True,就執行該指令;
  • -false:將find指令的回傳值皆設為False;
  • -fls<列表文件>:此參數的效果和指定“-ls”參數類似,但會把結果保存為指定的列表文件;
  • -follow:排除符號連接;
  • -fprint<列表文件>:此參數的效果和指定“-print”參數類似,但會把結果保存成指定的列表文件;
  • -fprint0<列表文件>:此參數的效果和指定“-print0”參數類似,但會把結果保存成指定的列表文件;
  • -fprintf<列表文件><輸出格式>:此參數的效果和指定“-printf”參數類似,但會把結果保存成指定的列表文件;
  • -fstype<文件系統類型>:只尋找該文件系統類型下的文件或目錄;
  • -gid<群組識別碼>:查找符合指定之群組識別碼的文件或目錄;
  • -group<群組名稱>:查找符合指定之群組名稱的文件或目錄;
  • -help或——help:在線幫助;
  • -ilname<範本樣式>:此參數的效果和指定“-lname”參數類似,但忽略字符大小寫的差別;
  • -iname<範本樣式>:此參數的效果和指定“-name”參數類似,但忽略字符大小寫的差別;
  • -inum
  • -ipath<範本樣式>:此參數的效果和指定“-path”參數類似,但忽略字符大小寫的差別;
  • -iregex<範本樣式>:此參數的效果和指定“-regexe”參數類似,但忽略字符大小寫的差別;
  • -links<連接數目>:查找符合指定的硬連接數目的文件或目錄;
  • -iname<範本樣式>:指定字符串作為尋找符號連接的範本樣式;
  • -ls:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出;
  • -maxdepth<目錄層級>:設置最大目錄層級;
  • -mindepth<目錄層級>:設置最小目錄層級;
  • -mmin<分鐘>:查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算;
  • -mount:此參數的效果和指定“-xdev”相同;
  • -mtime<24小時數>:查找在指定時間曾被更改過的文件或目錄,單位以24小時計算;
  • -name<範本樣式>:指定字符串作為尋找文件或目錄的範本樣式;
  • -newer<參考文件或目錄>:查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
  • -nogroup:找出不屬於本地主機群組識別碼的文件或目錄;
  • -noleaf:不去考慮目錄至少需擁有兩個硬連接存在;
  • -nouser:找出不屬於本地主機用戶識別碼的文件或目錄;
  • -ok<執行指令>:此參數的效果和指定“-exec”類似,但在執行指令之前會先詢問用戶,若回答“y”或“Y”,則放棄執行命令;
  • -path<範本樣式>:指定字符串作為尋找目錄的範本樣式;
  • -perm<權限數值>:查找符合指定的權限數值的文件或目錄;
  • -print:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出。格式為每列一個名稱,每個名稱前皆有“./”字符串;
  • -print0:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出。格式為全部的名稱皆在同一行;
  • -printf<輸出格式>:假設find指令的回傳值為Ture,就將文件或目錄名稱列出到標準輸出。格式可以自行指定;
  • -prune:不尋找字符串作為尋找文件或目錄的範本樣式;
  • -regex<範本樣式>:指定字符串作為尋找文件或目錄的範本樣式;
  • -size<文件大小>:查找符合指定的文件大小的文件;
  • -true:將find指令的回傳值皆設為True;
  • -typ<文件類型>:只尋找符合指定的文件類型的文件;
  • -uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄;
  • -used<日數>:查找文件或目錄被更改之後在指定時間曾被存取過的文件或目錄,單位以日計算;
  • -user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;
  • -version或——version:顯示版本信息;
  • -xdev:將範圍局限在先行的文件系統中;
  • -xtype<文件類型>:此參數的效果和指定“-type”參數類似,差別在於它針對符號連接檢查。

1.按照文件名查找

find / -name + file_name //在整個目錄下查找file_name的文件

find . -iname ‘arm*‘ //在當前目錄下查找文件名開頭是arm的文件,忽略大小寫

2.按照文件類型查找

find . -type 類型參數

==類型參數==

  • f 普通文件
  • l 符號連接
  • d 目錄
  • c 字符設備
  • b 塊設備
  • s 套接字
  • p Fifo

grep命令

==基本格式==:grep match_pattern file_name

==選項==

  • -a 不要忽略二進制數據。
  • -A<顯示列數> 除了顯示符合範本樣式的那一行之外,並顯示該行之後的內容。
  • -b 在顯示符合範本樣式的那一行之外,並顯示該行之前的內容。
  • -c 計算符合範本樣式的列數。
  • -C<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。
  • -d<進行動作> 當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep命令將回報信息並停止動作。
  • -e<範本樣式> 指定字符串作為查找文件內容的範本樣式。
  • -E 將範本樣式為延伸的普通表示法來使用,意味著使用能使用擴展正則表達式。
  • -f<範本文件> 指定範本文件,其內容有一個或多個範本樣式,讓grep查找符合範本條件的文件內容,格式為每一列的範本樣式。
  • -F 將範本樣式視為固定字符串的列表。
  • -G 將範本樣式視為普通的表示法來使用。
  • -h 在顯示符合範本樣式的那一列之前,不標示該列所屬的文件名稱。
  • -H 在顯示符合範本樣式的那一列之前,標示該列的文件名稱。
  • -i 忽略字符大小寫的差別。
  • -l 列出文件內容符合指定的範本樣式的文件名稱。
  • -L 列出文件內容不符合指定的範本樣式的文件名稱。
  • -n 在顯示符合範本樣式的那一列之前,標示出該列的編號。
  • -q 不顯示任何信息。
  • -R/-r 此參數的效果和指定“-d recurse”參數相同。
  • -s 不顯示錯誤信息。
  • -v 反轉查找。
  • -w 只顯示全字符合的列。
  • -x 只顯示全列符合的列。
  • -y 此參數效果跟“-i”相同。
  • -o 只輸出文件中匹配到的部分。

==examples==

grep "match_pattern" file_1 file_2 file_3//在多個文件中查找匹配項

grep -v "match_pattern" file_name //匹配項之外的所有行

echo this is a test line. | grep -o -E "[a-z]+." //-o 只輸出文件中匹配到的部分 -E 正則表達式選項

grep "text" . -r -n //遞歸搜索文件

echo this is a text line | grep -e "is" -e "line" -o -n //匹配多個選項,輸出匹配項的行數

Linux查找命令