有時可能需要在系統中查詢具有某一特徵的檔案,find 是乙個非常有效的工具。
find pathname -options [-print -exec -ok]
讓我們來看看該命令的引數:
pathname find命令所查詢的目錄路徑。例如用
.來表示當前目錄,用
/來表示系統根目錄。
-print find命令將匹配的檔案輸出到標準輸出。
-exec find命令對匹配的檔案執行該引數所給出的
shell
命令。相應命令的形式為'command' {} /;
,注意和
/;之間的空格。
-ok
和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的
shell
命令,在執行每乙個命令之前,都會給出提示,讓使用者來確定是否執行。
find /root –name 「[a-z][a-z][0-9][0-9].txt」 –print
find /root –perm 755 –print
find /root –name 「*.txt」 –perm 755 –print
????
find /etc –user uucp –print
find /home –nouser –print
find / -mtime -5 –print /*更改時間少於5天的*/
find /var/adm –mtime +3 –print /*更改時間多於3天的*/
find /etc –newer age.awk !-newer belts.awk –exec ls –l {} /
/*查詢比
age.awk
新但比belts.awk
舊的檔案。*/
find . –newer dstamp –print
find /etc –type d –print
find . –size +1000c –print /*大於1000個位元組*/
find . –size 1000c –print /*等於1000個位元組*/
find . –size -10 –print /*小於10個塊(一塊等於512位元組)*/
find / -name 「con.file」 –depth –print
find . –name 「*.c」 –mount –print
含義:-exec,一旦find命令匹配到相應的檔案,就可以用-exec選項中的命令對其進行操作,exec選項後面跟所要執行的命令,然後是一對{},乙個空格和乙個/,最後是乙個分號。
find ./hello –name 「eee」 –exec cat {} /;
find . –name 「*.log」 –mtime +5 –ok rm {} /;
why xargs
?
:
在使用find 命令的-exec 選項處理匹配到的檔案時,find 命令將所有匹配到的檔案一起傳遞給exec 執行。有些系統對能夠傳遞給exec 的命令長度有限制,這樣find 命令執行會出現溢位錯誤。
//在目錄下查詢所有使用者具有讀寫執行許可權的檔案,並**相應的寫許可權。
find / -type f –print | xargs grep 「device」
//用grep命令在所有普通檔案中搜尋device這個詞
find . –name */ -type f –print | xargs grep 「dbo」
//用grep命令在當前目錄下的所有普通檔案中搜尋dbo這個詞
linux shell陣列操作
1 定義陣列 說明 一對括號表示是陣列,陣列元素用 空格 符號分割開。例項 test test a 1 2 3 4 5 test test echo a1 2 讀取陣列元素 形式 1 讀取某個元素 test test a 1 2 3 4 5 test test echo 3 2 讀取全部元素 tes...
Linux shell基礎操作
linux作業系統基礎高階練習題02 linux shell 1 更改shell 1.1 利用ps1變數改變命令提示,新提示符包括使用者帳號名稱 u 主機名 h 完整路徑 w 時間 a 歷史命令個數 1.2 更改ls顯示目錄檔案的顏色為白色字型,藍色背景 參 ps1 u h w a echo lsc...
Linux shell 時間操作
時間格式化 date y m d h m s 時間運算 指定時間 加上指定時間 date d 20200101 1 day y m d 指定時間 減上指定時間 date d 20200101 1 day y m d 顯示前一天的日期 date y m d date 1 day 顯示後一天的日期 da...