こんにちは、
InfraAcademyというインフラ学習サービスを運営しております、ryuと申します。
今回の記事では、bash: vi: command not foundというエラーが出た場合の対処方法について解説します。
Linuxで設定ファイルを編集しようとしてviを実行したのに、command not foundと表示されると困りますよね。
このエラーは、現在の環境でviコマンドを実行できない状態を表しています。この記事では、エラーの意味からLinuxへのインストール方法、Dockerでの対処まで解説します。
bash: vi: command not foundというエラーが出た場合の対処方法¶
viコマンドを実行した際に、bash: vi: command not foundというエラーが出ることはありませんか?
このエラーの対処方法について解説したいとおもいます。
まず、実際に次のようなコマンドを実行したとします。
vi test.txt
viが使えない環境では、次のようなエラーが表示されます。
bash: vi: command not found
command not foundはLinuxではよく見るエラーです。入力ミスか、必要なプログラムが入っていない可能性があります。
bash: vi: command not foundとはどのような意味?¶
「bash: vi: command not found」を日本語に訳すと、viコマンドが見つかりませんという意味になります。
つまり、viコマンドを動かすための必要なプログラムが無いということです。Linuxでは、パッケージとしてさまざまなコマンドやソフトウェアを提供しております。デフォルトでコマンドが使えない場合は、パッケージをインストールする必要があります。
ただし、いきなりインストールする前に、本当にviが見つからないのか確認してみましょう。
command -v vi
viが利用できる場合は、次のようにコマンドの場所が表示されます。
/usr/bin/vi
何も表示されない場合は、viを利用できない可能性があります。
似た確認方法としてwhichもあります。
which vi
【関連記事】コマンドがどこにあるのか調べる方法は、whichコマンド、whereisコマンドで調査する方法でも詳しく解説しています。
viコマンドをインストールする方法¶
viコマンドのインストール¶
viコマンドのインストールはLinuxのディストリビューションやOSによって異なります。
Debian系のディストリビューションでは、aptパッケージマネージャーを使用してvimをインストールします。
sudo apt update
sudo apt install vim
Red Hat系のディストリビューションでは、dnfまたはyumパッケージマネージャーを使用してvimをインストールします。
sudo dnf install vim
古い環境では、次のようにyumを利用することもあります。
sudo yum install vim
ディストリビューションごとの違いをまとめると、次の通りです。
| Linux | 主なパッケージ管理 | インストール例 |
|---|---|---|
| Ubuntu | apt |
sudo apt install vim |
| Debian | apt |
sudo apt install vim |
| Rocky Linux | dnf |
sudo dnf install vim |
| AlmaLinux | dnf |
sudo dnf install vim |
| RHEL | dnf |
sudo dnf install vim |
自分がどのLinuxを使っているのか分からない場合は、次のコマンドで確認できます。
cat /etc/os-release
パッケージ管理については、こちらで詳しく解説しています。
viとVimは何が違う?¶
Vimは、viをベースに機能を拡張したテキストエディターです。環境によってはviを実行するとVimが起動します。
そのため、vimパッケージをインストールすることで、vimだけではなくviとして利用できる環境も多くあります。
基本的なファイル編集であれば、まず次の操作を覚えておけば十分です。
i 編集モードへ移動
Esc コマンドモードへ戻る
:wq 保存して終了
:q! 保存せず終了
viの操作そのものを確認したい方は、【関連記事】Linuxのviコマンドの使い方を解説も参考にしてください。
viコマンドが使えるか確認する¶
viコマンドが使えるかどうかの確認¶
viコマンドのインストールが完了したら、viコマンドが使えるかどうか確認してみましょう。
vi --version
コマンドを実行すると、viのバージョン情報が表示されます。

実際にvi test.txtでファイルを開き、iで入力、Esc→:wqで保存終了まで試してみましょう。
インストールしてもcommand not foundになる場合¶
Vimをインストールしたのに、まだcommand not foundが表示される場合もあります。
そのときは、いくつか確認してみましょう。
コマンド名を間違えていないか確認する¶
まずは入力したコマンドを確認します。
vi
Linuxのコマンドでは、大文字と小文字が区別されます。
また、全角スペースなどが含まれていないかも確認してください。
vimコマンドが利用できるか確認する¶
環境によってはvimは使えても、viという名前では利用できない場合があります。
次のコマンドを試してみましょう。
command -v vim
vim --version
vimが利用できるのであれば、ファイル編集は次のように行えます。
vim test.txt
PATHも確認する¶
コマンドがインストールされていても、実行ファイルがPATHに含まれていない場所にあると、コマンド名だけでは実行できません。
PATHは次のように確認できます。
echo $PATH
ただし、通常のパッケージ管理でVimをインストールした場合は、一般的なコマンド検索パスへ配置されます。
まずはcommand -v viやcommand -v vimで確認するのがおすすめです。
【関連記事】環境変数について詳しく知りたい方は、exportコマンドの使い方解説!環境変数の設定をしようもご覧ください。
Dockerでbash: vi: command not foundが出る理由¶
Dockerによくあるエラー¶
bash: vi: command not foundはDockerによくあるエラーです。
Dockerコンテナには、デフォルトでviコマンドが入っていないからです。しかし、毎度viコマンドをインストールするのは面倒です。
Dockerイメージは、サイズを小さくするため必要最低限のパッケージだけを含むことがあります。
コンテナ内で一時的にVimを使いたい場合は、次のようにインストールできます。
apt-get update
apt-get install -y vim
コンテナを作り直すと手動で追加したVimは消れるため、継続して使うならDockerfileに書いておきます。
DockerfileでVimをインストールする¶
そのような場合は、Dockerfileでviコマンドをインストールするようにしましょう。以下はubuntuのイメージににvimをインストールする例です。
# ベースイメージとしてUbuntuを使用
FROM ubuntu:latest
# パッケージリストを更新し、vimをインストール
RUN apt-get update && \
apt-get install -y vim && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# デフォルトのコマンドを設定
CMD ["bash"]
上記のファイル内の、apt-get install -yの-yオプションは、コマンド実行中に現れるすべてのプロンプトに対して自動的に「yes」と応答するためのものです。
apt-get installコマンドを実行すると、インストールの確認を求めるプロンプトが表示されます。
このオプションを使用することで、ユーザーが手動で応答することなく、スクリプトや自動化されたプロセスでパッケージをインストールすることができます。
このようにDockerfile内でviコマンドをインストールしておくと、vi: command not foundが毎回出なくなります。
本番コンテナにVimは必要?¶
開発中はVimが便利ですが、本番用Dockerイメージには必ずしも必要ありません。不要なパッケージを増やさず、用途に応じて使い分けましょう。
command not foundが出たときの確認手順¶
vi以外のコマンドでもcommand not foundは発生します。
そのような場合も、今回と同じ考え方で確認できます。
| 手順 | 確認内容 |
|---|---|
| 1 | コマンド名の入力ミスがないか |
| 2 | command -vでコマンドが存在するか |
| 3 | Linuxのディストリビューションを確認する |
| 4 | 必要なパッケージをインストールする |
| 5 | インストール後に再度コマンドを確認する |
command not foundと出たら、Linuxがそのコマンドを見つけられていないと考えましょう。
InfraAcademyでLinuxコマンドを実際に練習する¶
Linuxのコマンドは、記事を読んで名前だけ覚えるよりも、実際に入力してエラーや実行結果を見る方が身につきやすいです。
InfraAcademyでは、ブラウザ上でLinuxを操作しながら、ファイル・ディレクトリ操作やパッケージ管理などを学習できます。
Linuxを基礎から学習したい方は、Linux入門講座をご覧ください。
Linuxサーバーを扱ううえで必要になるIPアドレスやルーティングなどは、ネットワーク講座で学習できます。
さらにAWS上でLinuxサーバーを扱ってみたい方は、AWS講座もおすすめです。
command not foundのようなエラーも、実際にLinuxを触っていると何度も遭遇します。
そのたびに原因を確認して解決することで、Linuxの仕組みも少しずつ理解できるようになります。
bash: vi: command not foundのまとめ¶
今回の記事では、bash: vi: command not foundというエラーが出た場合の対処方法について解説しました。
viコマンドをインストールすれば、すぐに解消されることが多いエラーです。
UbuntuやDebian系であれば、次のようにVimをインストールできます。
sudo apt update
sudo apt install vim
Rocky LinuxやAlmaLinux、RHELなどでは、次のように実行できます。
sudo dnf install vim
インストール後は、次のコマンドで確認しましょう。
command -v vi
vi --version
Dockerで毎回同じエラーが出る場合は、必要に応じてDockerfileへVimのインストール処理を追加します。
viコマンドに限らず、コマンドがない場合はcommand not foundというエラーがでます。そのような場合は、入力したコマンド、コマンドの存在、必要なパッケージを順番に確認してみてください。
当ブログでは、このようなITに関する記事を発信しているので興味のある方は引き続きごらんください。



