リダイレクトの基本|ターミナルでファイルに出力する方法をやさしく解説|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
リダイレクトの基本|ターミナルでファイルに出力する方法をやさしく解説|UNIX Cafe

UNIX Cafe | 第4回

目次

このページでわかること

UNIXの「リダイレクト」は、
コマンドの出力やエラーメッセージの行き先を切り替える仕組みです。

このページでは、ターミナル初心者の方でも理解できるように、
よく使うリダイレクト記号を一つずつ整理して解説します。

  • コマンドの結果をファイルに保存する方法
  • ファイルに追記する方法
  • エラーだけを記録する方法
  • 出力とエラーをまとめて保存する方法

リダイレクトとは何か

ユニ先生

画面に出ていた結果を、ファイルへ流してあげる仕組みだよ。

通常、コマンドの実行結果は画面に表示されます。
リダイレクトを使うと、その出力先をファイルに変更できます。

これは「結果を記録する」「あとで確認する」ために、とても重要な考え方です。

>|コマンドの出力をファイルに保存する(上書き)

基本

echo "Hello" > hello.txt
  • echo "Hello" の出力が hello.txt に保存されます
  • ファイルがすでに存在する場合、中身は上書きされます

ポイント

  • 新しいファイルを作る感覚
  • ログを残すときは注意が必要
ユニ先生

> は「新しく書き直す」矢印。ログでは注意しよう。

>>|ファイルの最後に追記する

基本

echo "こんにちは" >> hello.txt
  • 既存の hello.txt の末尾に追記されます
  • 以前の内容は消えません

ポイント

  • ログファイルの記録に最適
  • 日付や処理結果を積み重ねたいときに便利

<|ファイルの内容をコマンドに渡す

基本

cat < hello.txt
  • hello.txt の中身を cat コマンドに渡します
  • 実際には cat hello.txt とほぼ同じ動作

ポイント

  • 「入力元をファイルに切り替える」記号
  • 後にパイプと組み合わせると理解が深まります
ユニ先生

> が出口なら、< は入口と考えるとわかりやすい。

2>|エラーメッセージだけをファイルに保存する

エラーの例

ls nofile.txt
ls: nofile.txt: No such file or directory

エラーをファイルに保存

ls nofile.txt 2> error.log
  • 画面には何も表示されません
  • エラーメッセージだけが error.log に保存されます

ポイント

  • 2 は「標準エラー出力」を意味します
  • トラブル調査やログ管理でよく使います
ミナちゃん

2 はエラー専用。トラブル調査で本領を発揮しますよ。

&>|出力とエラーをまとめて保存する

基本

ls hello.txt notfound.log &> result.log
  • 正常な出力も
  • エラーメッセージも すべて result.log に保存されます

ポイント

  • バッチ処理や自動処理でよく使われます。
  • 実行結果を丸ごと記録したいときに便利。
ミナちゃん

実行結果を丸ごと残したいときは、これが一番楽ですね。

リダイレクトの整理表

記号意味
>出力をファイルに保存(上書き)
>>出力をファイルに追記
<ファイルを入力として使う
2>エラーだけをファイルに保存
&>出力とエラーをまとめて保存

まとめ

リダイレクトは、
「コマンドの結果がどこへ流れるか」を決める仕組みです。

  • 画面に表示する
  • ファイルに保存する
  • エラーだけを分けて管理する

この考え方が身につくと、
UNIXの操作はぐっと静かで、効率的になります。

ユニ先生

リダイレクトは、データの「流れ」を整える道具なんだ。

🔗 関連リンク

  • 👉 ファイルのパーミッション入門|読み書き権限の基本をやさしく解説 PCfan
  • 👉 パイプの仕組み入門|コマンドをつないで処理を効率化  PCfan

さらに学びたいあなたへ

📘 用途ごとに選ぶ Linux のおすすめ本

あわせて読みたい
レベル・用途別おすすめ Linux 本リスト|UNIX Cafe UNIX Cafe | 第65回 Linux の世界には、「はじめて触る人」「コマンドを覚えはじめた人」「サーバーに挑戦したい人」と、さまざまな段階があります。そんなときに、自分...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次