
UNIX Cafe | 第4回
UNIXのリダイレクト「 > >> < 」
標準出力・標準入力の仕組みを初心者にもわかりやすく紹介します。
UNIX Cafe|リダイレクト編【 > >> < 】
ミナちゃんユニ先生、echo "Hello"って入力すると、文字がそのまま表示されますよね。これをファイルに保存したいときって、どうすればいいんですか?



いい質問だね。そんなときに使うのが「リダイレクト」だよ。
コマンドの出力を「ファイルに流す」仕組みなんだ。
コマンド紹介
>|コマンドの出力を「ファイルに流す」



あっ!「>」って、ファイルに書き出すって意味なんですね!



そのとおり。> は「上書き」なんだ。
もし同じ名前のファイルがあったら、内容は消えて新しく書き直されるよ。
bash
$ echo "Hello" > hello.txt


うわっ、気をつけないといけませんね💦
じゃあ、追加したいときはどうするんですか?



そんなときは >> を使うんだ。
これならファイルの最後に追記できる。
>>|ファイルの最後に追記する
>>


わぁ〜! まるでカフェの日誌ですね☕📔
昨日のページを残したまま、今日のページを後ろに書き足していく感じ!



まさにそのイメージさ。>> は“記録を積み重ねる矢印”なんだよ。
bash
$ echo "こんにちは" >> hello.txt


なるほど〜! >> は「日記の続きを書く」、> は「新しいノートを開く」って感じですね☕✨



うん、そのたとえ、完璧だよ。
大事なログを残したいときは、忘れずに“ダブル矢印”を使うんだ。
<|ファイルの内容をコマンドに渡す
<


おおっ、上書きと追記の違い、わかってきました!
でも「<」は何に使うんですか?∂



< はその逆で、「ファイルの内容をコマンドに渡す」ときに使うんだ。たとえば cat < hello.txt は、cat hello.txt と同じ意味なんだよ。
bash
$ cat < hello.txt


なるほど〜、コマンドの“入口”と“出口”をつなぎ替える感じなんですね!



その感覚、バッチリだよ!
リダイレクトを使いこなせると、コマンドの世界がぐっと広がるんだ。
2>|エラーメッセージをファイルに書き出す



lsでファイル名を間違ったらエラーが出ました💦
bash
$ ls nofile.txt
ls: nofile.txt: No such file or directory


2> を使うとエラーメッセージをファイルに保存できるよ。
bash
$ ls nofile.txt 2> error.log&>|成功メッセージもエラーも全てファイルに書き出す



ユニ先生、このあいだ教えてもらった「2>」ってすごく便利でした!
でも、標準出力とエラーの両方をまとめてファイルにしたいときって、どうすればいいんですか?



おお、もうそこに気づいたんだね!
そんなときに使うのが &> だよ。
出力もエラーも、ぜんぶひとつのファイルに書き出すんだ。
bash
$ ls hello.txt notfound.log &> result.logログを開けば全てのメッセージを確認できるから、あとでゆっくり内容を見たいときに便利ですよ。
コーヒーブレイク:ユニ先生のひとこと


リダイレクトは「データの流れをデザインする」ことなんだよ。使いこなせたら、もう立派なUNIXマスターだね!
まとめ
- >:コマンドの出力を「ファイルに流す」
- >>:ファイルの最後に追記する
- < :ファイルの内容をコマンドに渡す
- 2>:エラーメッセージをファイルに書き出す
- &>:全てのメッセージをファイルに書き出す



今日のリダイレクト、すごくおもしろかったです!
出力もエラーも“流れ”をコントロールできるなんて、ちょっと魔法みたいですね。



うん、まさにその通りだね。
UNIXの世界では、「データの流れをどうつなぐか」がとても大切なんだ。
ファイルに書き出したり、追記したり、まとめたり。
リダイレクトを使いこなせれば、作業をもっと自由に、もっと静かに進められるんだよ。
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本





