linux kill多個程序的妙招--案例:kill(local=no)
經常需要kill多個程序,如果這些程序有共同的特點,就可以用一條命令kill掉它們。比如清除oracle資料庫的所有遠端連線程序:
ps -efww|grep local=no|grep -v grep|cut -c 9-15|xargs kill -9
管道符「|」用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的幾個命令:
「ps -efww」是red hat 7.0裡檢視所有程序的命令。這時檢索出的程序將作為下一條命令「grep local=no」的輸入。
「grep local=no」的輸出結果是,所有含有關鍵字「local=no」的程序,這是oracle資料庫中遠端連線程序的共同特點。
「grep -v grep」是在列出的程序中去除含有關鍵字「grep」的程序。
「cut -c 9-15」是擷取輸入行的第9個字元到第15個字元,而這正好是程序號pid。
「xargs kill -9」中的xargs命令是用來把前面命令的輸出結果(pid)作為「kill -9」命令的引數,並執行該命令。「kill -9」會強行殺掉指定程序,這樣就成功清除了oracle的所有遠端連線程序。其它類似的任務,只需要修改「grep local=no」中的關鍵字部分就可以了。
使用grep命令可以在指定的目錄下搜尋指定的字串, 它會輸出匹配搜尋內容的檔案所在的那一行,
例如搜尋 /etc/passwd 裡面的字串 ricky, 則可輸入
$ grep ricky /etc/passwd
你也可以強制grep忽略大小寫, 例如 包含有ricky, ricky, ricky的檔案都會被搜出。
$ grep -i ricky /etc/passwd
搜尋指定目錄下的所有檔案和目錄
$ cd /etc $ grep -r "ricky" *
(* 表示當前目錄下的所有目錄和檔案)
只搜尋單個詞
正常情況下, grep會搜尋出ricky123,123ricky等等包含有ricky的檔案, 如果你只想搜尋 ricky 單個詞, 則使用-w引數
$ grep -w "ricky" /etc/passwd
同時搜尋兩個不同的字串
使用以下命令:
$ grep -w 'ricky|rick' /patch/to/file
統計共搜尋到的出現次數
你可以統計一下出現這個字串總共出現的次數。
$ grep -c 'ricky' /path/to/file
你也可以讓grep輸出出現該字串所在的行數
$ grep -n 'ricky' /path/to/file
你也可以讓grep搜尋不包含你指定字串, 使用引數 -v
$ grep -v 'ricky' /patch/to/file
你也可以配合通道一起使用grep命令來輸出搜尋結果
$ cat /proc/cpuinfo | grep -i 'model'
diff和grep命令的簡單應用
diff,用來比較兩個檔案內容的差異 diff test3.cpp test4.cpp看結果,很容易理解 8c8 就是第乙個檔案的第8行 與第二個檔案的第8行開始不一樣 這個符號右邊的這一行是檔案一的 隔開 另乙個檔案的相對應的一行 diff這個命令裡面還有很多引數可以使用,有興趣的讀者可以去研究研...
grep命令介紹
grep print lines matching a pattern grep options pattern file.grep options e pattern f file file.grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,由標準輸入中去比對。在預設的情況下,g...
grep命令總結
1.作用 grep命令可以指定檔案中搜尋特定的內容,並將含有這些內容的行標準輸出。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep options 3.主要引數 options 主要引數 c 只輸出...