すべてを

▼開く

閉じる▲

複数のコマンドをグループ化して実行する

○3つのコマンドの出力を1つのファイルに保存する

カッコで3つのコマンドをグループ化して結果をファイルに出力する
$ (date ; du -sh /home/masa ; du -sh /home/guest) > home_size

カッコでdateコマンドとduコマンドをくくり、3つのコマンドはセミコロン「;」で区切る。このグループ化したコマンドの出力をリダイレクション「>」でファイル「home_size」に出力する。これで、dateコマンドを実行した後にduコマンドが1つずつ実行されて、3つのコマンドの出力が1つのファイルに保存される。3つのコマンドを区切るセミコロン「;」は、複数のコマンドを連続して実行するためのシェルの機能である。

catコマンドで出力されたファイルを見る
$ cat home_size
2006年  4月 28日 金曜日 12:39:13 JST
156M    /home/masa
536K    /home/guest

●コマンドをグループ化しない場合

グループ化しないでコマンドを実行する
$ date ; du -sh /home/masa ; du -sh /home/guest > home_size
2006年  4月 28日 金曜日 12:41:10 JST
156M    /home/masa
$ cat home_size
536K    /home/guest

コマンドをグループ化しない場合、コマンドは前から順に実行される。この例では、dateコマンドが実行されて日時が表示され、次にduコマンドでディレクトリの総使用量が表示され、最後のduコマンドの出力だけが「home_size」ファイルに出力される。