Linux や Unix 系 OS でコマンド実行時に
sudo: command not found
と表示されることがあります。
普段は root 権限でコマンドを実行するために使う sudo が使えないと、システムの操作が大幅に制限されてしまいます。
本記事では、sudo: command not found が出る主な原因とその解決方法を解説します。

1. PATH の設定ミス
原因
sudo は通常 /usr/bin/sudo に配置されています。
環境変数 PATH に /usr/bin が含まれていないと、シェルは sudo を見つけられず command not found エラーになります。
確認方法
echo $PATH
which sudo
which sudo で何も表示されなければ、PATH に問題があるか、そもそもインストールされていません。
解決方法
一時的に PATH を通す場合:
export PATH=$PATH:/usr/bin
恒久的に設定する場合は、~/.bashrc や ~/.zshrc に追記しましょう。
2. sudo が未インストール
原因
軽量なディストリビューション(例:CentOS Minimal / Debian Minimal / Alpine Linux)では、sudo が標準でインストールされていないことがあります。
確認方法
root でログインできるなら以下を実行して確認します。
ls -l /usr/bin/sudo
存在しなければ未インストールです。
解決方法
root 権限でインストールします。
- Debian / Ubuntu 系
su - apt update apt install sudo - CentOS / RHEL 系
su - yum install sudo - Alpine Linux
su - apk add sudo
3. root シェルで代用する方法
もし sudo が使えずインストールもできない場合、一時的に root アカウント で直接操作する方法があります。
root に切り替える
su -
パスワード入力後、プロンプトが # になれば root です。
その状態で必要な操作(yum install sudo など)を行い、exit で元のユーザーに戻ります。
⚠️ 注意: root で作業するとシステムを壊すリスクがあるため、基本的には sudo を利用するのが推奨です。
4. まとめ
sudo: command not found が出るときは以下の順序で確認しましょう。
- PATH の設定ミス →
echo $PATH/which sudoで確認 - sudo 未インストール → root で
aptやyumを使ってインストール - 代替手段 →
su -で root に切り替えて作業


よくあるエラーと解決方法まとめ

