カテゴリ: Linux 更新日: 2026/03/24

Linuxの「&&」とは?条件付きコマンド実行の仕組みを初心者向けに徹底解説

Linuxの「&&」とは?条件付きコマンド実行の仕組み
Linuxの「&&」とは?条件付きコマンド実行の仕組み

先生と生徒の会話形式で理解しよう

生徒

「Linuxでコマンドを続けて実行したいんですが、うまくいかないんです。」

先生

「それなら&&を使うと便利ですよ。条件付きでコマンドを実行できます。」

生徒

「条件付きってどういう意味ですか?普通に続けて書くのと何が違うんですか?」

先生

「前のコマンドが成功したときだけ、次のコマンドが実行される仕組みです。エラーを防ぐときにとても便利ですよ。」

1. Linuxの「&&」とは?

1. Linuxの「&&」とは?
1. Linuxの「&&」とは?

&&は、Linuxのシェルで使われる条件付きコマンド実行のための演算子です。読み方は&&(アンドアンド)といいます。

この記号を使うことで、「前のコマンドが成功した場合だけ次のコマンドを実行する」という処理ができます。Linux初心者やbashやzshを学び始めた人にとっては、非常に重要な基本機能です。

例えば、ファイルの作成が成功したときだけ、次の処理を行いたい場合などに使われます。

2. 条件付きコマンド実行の仕組み

2. 条件付きコマンド実行の仕組み
2. 条件付きコマンド実行の仕組み

Linuxのコマンドは、実行結果として「終了ステータス」という値を返します。成功した場合は0、失敗した場合は1以上の数値になります。

&&は、この終了ステータスを確認して、成功した場合だけ次のコマンドを実行します。

つまり、「成功したら次へ進む」というシンプルな条件分岐の仕組みです。プログラミングでいうif文のような役割を持っています。

3. 基本的な使い方

3. 基本的な使い方
3. 基本的な使い方

基本構文はとてもシンプルです。


コマンド1 && コマンド2

このように書くことで、コマンド1が成功した場合のみ、コマンド2が実行されます。


mkdir test && cd test

この例では、testディレクトリの作成に成功した場合だけ、そのディレクトリへ移動します。もし作成に失敗した場合は、cdコマンドは実行されません。

4. 実行例で動きを理解する

4. 実行例で動きを理解する
4. 実行例で動きを理解する

実際に動きを確認してみましょう。


touch sample.txt && echo "ファイル作成成功"
ファイル作成成功

ファイル作成が成功したため、メッセージが表示されました。


cd 存在しないディレクトリ && echo "移動成功"
bash: cd: 存在しないディレクトリ: No such file or directory

この場合はcdが失敗したため、echoコマンドは実行されていません。このように、エラー時の不要な処理を防ぐことができます。

5. 「;」や「||」との違い

5. 「;」や「||」との違い
5. 「;」や「||」との違い

Linuxには似たような記号として「;」や「||」があります。それぞれの違いを理解すると、より正確にコマンドを扱えるようになります。

「;」は、前のコマンドの結果に関係なく、次のコマンドを実行します。


mkdir test2 ; cd test2

「||」は、前のコマンドが失敗したときだけ次を実行します。読み方は||(オアオア)です。


cd sample || echo "移動失敗"
移動失敗

このように、「&&」は成功時、「||」は失敗時に実行されるという違いがあります。

6. 複数のコマンドをつなげる方法

6. 複数のコマンドをつなげる方法
6. 複数のコマンドをつなげる方法

&&は複数つなげて使うこともできます。これにより、一連の処理を安全に順番通り実行できます。


mkdir project && cd project && touch index.html

この例では、ディレクトリ作成、移動、ファイル作成を順番に行っています。途中で失敗すると、それ以降の処理は止まります。

7. bashやzshでの使い方

7. bashやzshでの使い方
7. bashやzshでの使い方

Linuxでよく使われるシェルにはbash(バッシュ)やzsh(ズィーシェル)があります。どちらでも&&は同じように使えます。

シェルとは、コマンドを受け取って実行するプログラムのことです。ターミナルで入力した内容を処理してくれる役割を持っています。

初心者の方はまずbashで基本を覚え、その後zshなどに進むと理解しやすくなります。

8. スクリプトでの活用方法

8. スクリプトでの活用方法
8. スクリプトでの活用方法

&&はシェルスクリプトでもよく使われます。シェルスクリプトとは、複数のコマンドをまとめて実行するファイルのことです。読み方はシェルスクリプト(シェルスクリプト)です。


#!/bin/bash
mkdir backup && cp file.txt backup/

このスクリプトでは、backupディレクトリが正常に作成された場合のみ、ファイルのコピーが実行されます。エラーが発生した場合の無駄な処理を防げるため、実務でもよく使われます。

9. 初心者がよくあるミスと注意点

9. 初心者がよくあるミスと注意点
9. 初心者がよくあるミスと注意点

初心者がよく間違えるポイントとして、スペースの入れ方があります。&&の前後にはスペースを入れるようにしましょう。

また、すべてのコマンドが成功する前提で書いてしまうと、途中で止まる可能性があります。処理の流れをしっかり考えることが大切です。

さらに、重要な処理の前には必ず確認コマンドを入れることで、安全性を高めることができます。

まとめ

まとめ
まとめ

Linuxにおける&&は、条件付きコマンド実行を実現するための非常に重要な機能であり、コマンドライン操作やシェルスクリプトの効率化と安全性向上に欠かせない存在です。&&を使うことで、前のコマンドが成功した場合のみ次の処理を実行するという流れを簡潔に記述でき、エラー発生時の不要な処理を防ぐことができます。これはLinux初心者だけでなく、実務でサーバー運用や開発を行うエンジニアにとっても基本かつ重要な知識です。

特にmkdirやcdなどの基本コマンドと組み合わせることで、安全なディレクトリ操作が可能になります。また、複数のコマンドを&&で連結することで、処理の順序を保証しながら一連の作業を自動化できます。この仕組みは、bashやzshといったシェル環境において共通して利用できるため、どのLinux環境でも応用が可能です。

Linuxコマンドの理解を深めるうえで、終了ステータスという概念も重要です。コマンドが成功した場合は0、失敗した場合はそれ以外の値が返され、この値をもとに&&は動作します。つまり&&は単なる記号ではなく、システム内部の処理結果を判断して動くロジックを持っています。この考え方を理解することで、より高度なコマンド操作やスクリプト作成ができるようになります。

また、似た機能であるセミコロンや||との違いを理解することも重要です。セミコロンは常に次のコマンドを実行し、||は失敗時のみ実行されるため、それぞれの使い分けによって柔軟な処理制御が可能になります。&&は成功時に処理を続けるため、特に安全性を重視する場面で効果を発揮します。

シェルスクリプトにおいても&&は頻繁に使用されます。例えばバックアップ処理やデプロイ作業など、複数の処理を順番に実行する必要がある場面では、途中でエラーが発生した場合に後続処理を止めることができるため、システムの安定性を保つことができます。これにより、無駄な処理や予期しない動作を防ぐことが可能です。

初心者が注意すべきポイントとしては、スペースの有無やコマンドの順序、そして各コマンドの成功条件を正しく理解することが挙げられます。&&の前後にはスペースを入れることが基本であり、コマンドの実行順序を誤ると意図しない結果になる可能性があります。また、すべてのコマンドが成功する前提で書くのではなく、失敗する可能性も考慮した設計が重要です。

以下は、&&を使った典型的な実用例です。Linux環境での作業効率を高めるための基本として覚えておくとよいでしょう。


mkdir sample_dir && cd sample_dir && touch index.html

このように、ディレクトリ作成、移動、ファイル作成を一度に行い、途中で失敗した場合にはそれ以降の処理が止まるため、安全かつ効率的な操作が実現できます。Linuxコマンドの基本操作として&&を理解し活用することで、日常的な作業や開発効率が大きく向上します。

先生と生徒の振り返り会話

生徒

Linuxの&&は、前のコマンドが成功したときだけ次のコマンドが実行される仕組みなんですよね。

先生

その通りです。終了ステータスが0のときだけ次に進むので、安全に処理をつなげることができます。

生徒

セミコロンや||との違いも理解できました。用途によって使い分けるのが大事なんですね。

先生

はい。特に&&はエラーを防ぎたいときに便利です。シェルスクリプトでもよく使われます。

生徒

複数のコマンドをつなげて自動化できるのも便利だと感じました。

先生

その理解で問題ありません。Linuxコマンドの基礎としてしっかり身につけておきましょう。

関連記事:
カテゴリの一覧へ
新着記事
New1
基本情報技術者試験
ユニキャストとは?初心者でもわかる1対1の通信の仕組みをやさしく解説
更新記事
New2
基本情報技術者試験
ブロードキャストとは?初心者にもわかるネットワーク通信の基本用語を解説!
更新記事
New3
Linux
Linuxの/etc/profile.dとは?ログイン時に読み込まれるスクリプトの仕組みを初心者向けに徹底解説
新規投稿
New4
基本情報技術者試験
IPアドレスのクラスとは?初心者でもわかるネットワークアドレスの分類と仕組み
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
234
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.5
Java&Spring記事人気No5
基本情報技術者試験
IMAP
115
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.6
Java&Spring記事人気No6
基本情報技術者試験
パケットとは?初心者にもわかりやすくネットワークの仕組みをやさしく解説!
No.7
Java&Spring記事人気No7
基本情報技術者試験
IPv4
102
IPv4とは?初心者でもわかるIPアドレスの基本と通信のルール
No.8
Java&Spring記事人気No8
基本情報技術者試験
CGIとは?初心者でもわかるWebとプログラムのつながりを解説!