LInux中的查詢

2021-09-27 09:16:24 字數 2824 閱讀 1452

三、awk

global regular expression print,表示全域性正規表示式版本。grep 命令用於查詢檔案裡符合條件的字串的一列。若不指定任何檔名稱,或是所給予的檔名為 -,則 grep 指令會從標準輸入裝置讀取資料。

1、查詢時不區分字串的大小寫

grep -i $
2、查詢時使用正規表示式,匹配符合的字串

grep -e $
3、查詢不匹配指定字串的行:

grep -v $
4、查詢時顯示被查詢字串所在的行數

grep -n $
5、其他

-q 或 --quiet或--silent : 不顯示任何資訊。

-w 或 --word-regexp : 只顯示全字符合的列。

5、其他

-c 《顯示符合條件的個數》

-c 《顯示行數》 或 --context=《顯示行數》或-《顯示行數》 : 除了顯示符合樣式的那一行之外,並顯示該行之前後的內容。

-d 《動作》 或 --directories=《動作》 : 當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊並停止動作。

-r 《遞迴查詢目錄》

-f 《規則檔案》 --file=《規則檔案》 #指定規則檔案,其內容含有乙個或多個規則樣式,讓grep查詢符合規則條件的檔案內容,格式為每行乙個規則樣式。

參考文章

用於在檔案樹中(目錄結構下)查詢檔案,並作出相應的處理 。

-amin n   查詢系統中最後n分鐘訪問的檔案

-atime n 查詢系統中最後n*24小時訪問的檔案

-cmin n 查詢系統中最後n分鐘被改變檔案狀態的檔案

-ctime n 查詢系統中最後n*24小時被改變檔案狀態的檔案

-mmin n 查詢系統中最後n分鐘被改變檔案資料的檔案

-mtime n 查詢系統中最後n*24小時被改變檔案資料的檔案

根據關鍵字查詢

# 在當前目錄查詢以.log結尾的普通檔案,並排序

find

. -type f -name "*.log"

|sort

按照目錄或檔案的許可權來查詢檔案

# 查詢opt下查詢許可權為777,大小大於1k的檔案

find /opt/ -size +1000c -perm 777

find命令將所有匹配到的檔案,以{}表示,一起傳遞給exec執行。

-exec引數後面跟的是command命令,它的終止是以;為結束標誌的,考慮到各個系統中分號會有不同的意義,前面加反斜槓\

在目錄中查詢更改時間在n日以前的檔案並刪除它們

find

. -type f -mtime +14 -exec rm

\;

在shell中用任何方式刪除檔案之前,應當先檢視相應的檔案,建議使用-exec的安全模式-ok

查詢檔案移動到指定目錄

find

. -name "*.log" -exec mv

/home/logs \;

-exec中使用grep命令

find /etc -name "account*" -exec grep

"username"

\;

查詢檔案名包含「account」中,匹配「root」欄位的行。

有些系統對能夠傳遞給exec的命令長度有限制,容易出現溢位錯誤。錯誤資訊通常是「引數列太長」或「引數列溢位」。使用 -exec 選項會為處理每乙個匹配到的檔案而發起乙個相應的程序,並非將匹配到的檔案全部作為引數一次執行,效率不高。

而使用 xargs 命令則只有乙個程序,是否分批獲取引數視情況而定。

查詢系統中的每乙個普通檔案,然後使用xargs命令來測試它們分別屬於哪類檔案

# 顯示為:

# ./log2013.log: empty

# ./log2012.log: ascii text

find

. -type f |

xargs

file

在整個系統中查詢記憶體資訊轉儲檔案(core dump) ,然後把結果儲存到/tmp/core.log 檔案中

find / -name "core" -print |

xargs

echo

"">/tmp/core.log

在當前目錄下查詢所有使用者具有讀、寫和執行許可權的檔案,並收回相應的寫許可權·

find

. -perm -7 -print |

xargs

chmod o-w

awk工作流程是這樣的:讀入有』\n』換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第乙個域,$n表示第n個域。nf表示的是瀏覽記錄的域的個數,$nf表示的最後乙個field(列),即輸出最後乙個欄位的內容預設域分隔符是"空白鍵" 或 「[tab]鍵」。

|awk -f "/"

''

linux中的查詢

無論在哪個作業系統,查詢都是常用操作,本文說一下linux中的查詢。1.find find最常用,引數也一大把,舉個最常用的 find type f name c exec grep l 這個就是在當前目錄 查詢所有含有 字串的c程式原始檔,通過這個例子,大家應該會用了。find功能很強大,有興趣自...

Linux中的查詢命令

1 which cmd shows the full path of shell commands 顯示某個命令的完整路徑 例如 which touch 輸出 bin touch 2 whereis 選項 檔名 locates source binary and manual sections fo...

linux中的查詢命令

file 檔名 顯示的資訊很多,包括檔案的型別,suid許可權,相容平台等 find,對硬碟進行搜尋,慢而且影響硬碟效能 1 與時間有關的引數 共有 atime ctime mtime find mtime 0,意思就是找出根目錄下今天往前數24個小時內被修改的檔案 mtime n n 為數字,意義...