【ErrorMessage】"ls command not found "の原因と解決方法



CentOS 8.2 で ls コマンドを実行したところ以下のエラーが発生しました。


# ls
ls command not found



私の環境ではls は以下にありました。通常はここへパスが通っていて、lsが正常に実行されるはずです。


/usr/bin/ls



以下のようにパスを直接打てば実行できます。

# /usr/bin/ls
boot etc lib media opt root sbin sys usrbin dev home lib64 mnt proc run srv tmp var



原因


恐らく、環境変数の設定を間違えて ls へパスが通っていないものと思われます。

環境変数を間違えるよくある手順は上書きしてしまうミスです。
【誤った例】

export PATH=/hogehoge



対処



以下のように既存の値を上書きしないように修正する。
【正しい例】

export PATH=/hogehoge:$PATH



パスを確認するには以下のコマンドを実行します。


# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin



どこでPath環境変数を壊しているか分からない場合はログイン時に実行される設定ファイルを追いかけたほうが良いかもしれません

参考:Redhat での
Redhat における bash 設定ファイル読み込みの順番





よく聞かれるエラーメッセージ




個人的に独自に調査した事項をまとめています。各ベンダーとは全く関係がありません。
内容に誤りがある場合や情報が古くなっている場合があります。その場合でも修正されるとは限りません。
参考としてサイト閲覧ください。万が一誤りがあり損失等が発生しても保証しません。あくまでも自己責任でサイトを閲覧ください。