このページで解説している内容は、以下の 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コマンドで削除できます。
標準出力のリダイレクトを活用することで、コマンドの実行結果を効率的に管理・活用できます。日々の業務でぜひ活用してみてください。
