• ベストアンサー

UNIXのコマンド

こんにちは。 UNIXのコマンドに関してお聞きしたい事があります。 カンマ(;) パイプ(|) の使い方の違いについて教えてください。 2つともコマンドを連続で使えるようにするものだと思っているのですが。 例1) # cd /tmp ; pwd 例2) # more syslog.log | grep "error" 分かるか方いたら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

># cd /tmp ; pwd は、 # cd /tmp # pwd と同じです。 ># more syslog.log | grep "error" は、 # more syslog.log >tempfile # grep "error" < tempfile と同じ出力結果となります。実際には、コマンドは順次でなく、同時に実行され、データはファイル経由でなくメモリ経由で受け渡されますが。

k_guestuser40
質問者

お礼

ご回答ありがとうございます!

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

「 ; 」はセミコロンと呼びます。 これは、複数のコマンドを1行で書く時に使用します。 例1は /tmp ディレクトリに移動した後に pwd コマンドを実行すると言う意味です。 パイプは前のコマンドの実行結果(標準出力に出たデータ)を次のコマンドの入力(標準入力)として渡すと言う意味です。 例2は syslog.log と言うファイルを more コマンドで読み出し、その結果を "error" と言う文字列で grep すると言う意味になります。

k_guestuser40
質問者

お礼

ご回答ありがとうございます!