ps aux | grep firefox
"firefox"という文字列を含むすべてのプロセスを一覧表示します。
ps aux | grep -v firefox
"firefox"文字列を持たないすべてのプロセスを一覧表示します。
ps aux | grep -v grep | grep firefox
?
2番目のgrepは何をしますか? grep自体はコマンドですが、なぜ別のgrepをgrepするのですか?
ベストアンサー1
次のコマンドを実行するとき
ps aux | grep firefox
その後、grep
プロセスそれ自体探している単語がすでに存在するため、出力に表示されることがあります。たとえば、私のコンピュータで実行するchrome
と、同様の結果が表示されます。
% ps aux | grep chrome
sweh 3384 0.0 0.0 11128 1024 pts/1 S+ 07:08 0:00 grep chrome
sweh 23698 0.0 0.0 6384 620 ? S Jul04 0:00 /usr/lib/chromi
grep
我々は、プロセス3384が命令であり、一致することが分かる。クロム合金現れる。
これを避けるために、一部の人は2行目を追加して| grep -v grep
行を削除します。
一つあるだまされるしかし...
ps aux | grep '[f]irefox'
grep '[f]irefox'
まったく同じ行と一致しますgrep firefox
が、grep
単語が実際にコマンドに表示されないため、コマンド自体は一致しません。