このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:標準出力のリダイレクト

標準出力のリダイレクト
Linuxでは、コマンドの実行結果(標準出力)を画面に表示するだけでなく、ファイルに保存することができます。これを標準出力のリダイレクトと呼びます。ここでは、標準出力のリダイレクトの方法と、その応用について解説します。

コマンドの出力をファイルに保存する
標準出力をリダイレクトするには、>
という記号を使用します。これにより、コマンドの出力先を画面(端末)から指定したファイルに変更することができます。
【書式】[コマンド] > [ファイル]
使用例
ls -l
コマンドの実行結果を list.txt
というファイルに保存してみましょう。

user01@ubuntu:~$ ls -l > list.txt
このコマンドを実行すると、ls -l
の出力結果は画面に表示されず、list.txt
というファイルに保存されます。
保存されたファイルの内容を確認するには、cat
コマンドを使用します。
user01@ubuntu:~$ cat list.txt
合計 40
-rw-rw-r-- 1 user01 user01 0 10月 26 23:42 list.txt
drwx------ 4 user01 user01 4096 9月 21 00:00 snap
drwxrwxr-x 2 user01 user01 4096 10月 4 00:50 work
drwxr-xr-x 2 user01 user01 4096 9月 14 22:50 ダウンロード
drwxr-xr-x 2 user01 user01 4096 9月 14 22:50 テンプレート
...(以下省略)...
ポイント
- 自動的なファイル作成:リダイレクト先のファイルは自動的に作成されるため、事前に
touch
コマンドなどでファイルを作成する必要はありません。
コマンドの出力をファイルに追記する
既存のファイルにコマンドの出力を追記したい場合は、>>
という記号を使用します。これにより、ファイルの既存の内容を保持したまま、コマンドの出力を末尾に追加できます。
【書式】[コマンド] >> [ファイル]
使用例
先ほど作成した list.txt
に現在の日付を追記してみます。
user01@ubuntu:~$ date >> list.txt
再度、list.txt
の内容を確認すると、最後に日付が追記されていることがわかります。
user01@ubuntu:~$ cat list.txt
合計 40
-rw-rw-r-- 1 user01 user01 0 10月 27 00:02 list.txt
drwx------ 4 user01 user01 4096 9月 21 00:00 snap
drwxrwxr-x 2 user01 user01 4096 10月 4 00:50 work
...(省略)...
drwxr-xr-x 2 user01 user01 4096 9月 14 22:50 ミュージック
drwxr-xr-x 2 user01 user01 4096 9月 14 22:50 公開
2024年 10月 27日 日曜日 00:02:29 JST
不要なファイルの削除
リダイレクトによって作成したファイルが不要になった場合は、rm
コマンドで削除することができます。
user01@ubuntu:~$ rm list.txt
削除後、ls
コマンドで確認すると、list.txt
が削除されていることがわかります。
user01@ubuntu:~$ ls
snap ダウンロード デスクトップ ビデオ ミュージック
work テンプレート ドキュメント ピクチャ 公開
ポイント
- 自動的なファイル作成:リダイレクト先のファイルは自動的に作成されるため、事前にファイルを作成する必要はありません。
- 上書き注意:
>
を使用すると、指定したファイルが既に存在する場合、その内容は上書きされます。既存の内容を残したまま追加したい場合は、>>
を使用します。
リダイレクト記号 | 動作 |
---|---|
> | ファイルに上書き |
>> | ファイルに追記 |
まとめ
- 標準出力のリダイレクトを使用すると、コマンドの出力をファイルに保存できます。
・>
を使用すると、指定したファイルに上書きします。
・>>
を使用すると、指定したファイルに追記します。 - リダイレクト先のファイルは自動的に作成され、既存のファイルを指定した場合は上書きまたは追記されます。
- 不要になったファイルは、
rm
コマンドで削除できます。
標準出力のリダイレクトを活用することで、コマンドの実行結果を効率的に管理・活用できます。日々の業務でぜひ活用してみてください。