こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

UNIXのコマンド

こんにちは。

UNIXのコマンドに関してお聞きしたい事があります。

カンマ(;)
パイプ(|)

の使い方の違いについて教えてください。
2つともコマンドを連続で使えるようにするものだと思っているのですが。

例1)
# cd /tmp ; pwd

例2)
# more syslog.log | grep "error"


分かるか方いたら教えてください。

投稿日時 - 2017-09-22 17:43:07

QNo.9377516

すぐに回答ほしいです

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

># cd /tmp ; pwd

は、

# cd /tmp
# pwd

と同じです。

># more syslog.log | grep "error"

は、

# more syslog.log >tempfile
# grep "error" < tempfile

と同じ出力結果となります。実際には、コマンドは順次でなく、同時に実行され、データはファイル経由でなくメモリ経由で受け渡されますが。

投稿日時 - 2017-09-23 01:28:43

お礼

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

投稿日時 - 2017-10-11 07:20:55

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

「 ; 」はセミコロンと呼びます。
これは、複数のコマンドを1行で書く時に使用します。
例1は /tmp ディレクトリに移動した後に pwd コマンドを実行すると言う意味です。

パイプは前のコマンドの実行結果(標準出力に出たデータ)を次のコマンドの入力(標準入力)として渡すと言う意味です。
例2は syslog.log と言うファイルを more コマンドで読み出し、その結果を "error" と言う文字列で grep すると言う意味になります。

投稿日時 - 2017-09-22 18:10:03

お礼

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

投稿日時 - 2017-10-11 07:20:46

あなたにオススメの質問