柴犬のブログ

柴犬のブログです(プログラミング学習等)

Linuxの学習をしていてcommand not foundて言われた時の対処法

f:id:undershibadog:20200128215734j:plain

Linuxの学習をサイトや本などでしていて、「このコマンドを打ち込んでください」と言われて自分のLinux環境で打ち込むと -bash: hoge: command not found って言われる場合の対処法

VPS上にLinuxをインストールして学習しているような状況だとOSが最小構成でインストールされていてるので。余分な設定などが省かれてしまっており、「そのコマンドないよ!」っていわれやすいはず。

  • 環境:さくらVPS
  • OS:Debian10.2
1.コマンドはLinux上にあるがPATHが通っていないだけなのかを調べる。

パスを通すとは環境変数($PATH)の記述を変えて、コマンド検索パスを追加することです。 $ whereis コマンド名 whereis はコマンドがあるか、ある場合コマンドの場所を教えてくれる。 hitした場合、コマンドのあるディレクトリの場所をPATH に設定する。

export PATH="$PATH:/usr/sbin" これでコマンドが使えるようになるはず!※これで設定したコマンドはログアウトすると使えなくなります。永続化するには~/.bashrcなどに記述する。

2.コマンドがLinux上にないのでパッケージマネージャで入れる。

whereis やってなかったらないです。ないと思います。 なのでパッケージマネージャから探します。 apt search コマンド名 aptの部分はディストリによって置き換える。 コマンドが素直に見つかればそのままinstall。

何件か検索結果がhitしたけど、コマンド名がないって場合はヒットしたパッケージの一部としてコマンドが提供されてる場合があります。

自分の場合はpstreeはpsmisc,lwp-requestはLibwww-perlっていうパッケージの中に含まれていた。 ヒットしたパッケージの中でそれっっぽいやつをググる

まとめ

whereisで探してPATHを通す。パッケージマネージャで検索してinstallする。

参考文献等