echoコマンドとは、Linuxで文字列や変数の内容を表示するためのコマンドです。
Linuxでは、ターミナルに文字を表示したり、変数の中身を確認したり、簡単なテキストをファイルに書き込んだりする場面があります。
そのときによく使う基本コマンドがechoコマンドです。
echoコマンドは、文字を画面に表示するだけでなく、リダイレクトと組み合わせることでファイルへの書き込みや追記にも使えます。
ただし、ファイルに書き込むときは、上書きと追記の違いを理解しておくことが大切です。
この記事では、Linux初心者向けにechoコマンドの意味、基本的な使い方、文字列表示、変数表示、ファイルへの書き込み、追記、echo -n、echo -e、catやprintfとの違い、よくあるエラーまでわかりやすく解説します。
- echoコマンドとは?
- echoコマンドの基本的な使い方
- echoコマンドを使う基本の流れ
- echoコマンドで文字列を表示する
- echoコマンドで引用符を使う理由
- シングルクォートとダブルクォートの違い
- echoコマンドで変数を表示する
- echoコマンドで環境変数を表示する
- echoで現在のパスを確認する
- echoコマンドでファイルに書き込む
- > はファイルを上書きする
- >> はファイルに追記する
- echoでファイルを新規作成する
- echoで空行を追加する
- echo -nで改行せずに表示する
- echo -eでエスケープ文字を解釈する
- echoでよく使うエスケープ文字
- echoコマンドで複数行をファイルに書き込む
- echoコマンドでコマンド結果を表示する
- echoコマンドでログ風に出力する
- echoコマンドでよく使うオプション一覧
- echoコマンドとtouchコマンドの違い
- echoコマンドとcatコマンドの違い
- echoコマンドとprintfコマンドの違い
- echoコマンドでよくあるエラー・つまずき
- echoコマンドで書き込みできないときの確認ポイント
- echoコマンドを安全に使うコツ
- echoコマンドを使った練習手順
- echoコマンドを覚えると何ができるようになる?
- echoコマンドのよくある質問
- まとめ
echoコマンドとは?
echoコマンドとは、Linuxで文字列を表示するためのコマンドです。
echoには「反響する」「そのまま返す」という意味があります。
Linuxのechoコマンドでは、指定した文字列をターミナルに表示できます。
たとえば、Hello Linuxと表示したい場合は、次のように実行します。
echo "Hello Linux"
実行すると、次のように表示されます。
Hello Linux
Linux初心者にとって、echoコマンドは文字を表示するだけの簡単なコマンドに見えるかもしれません。
しかし、変数の確認、ファイル作成、ログ出力、シェルスクリプトのメッセージ表示など、実際にはさまざまな場面で使われます。
echoコマンドの基本的な使い方
echoコマンドの基本的な使い方は、次の通りです。
echo 表示したい文字列
たとえば、Linuxと表示したい場合は、次のように実行します。
echo Linux
実行結果は次の通りです。
Linux
複数の単語を表示したい場合は、引用符で囲むとわかりやすいです。
echo "Linux command lesson"
実行結果は次の通りです。
Linux command lesson
初心者は、まずechoの後ろに表示したい文字を書くと、その文字がターミナルに表示されると覚えれば大丈夫です。
echoコマンドを使う基本の流れ
Linux初心者は、echoコマンドを単体で覚えるよりも、touch、cat、lsとセットで覚えると理解しやすいです。
基本の流れは次の通りです。
pwd
ls -l
echo "Hello Linux"
echo "Hello Linux" > sample.txt
cat sample.txt
ls -l
まずpwdで現在いるディレクトリを確認します。
次にls -lで、現在のディレクトリにあるファイルを確認します。
echoで文字列を表示します。
そのあと、リダイレクトを使ってsample.txtに文字列を書き込みます。
最後にcatでsample.txtの中身を確認します。
この流れを覚えると、Linuxで文字を表示し、ファイルに書き込み、内容を確認する基本操作が理解しやすくなります。
echoコマンドで文字列を表示する
echoコマンドのもっとも基本的な使い方は、文字列の表示です。
echo "こんにちは"
実行結果は次の通りです。
こんにちは
英数字だけでなく、日本語の文字列も表示できます。
echo "Linuxを勉強中です"
実行結果は次の通りです。
Linuxを勉強中です
ただし、サーバー環境や文字コードの設定によっては、日本語表示が文字化けすることもあります。
Linuxサーバーで作業する場合は、基本的には英数字のメッセージにしておくと扱いやすいです。
echoコマンドで引用符を使う理由
echoコマンドでは、文字列を引用符で囲むことがよくあります。
echo "Hello Linux"
引用符を使わなくても、次のように表示できます。
echo Hello Linux
実行結果は同じように表示されます。
Hello Linux
ただし、スペースを含む文字列や記号を含む文字列を扱う場合は、引用符で囲むほうが安全です。
初心者は、echoで文字列を表示するときは基本的にダブルクォートで囲む、と覚えておくと迷いにくくなります。
シングルクォートとダブルクォートの違い
echoコマンドでは、シングルクォートとダブルクォートの違いも重要です。
ダブルクォートは、変数を展開します。
name="Linux"
echo "Hello $name"
実行結果は次のようになります。
Hello Linux
一方、シングルクォートは、変数を展開せず、そのまま表示します。
name="Linux"
echo 'Hello $name'
実行結果は次のようになります。
Hello $name
| 引用符 | 特徴 |
|---|---|
| ” “ | 変数を展開する |
| ‘ ‘ | 変数を展開せず、そのまま表示する |
変数の中身を表示したい場合は、ダブルクォートを使うと覚えておきましょう。
echoコマンドで変数を表示する
echoコマンドは、変数の中身を確認するときにもよく使います。
たとえば、次のようにnameという変数を作ります。
name="hayana"
変数の中身を表示するには、変数名の前に$を付けます。
echo "$name"
実行結果は次の通りです。
hayana
シェルスクリプトでは、変数に入っている値を確認するためにechoを使う場面がよくあります。
echoコマンドで環境変数を表示する
echoコマンドでは、環境変数の内容も表示できます。
たとえば、現在のホームディレクトリを表すHOME環境変数を表示する場合は、次のように実行します。
echo "$HOME"
実行結果は、環境によって次のようになります。
/home/user
現在のシェルを確認したい場合は、SHELL環境変数を表示できます。
echo "$SHELL"
実行結果の例は次の通りです。
/bin/bash
環境変数を確認するときにも、echoコマンドはよく使われます。
echoで現在のパスを確認する
Linuxでは、PATHという環境変数があります。
PATHには、コマンドを探すディレクトリの一覧が入っています。
PATHを表示するには、次のように実行します。
echo "$PATH"
実行すると、コロンで区切られた複数のディレクトリが表示されます。
/usr/local/bin:/usr/bin:/bin
初心者のうちは細かく理解できなくても問題ありません。
echoを使うと環境変数の中身を確認できる、という点を覚えておくとよいです。
echoコマンドでファイルに書き込む
echoコマンドは、リダイレクトと組み合わせることで、文字列をファイルに書き込めます。
たとえば、sample.txtにHello Linuxと書き込む場合は、次のように実行します。
echo "Hello Linux" > sample.txt
その後、catで中身を確認します。
cat sample.txt
実行結果は次の通りです。
Hello Linux
このように、echoとリダイレクトを組み合わせることで、簡単なテキストファイルを作成できます。
> はファイルを上書きする
echoでファイルに書き込むときに使う > は、ファイルを上書きします。
たとえば、sample.txtにすでに次の内容が入っているとします。
old text
ここで次のコマンドを実行します。
echo "new text" > sample.txt
sample.txtの中身を確認すると、次のようになります。
new text
元のold textは消えています。
> は追記ではなく上書きです。
既存ファイルに対して使う場合は、元の内容が消えてもよいか必ず確認しましょう。
>> はファイルに追記する
既存ファイルの末尾に文字列を追加したい場合は、>> を使います。
echo "first line" > sample.txt
echo "second line" >> sample.txt
catで確認すると、次のように表示されます。
first line
second line
>> は追記です。
既存の内容を残したまま、末尾に新しい内容を追加します。
| 記号 | 意味 | 注意点 |
|---|---|---|
| > | 上書き | 既存の内容が消える |
| >> | 追記 | 既存の内容の末尾に追加される |
初心者は、> と >> の違いを必ず理解してから使いましょう。
echoでファイルを新規作成する
echoとリダイレクトを使うと、存在しないファイルを新規作成できます。
echo "memo text" > memo.txt
memo.txtが存在しない場合、新しくmemo.txtが作成されます。
作成されたファイルの中身を確認するには、catを使います。
cat memo.txt
実行結果は次の通りです。
memo text
touchコマンドは空ファイルを作成しますが、echoを使うと文字入りのファイルを作成できます。
echoで空行を追加する
echoコマンドは、空行を追加するときにも使えます。
引数なしでechoを実行すると、空行が表示されます。
echo
ファイルに空行を追記したい場合は、次のように実行できます。
echo >> sample.txt
これでsample.txtの末尾に空行が追加されます。
ログやメモの区切りを作りたい場合に使えることがあります。
echo -nで改行せずに表示する
通常のechoコマンドは、最後に改行を付けて表示します。
echo "Hello"
echo -nを使うと、最後の改行を付けずに表示できます。
echo -n "Hello"
実行結果では、Helloの直後に次のプロンプトが続くことがあります。
シェルスクリプトで、同じ行に入力を促したい場合などに使われることがあります。
echo -n "Enter your name: "
ただし、環境によってechoのオプション解釈が少し異なる場合があります。
厳密な出力制御が必要な場合は、printfコマンドを使うこともあります。
echo -eでエスケープ文字を解釈する
echo -eを使うと、\nや\tのようなエスケープ文字を解釈して表示できます。
たとえば、\nは改行を表します。
echo -e "Hello\nLinux"
実行結果は次のようになります。
Hello
Linux
\tはタブを表します。
echo -e "name\tvalue"
実行結果は次のようになります。
name value
環境によってはecho -eの動きが異なる場合があります。
より安定した形式で改行やタブを扱いたい場合は、printfコマンドを使うこともあります。
echoでよく使うエスケープ文字
echo -eと組み合わせて使われる代表的なエスケープ文字は、次の通りです。
| 文字 | 意味 | 例 |
|---|---|---|
| \n | 改行 | echo -e “A\nB” |
| \t | タブ | echo -e “A\tB” |
| \\ | バックスラッシュ | echo -e “\\” |
初心者は、まず\nが改行、\tがタブと覚えておくと十分です。
echoコマンドで複数行をファイルに書き込む
echo -eを使うと、複数行の内容をファイルに書き込むこともできます。
echo -e "line1\nline2\nline3" > sample.txt
catで確認すると、次のようになります。
cat sample.txt
line1
line2
line3
ただし、複数行の長い内容を書き込む場合は、echoよりもエディタやヒアドキュメントを使うほうが管理しやすいことがあります。
初心者のうちは、短いメモや簡単なテストファイルの作成にechoを使うとよいです。
echoコマンドでコマンド結果を表示する
echoでは、コマンド置換を使ってコマンドの実行結果を表示することもできます。
たとえば、現在の日付を表示するdateコマンドと組み合わせる場合は、次のように書けます。
echo "Today is $(date)"
実行結果の例は次の通りです。
Today is Mon Jul 6 10:00:00 JST 2026
$(コマンド) の部分が実行され、その結果がechoで表示されます。
シェルスクリプトでメッセージを出力するときによく使われる書き方です。
echoコマンドでログ風に出力する
echoコマンドは、簡単なログ出力にも使えます。
たとえば、処理開始のメッセージを表示する場合は、次のように書けます。
echo "backup start"
日時付きで表示したい場合は、dateコマンドと組み合わせます。
echo "$(date) backup start"
さらに、ファイルへ追記したい場合は、>>を使います。
echo "$(date) backup start" >> backup.log
このように、echoはシェルスクリプトの進行状況や簡単なログを出力するときにも役立ちます。
echoコマンドでよく使うオプション一覧
echoコマンドで初心者が知っておきたい使い方をまとめると、次の通りです。
| コマンド | 意味 | 使う場面 |
|---|---|---|
| echo “Hello” | 文字列を表示する | メッセージを表示したいとき |
| echo “$HOME” | 変数の中身を表示する | 環境変数を確認したいとき |
| echo “Hello” > file.txt | ファイルに上書きする | 文字入りファイルを作成したいとき |
| echo “Hello” >> file.txt | ファイルに追記する | 既存内容の末尾に追加したいとき |
| echo -n “Hello” | 最後に改行を付けずに表示する | 同じ行に続けて表示したいとき |
| echo -e “A\nB” | エスケープ文字を解釈する | 改行やタブを含めたいとき |
初心者は、まずecho、echo > file、echo >> file、echo “$変数名” を覚えるとよいです。
echoコマンドとtouchコマンドの違い
echoコマンドとtouchコマンドは、どちらもファイル作成に関係する場面で使われます。
ただし、役割は違います。
| コマンド | 役割 | 例 |
|---|---|---|
| touch | 空ファイルを作成する | touch sample.txt |
| echo | 文字列を表示する、文字入りファイルを作る | echo “Hello” > sample.txt |
空ファイルを作りたい場合はtouchを使います。
文字入りのファイルを作りたい場合はechoとリダイレクトを使えます。
echoコマンドとcatコマンドの違い
echoコマンドとcatコマンドも、Linux初心者が混乱しやすいコマンドです。
echoは文字列を表示するコマンドです。
catはファイルの中身を表示するコマンドです。
| コマンド | 役割 | 例 |
|---|---|---|
| echo | 指定した文字列を表示する | echo “Hello” |
| cat | ファイルの中身を表示する | cat sample.txt |
echoでファイルに文字を書き込み、catで中身を確認する流れはよく使います。
echo "Hello" > sample.txt
cat sample.txt
echoコマンドとprintfコマンドの違い
printfコマンドは、指定した形式で文字列を出力するためのコマンドです。
echoよりも細かく出力形式を制御できます。
たとえば、改行を明示して表示したい場合は、printfを使うことがあります。
printf "Hello\nLinux\n"
echoは簡単な表示に向いています。
printfは、改行や桁揃えなどを厳密に制御したい場合に向いています。
| コマンド | 向いている用途 |
|---|---|
| echo | 簡単な文字列表示、変数表示、ファイル書き込み |
| printf | 出力形式を細かく制御したいとき |
初心者はまずechoを覚え、出力形式を細かく整えたい段階でprintfを学ぶとよいです。
echoコマンドでよくあるエラー・つまずき
echoコマンド自体はシンプルですが、リダイレクトや変数と組み合わせると、初心者がつまずくことがあります。
Permission denied
Permission deniedは、「権限がありません」という意味です。
書き込み権限がない場所にechoで書き込もうとすると表示されることがあります。
echo "test" > /root/sample.txt
bash: /root/sample.txt: Permission denied
/rootは管理者ユーザーrootのホームディレクトリであり、一般ユーザーは通常書き込めません。
権限エラーが出た場合は、その場所へ本当に書き込む必要があるのか確認しましょう。
練習用であれば、自分のホームディレクトリ配下で作業するのが安全です。
No such file or directory
No such file or directoryは、「そのようなファイルやディレクトリはありません」という意味です。
存在しないディレクトリの中へ書き込もうとすると表示されることがあります。
echo "test" > logs/sample.txt
bash: logs/sample.txt: No such file or directory
この場合、logsディレクトリが存在しない可能性があります。
先にmkdirでディレクトリを作成しましょう。
mkdir -p logs
echo "test" > logs/sample.txt
変数がそのまま表示される
変数の中身を表示したいのに、$nameのようにそのまま表示される場合があります。
たとえば、次のようにシングルクォートで囲んだ場合です。
name="Linux"
echo 'Hello $name'
実行結果は次のようになります。
Hello $name
変数を展開したい場合は、ダブルクォートを使います。
echo "Hello $name"
実行結果は次の通りです。
Hello Linux
ファイルの中身が上書きされた
echoで > を使うと、ファイルの中身は上書きされます。
echo "new text" > sample.txt
既存の内容を残したい場合は、>> を使いましょう。
echo "new text" >> sample.txt
上書きと追記の違いを理解しておくことが大切です。
echoコマンドで書き込みできないときの確認ポイント
echoコマンドでファイルに書き込みできないときは、次のポイントを確認しましょう。
- 現在地をpwdで確認したか
- 書き込み先のディレクトリが存在しているか
- 書き込み先に権限があるか
- > と >> の違いを理解しているか
- ファイル名やパスを間違えていないか
- 変数を表示する場合、引用符を間違えていないか
エラーが出たら、まず次のコマンドで現在地と書き込み先を確認すると原因を探しやすくなります。
pwd
ls -la
echoコマンドを安全に使うコツ
echoコマンドを安全に使うには、特にファイルへの書き込み時に注意することが大切です。
初心者は、次の流れを習慣にすると安心です。
pwd
ls -l sample.txt
cat sample.txt
echo "追記したい内容" >> sample.txt
cat sample.txt
まずpwdで現在地を確認します。
ls -lで対象ファイルの存在を確認します。
catで現在の中身を確認します。
追記したい場合は >> を使います。
最後にcatで結果を確認します。
既存ファイルに対して > を使うと上書きになるため、内容を消したくない場合は >> を使いましょう。
echoコマンドを使った練習手順
Linux初心者は、練習用ディレクトリでechoコマンドを試すと理解しやすくなります。
次の手順で練習してみましょう。
1. ホームディレクトリへ移動する
cd
2. 練習用ディレクトリを作成する
mkdir echo-practice
3. 練習用ディレクトリへ移動する
cd echo-practice
4. 文字列を表示する
echo "Hello Linux"
5. 文字列をファイルに書き込む
echo "first line" > sample.txt
6. ファイルの中身を確認する
cat sample.txt
7. 文字列を追記する
echo "second line" >> sample.txt
8. もう一度中身を確認する
cat sample.txt
9. 変数を表示する
name="Linux"
echo "Hello $name"
この練習を行うと、文字列表示、ファイル書き込み、追記、変数表示の基本をまとめて確認できます。
echoコマンドを覚えると何ができるようになる?
echoコマンドを覚えると、Linuxで文字列を表示したり、簡単なファイル書き込みをしたりできるようになります。
具体的には、次のような作業に役立ちます。
- ターミナルにメッセージを表示する
- 変数の中身を確認する
- 環境変数を確認する
- 文字入りのテキストファイルを作成する
- 既存ファイルに文字列を追記する
- シェルスクリプトで処理状況を表示する
- 簡単なログをファイルに出力する
- コマンド結果をメッセージに含めて表示する
echoはシンプルなコマンドですが、Linux操作やシェルスクリプトの基本として非常によく使われます。
echoコマンドのよくある質問
echoコマンドは何に使いますか?
echoコマンドは、Linuxで文字列や変数の中身を表示するために使います。
リダイレクトと組み合わせることで、ファイルへの書き込みや追記にも使えます。
echoコマンドの基本形は何ですか?
基本形は次の通りです。
echo 表示したい文字列
たとえば、Helloと表示する場合は次のように実行します。
echo "Hello"
echoでファイルに書き込むにはどうしますか?
echoでファイルに書き込むには、> を使います。
echo "Hello" > sample.txt
ただし、> は既存ファイルを上書きします。
echoでファイルに追記するにはどうしますか?
ファイルに追記する場合は、>> を使います。
echo "Hello" >> sample.txt
>> は既存の内容を残したまま末尾に追加します。
> と >> の違いは何ですか?
> は上書きです。
既存ファイルの内容は消えて、新しい内容に置き換わります。
>> は追記です。
既存ファイルの末尾に新しい内容を追加します。
echo -nとは何ですか?
echo -nは、最後に改行を付けずに文字列を表示するための使い方です。
echo -n "Hello"
echo -eとは何ですか?
echo -eは、\nや\tなどのエスケープ文字を解釈して表示するための使い方です。
echo -e "Hello\nLinux"
echoで変数を表示するにはどうしますか?
変数を表示するには、変数名の前に$を付けます。
name="Linux"
echo "$name"
echoで変数がそのまま表示されるのはなぜですか?
シングルクォートで囲んでいる場合、変数は展開されずそのまま表示されます。
echo '$name'
変数の中身を表示したい場合は、ダブルクォートを使います。
echo "$name"
echoとcatの違いは何ですか?
echoは指定した文字列を表示するコマンドです。
catはファイルの中身を表示するコマンドです。
echoでファイルに書き込み、catで中身を確認する流れをよく使います。
echoとtouchの違いは何ですか?
touchは空ファイルを作成するコマンドです。
echoは文字列を表示するコマンドで、リダイレクトと組み合わせると文字入りファイルを作成できます。
echoとprintfの違いは何ですか?
echoは簡単な文字列表示に向いています。
printfは、改行や桁揃えなど出力形式を細かく制御したい場合に向いています。
echoで書き込みできない原因は何ですか?
書き込み先ディレクトリが存在しない、書き込み権限がない、パスを間違えている、読み取り専用の場所に書き込もうとしている、などが考えられます。
まずはpwdとls -laで現在地と書き込み先を確認しましょう。
まとめ
echoコマンドとは、Linuxで文字列や変数の内容を表示するための基本コマンドです。
基本的な使い方は、echoの後ろに表示したい文字列を指定します。
echo "Hello Linux"
変数の中身を表示する場合は、変数名の前に$を付けます。
echo "$HOME"
リダイレクトを使うと、echoの出力をファイルに書き込めます。
echo "Hello" > sample.txt
ただし、> は上書きです。
既存ファイルの内容を残したまま追記したい場合は、>> を使います。
echo "Hello" >> sample.txt
echo -nを使うと、最後に改行を付けずに表示できます。
echo -eを使うと、\nや\tなどのエスケープ文字を解釈できます。
Linux初心者は、まずechoで文字列を表示し、次にecho > fileでファイルへ書き込み、echo >> fileで追記する流れを覚えると理解しやすいです。
echoコマンドは、シェルスクリプト、ログ出力、変数確認、簡単なファイル作成など、Linux操作のさまざまな場面で役立ちます。
まずは練習用ディレクトリでechoコマンドを試し、文字列表示とファイル書き込みの基本に慣れていきましょう。





コメント