Linux grep 命令以及ps命令

2021-09-27 02:27:36 字數 3865 閱讀 5016

linux中grep 命令用於查詢檔案裡符合條件的字串。

而我們最常用的比如 ps -ef|grep ***x

grep 指令用於查詢內容包含指定的範本樣式的檔案,如果發現某檔案的內容符合所指定的範本樣式,預設 grep 指令會把含有範本樣式的那一列顯示出來。若不指定任何檔名稱,或是所給予的檔名為 -,則 grep 指令會從標準輸入裝置讀取資料。

語法grep [-abcefghhillnqrsvvwxy][-a《顯示列數》][-b《顯示列數》][-c《顯示列數》][-d《進行動作》][-e《範本樣式》][-f《範本檔案》][–help][範本樣式][檔案或目錄…]

引數:

-a 或 --text : 不要忽略二進位制的資料。

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

-b 或 --byte-offset : 在顯示符合樣式的那一行之前,標示出該行第乙個字元的編號。

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

-c 或 --count : 計算符合樣式的列數。

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

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

-e《範本樣式》 或 --regexp=《範本樣式》 : 指定字串做為查詢檔案內容的樣式。

-e 或 --extended-regexp : 將樣式為延伸的正規表示式來使用。

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

-f 或 --fixed-regexp : 將樣式視為固定字串的列表。

-g 或 --basic-regexp : 將樣式視為普通的表示法來使用。

-h 或 --no-filename : 在顯示符合樣式的那一行之前,不標示該行所屬的檔名稱。

-h 或 --with-filename : 在顯示符合樣式的那一行之前,表示該行所屬的檔名稱。

-i 或 --ignore-case : 忽略字元大小寫的差別。

-l 或 --file-with-matches : 列出檔案內容符合指定的樣式的檔名稱。

-l 或 --files-without-match : 列出檔案內容不符合指定的樣式的檔名稱。

-n 或 --line-number : 在顯示符合樣式的那一行之前,標示出該行的列數編號。

-o 或 --only-matching : 只顯示匹配pattern 部分。

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

-r 或 --recursive : 此引數的效果和指定"-d recurse"引數相同。

-s 或 --no-messages : 不顯示錯誤資訊。

-v 或 --revert-match : 顯示不包含匹配文字的所有行。

-v 或 --version : 顯示版本資訊。

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

-x --line-regexp : 只顯示全列符合的列。

-y : 此引數的效果和指定"-i"引數相同。

linux 命令大全 linux 命令大全

例項1、在當前目錄中,查詢字尾有 file 字樣的檔案中包含 test 字串的檔案,並列印出該字串的行。此時,可以使用如下命令:

grep test *file

結果如下所示:

$ grep test test* #查詢字首有「test」的檔案包含「test」字串的檔案

testfile1:this a linux testfile! #列出testfile1 檔案中包含test字元的行

testfile_2:this is a linux testfile! #列出testfile_2 檔案中包含test字元的行

testfile_2:linux test #列出testfile_2 檔案中包含test字元的行

2、以遞迴的方式查詢符合條件的檔案。例如,查詢指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有檔案中包含字串"update"的檔案,並列印出該字串所在行的內容,使用的命令為:

grep -r update /etc/acpi

輸出結果如下:

$ grep -r update /etc/acpi #以遞迴的方式查詢「etc/acpi」

#下包含「update」的檔案

/etc/acpi/ac.d/85-anacron.sh:# (things like the slocate updatedb cause a lot of io.)

rather than

/etc/acpi/resume.d/85-anacron.sh:# (things like the slocate updatedb cause a lot of

io.) rather than

/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys–update

3、反向查詢。前面各個例子是查詢並列印出符合條件的行,通過"-v"引數可以列印出不符合條件行的內容。

查詢檔案名中包含 test 的檔案中不包含test 的行,此時,使用的命令為:

grep -v test test

結果如下所示:

$ grep-v test* #查詢檔案名中包含test 的檔案中不包含test 的行

testfile1:hellinux!

testfile1:linis a free unix-type operating system.

testfile1:lin

testfile_1:hello linux!

testfile_1:linux is a free unix-type opterating system.

testfile_1:this is a linux testfile!

testfile_2:hello linux!

testfile_2:linux is a free unix-type opterating system.

ps 使用

用法:ps [ 引數 ]

引數說明:

-a 顯示所有程序(等價於-e)(utility)

-a 顯示乙個終端的所有程序,除了會話引線

-n 忽略選擇。

-d 顯示所有程序,但省略所有的會話引線(utility)

-x 顯示沒有控制終端的程序,同時顯示各個命令的具體路徑。dx不可合用。(utility)

-p pid 程序使用cpu的時間

-u uid or username 選擇有效的使用者id或者是使用者名稱

-g gid or groupname 顯示組的所有程序。

u username 顯示該使用者下的所有程序,且顯示各個命令的詳細路徑。如:ps u zhang;(utility)

-f 全部列出,通常和其他選項聯用。如:ps -fa or ps -fx and so on.

-l 長格式(有f,wchan,c 等字段)

-j 作業格式

-o 使用者自定義格式。

v 以虛擬儲存器格式顯示

s 以訊號格式顯示

-m 顯示所有的執行緒

-h 顯示程序的層次(和其它的命令合用,如:ps -ha)(utility)

e 命令之後顯示環境(如:ps -d e; ps -a e)(utility)

h 不顯示第一行

linux grep命令詳解

linux grep命令 1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep opt...

Linux grep命令用法

語法 grep options pattern file.grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,由標準輸入中去比對。在預設的情況下,grep會將符合樣式的那一行列出。此外,還有兩個程式是grep的變化型,egrep及fgrep。其中egrep就等同於grep e fgr...

linux grep命令詳解

linux grep命令 1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep opt...