FC2ブログ

パイプの使い方

最近、過去の雑誌を整理し、内容の復習を兼ねていろいろと
実行してみました

今回は、基本に立ち返り
パイプの使い方です

参考にした雑誌は、日経Linux 2008-9
です




パイプを使うことで、過去のログなどを効率的にみることができます

とくに、一番使うのが history コマンドと grep コマンドの組み合わせを
よく使います
使い方は
$ histroy | grep ssh

サーバー構築の続きを行うときに使います

今回は、3つの機能をパイプでつなげて見ました

$cat -n /etc/services | head -n 50 | tail -n 10
とします

これは、最初に
cat -n を使ってファイルに番号を振り分け

次に
head -n 50
で、先頭から50文字のみ表示にして

最後に
tail -n 10
で最後から10行だけ表示
という使い方になります

サーバーのファイル設定を失敗してしまい、
エラーメッセージがでたときなどに、こういう組み合わせを
使い、その箇所だけをみるということもできます

例えば、
300行~400行にエラーとなったときに、
$cat -n /etc/httpd/conf/httpd.conf | head -n 400 | tail -n 400
とすると、その場所を表示できます

また、シェルスクリプトでよくある記述としては
2>&1
というものがありますが、
これは標準出力と、標準エラー出力先を同じにするという意味になります

2は、標準エラー出力
1は、標準出力


という意味になります
よく使われるのは、行き先を /dev/null
と設定する方法です

/dev/null にすると。そのデータを破棄します

これを使った例がありました
$ find /usr/ -name "*.txt" 2>&1 > /dev/null | cat -n
もっとも、これを一般ユーザで実行しても、権限がないので
閲覧はできません

この動きを解説すると
最初に
find コマンドで /usr/ の中から .txt の拡張子のファイルを見つけます

次に、
標準出力のデータを /dev/null で破棄

そして標準エラー出力のデータに番号をつけて表示
という処理になります

パイプを使うと、grep コマンドで探すときに
さらに詳しく検索も可能になります

grep コマンドの使い方は
grep 探したい文字 ファイルパス
という使い方をします

$ grep www /etc/service
とすると、www を含む行を、/etc/service
の中から探します

これを
$ grep www /etc/service | grep tcp
とすれば
www と tcp を含む行を表示するようになります


スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック