[便利なリダイレクト機能]

2025年09月22日

リダイレクトとは、ターミナル(端末アプリ)でコマンドを実行した際の出力や入力の流れを変更する機能のことです。具体例としては、「cat」コマンドをよく使います。これはファイルの内容を表示するコマンドで、様々なリダイレクトの方法と組み合わせて使えます。

macOSのターミナルは、UNIXベースのシステムなので、macOS独自の細かな仕様や、セキュリティ・権限管理などもありますが、リダイレクトの基本的な使い方はLinuxや他のUNIX環境とほぼ同じです。

まず「リダイレクト」とは、コマンドが本来出力する情報(標準出力:terminalの画面に表示される内容)やエラー(標準エラー出力)、または入力(標準入力:キーボードから受け取る内容)を、ファイルに保存したり、逆にファイルから読み込んだりできる仕組みです。つまり入力先や出力先を強制的に切り替える機能だと理解しておいてください。

リダイレクトで使われる記号は主に「>」「>>」「<」の3種類です。

最も基本的な使い方は「>」による出力の保存です。例えば、テキストファイル「test.txt」を作りたい場合に

cat > test.txt

このコマンドを実行すると、キーボードで入力した内容が「test.txt」へ保存されます。終了したいときは「control + D」を押します。この「>」は上書き保存を意味し、既に同名ファイルがある場合は内容を消して新しく書き換えます。この機能を使えば、数行程度のちょっとしたメモを書く時などに、viエディタを立ち上げる必要もないので便利な使い方です。(もちろんviエディタを立ち上げてもかまいません)

次は「>>」の使い方です。これは追加保存です。例えば

cat >> test.txt

とすると、既存の「test.txt」に新しい内容が追加されます。上書きせず、ファイルの末尾に追加されるので、ログを取る場合などに便利です。画面出力は生成されませんが、ファイル内で確認できます。

catコマンドの代表的な使い方として

cat file1.txt

とすると、ファイルの内容がそのままターミナルに表示されます。これをリダイレクトでまとめて別ファイルに保存したい場合は

cat file1.txt > result.txt

と打ちます。これで「file1.txt」の内容がすべて「result.txt」に転送・保存され、ターミナルには表示されません。この操作ではcpコマンドと同じことができます。

複数ファイルを結合して保存する場合は

cat file1.txt file2.txt > result.txt

とします。ここでも「result.txt」は全部上書きされるので注意が必要です。

また、リダイレクト記号「<」は入力元の指定に使います。例えば

cat < input.txt

とすると「input.txt」をcatの標準入力として読み込み、その内容がターミナルに表示されます。この場合は「cat input.txt」とほぼ同じ意味になりますが、他のコマンドとの組み合わせ、パイプ処理(後のブログ記事で説明します)などで使われることもあります。

うっかり間違いやすいのは、「>」で上書きして大事なファイルの内容を消してしまうケースです。ファイル操作を行う前は、バックアップをとったり、rmコマンド(削除)を軽率に使わないよう気をつけましょう。

リダイレクトの応用として、「標準エラー出力」の転送もあります。通常、「cat」コマンドで存在しないファイルを指定するとエラーが表示されます。例えば

cat notfound.txt

とすると「No such file or directory」などのエラーがターミナルに出ます。これをファイルに保存する場合は「2>」を使います。

cat notfound.txt 2> error.txt

で、エラー内容が「error.txt」だけに記録され、ターミナルには表示されなくなります。標準出力と標準エラー出力を両方ファイルに保存したい場合は

cat file1.txt notfound.txt > result.txt 2> error.txt

などと使います。さらに標準出力・標準エラー両方を同じファイルにまとめたい場合は

cat file1.txt notfound.txt > all.txt 2>&1

という方法もあります。「2>&1」は「標準エラー出力を標準出力と同じ場所に流す」という意味です。

リダイレクトは効率的な作業の基本です。たとえばログ取り、データの加工処理、エラーの記録・分析など、さまざまな場面に役立ちます。catコマンドの単純なリダイレクトから少しずつ慣れていくと、効率よく作業ができるようになります。

ホームディレクトリなどの場所で練習する、既存ファイルの上書きには注意する、エラー出力の保存方法を覚える。これがリダイレクトを使いこなす第一歩です。


Share
無料でホームページを作成しよう! このサイトはWebnodeで作成されました。 あなたも無料で自分で作成してみませんか? さあ、はじめよう