Linux

Linuxのコマンドラインで使う>(大なり記号)の意味とは?リダイレクト演算子の使い方について解説

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、Linuxのコマンドラインで使う>(大なり記号)の意味について解説します。Linuxにおける大なり記号(>)は、リダイレクト演算子と呼ばれます。これは、標準出力をファイルに書き込むために使われます。>(大なり記号)をどのように使うのかが分からない方に向けて詳しく解説します。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

Linuxのコマンドラインで使う>(大なり記号)の意味とは?

Linuxのコマンドラインで使う>(大なり記号)にはどのような意味があるのでしょうか?

Linuxにおける大なり記号(>)は、リダイレクト演算子として使用されます。

これは、出力をファイルに書き込むために使われる記号です。

>(大なり記号)はリダイレクト演算子

大なり記号(>)は、リダイレクト演算子です。出力されたものをファイルに保存します。

例えば、lsコマンドを実行します。

ls

lsコマンドは、ファイルの一覧を表示するものです。コマンドを実行すると、カレントディレクトリ配下のディレクトリ情報が出力されます。

この出力された内容をファイルに保存するものがリダイレクト演算子の>(大なり記号)です。

以下のように実行すると、lsコマンドの出力結果をtest.txtに保存します。

ls > test.txt

catコマンドで、test.txtファイルの中身を見てみましょう。すると、lsコマンドの実行結果が保存されています。

test.txtファイルは作成されていない場合は、自動で作成されます。

すでにtest.txtファイルがある場合、>(大なり記号)を使用するとファイルの中身が全て上書きされるので注意しましょう。

>>(二重大なり記号)でファイルの末尾に追加

すでにファイルがある場合、>(大なり記号)を使用するとファイルの中身が全て上書きされます。

上書きをせずに、追加したい場合は、>>(二重大なり記号)を使用しましょう。

例えば、先ほどのtest.txtファイルの末尾にコマンドの実行結果を追加したい場合は、以下のように実行します。

echo "message add" >> test.txt

もう一度、catコマンドでファイルの中身を確認すると、ファイルの末尾に”message add”という文章が追加されていることがわかります。

Linuxにおける>(大なり記号)の使い方

ここからは、>(大なり記号)の具体的な使い方を説明します。

使用例1.ファイルの作成

まず、>(大なり記号)はファイルの作成時に使われます。

例えば、ファイルの中身に文字を入れたい場合、echoコマンドと組み合わせて使用します。

echo "hoge hoge" > test.txt

ファイルの中身をcatコマンドで確認すると、”hoge hoge”という文字がファイルの中身に書かれています。

使用例2.コマンドの出力結果をファイルに保存

次はコマンドの出力結果をファイルに保存します。

ls > test.txt

自作のコマンド(スクリプト)でエラーのみ出力させたい場合は、“2>”とするとエラーメッセージのみをファイルに保存することも可能です。

./my-script 2> error.log

使用例3.>>(二重大なり記号)でファイルの末尾に追加

ファイルの末尾に追加したい場合は、>>(二重大なり記号)を使用します。

echo "message add" >> test.txt

これらは>(大なり記号)を使用した一般的な例です。

大なり記号を使うことで、コマンドの出力やエラーメッセージをファイルにリダイレクトすることが可能です。Linuxの基本操作なので覚えておきましょう!

Linuxの学習を始めたい方はこちらから

「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」

そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!

入門から中級まで初心者でもわかりやすく学習を進めることができます。

↓InfraAcademyの講座の一部です。

上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。

インフラエンジニアに必要な知識が学習できます。

InfraAcademyで学習をはじめる

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST