Linux shell 查詢操作

2021-05-01 00:14:21 字數 3545 閱讀 7104

有時可能需要在系統中查詢具有某一特徵的檔案,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...