こんにちは、フルスタックエンジニアのryuです。
今回の記事では、コマンドの絶対パスを表示するwhichコマンドの使い方について解説します。whichコマンドは指定したコマンドの絶対パスを表示します。whichコマンドは環境変数のPATHを順に調べて、コマンドの絶対パスを返します。コマンドのパスを調べるときにwhichコマンドを使用しましょう。
目次
whichコマンドを使用してコマンドの絶対パスを表示する
whichコマンドはどうやって使うの?
今回の記事では、whichコマンドの使い方を解説します。whichコマンドは指定したコマンドの絶対パスを返します。コマンドのパスを調べたいときに使用しましょう。
今回の記事の内容は以下の通りです。
- whichコマンドの使い方
- whiciコマンドのオプション
- 関連のコマンド
詳しく解説します。
whichコマンドの使い方
では早速whichコマンドの使い方について解説します。コマンドは以下の通りです。
which touch
→/usr/bin/touch
コマンドを実行すると、touchコマンドの絶対パスを返します。whichコマンドの書式はこちらです。
which [コマンド]
whichコマンドは環境変数のPATHを検索するため、一般ユーザーで管理者用のコマンドを検索できません。ifconfigコマンドやaptコマンドは一般ユーザで検索できないので注意しましょう。
・関連記事:【Linux】sudoコマンドの使い方を解説!管理者権限でコマンドを実行してみよう
whichコマンドのオプション
whichコマンドのオプションには、以下のようなものがあります。
-a | 環境変数のPATHにある全ての実行ファイルを表示する |
-i | エイリアスも併せて検索 |
例えば、”-a”オプションを付けてコマンドを実行すると、複数のパスが表示されます。
which -a touch
→/usr/bin/touch
→/bin/touch
環境変数のPATHの中にあるコマンドが全て表示されます。
whichコマンド以外でコマンドのパスを表示する方法
次にwhichコマンド以外でコマンドのパスを表示するコマンドも紹介します。それは、whereisコマンドです。whereisコマンドはwhichコマンド同様に検索したいコマンドを指定するだけです。
whereis touch
→touch: /usr/bin/touch /usr/share/man/man1/touch.1.gz
whereisコマンドでは指定されたコマンドのバイナリファイル、ソースコード、マニュアルファイルのおかれている場所を表示します。
whichコマンドとwhereisコマンドのどちらとも覚えておきましょう!
whichコマンドはどのようなときに使うのか
ここまで、whichコマンドの使い方について解説しました。whichコマンドはどのようなときに使えば良いのでしょうか?以下のパターンが考えられます。
- コマンドの場所を知りたいとき
- スクリプト内でコマンドがあるかを調査したいとき
- Linux学習のため
コマンドの場所を知りたいとき
whichコマンドは、指定したコマンドのパスを表示させるコマンドです。なので、コマンドの場所を知りたいときに使います。これは一般的な使い方です。
スクリプト内でコマンドがあるかを調査したいとき
whichコマンドは、スクリプト内でコマンドがあるかを調査したいときに便利です。
さまざまな環境で使用するスクリプトを作成する際、スクリプト内でコマンドを実行する直前にwhichコマンドを使って、コマンドが存在するかどうかのチェックをするときに便利です。if文など組み合わせて使うことで、柔軟なスクリプトを作成することができます。
Linux学習のためにwhichコマンドを使う
whichコマンドはファイルシステムの構造を理解するのにも役立ちます。特定のコマンドの起源をたどる際にも使用でき、ファイルがどのように配置されているかを調査できます。
whichコマンド使い方まとめ
今回の記事では、whichコマンドの使い方について解説しました。まとめると以下のようになります。
- whichコマンドで指定したコマンドのパスを調べる
- whichコマンド以外にもwhereisコマンドでも調べることができる
スクリプトを作成する際、コマンドの絶対パスを知りたいときにwhichコマンドを使いましょう!
さらにLinuxを学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。
「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」
そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!
入門から中級まで初心者でもわかりやすく学習を進めることができます。
- 【Linux入門講座1】ディレクトリと相対パス、絶対パス
- 【Linux入門講座2】ファイルの操作方法
- 【Linux入門講座3】ファイルのアクセス権限
- 【Linux入門講座4】ファイルの編集~vimの使い方をマスターする~
- 【Linux入門講座5】ユーザーとグループ
- 【Linux入門講座6】ネットワーク
- さらに講座あり
↓InfraAcademyの講座の一部です。
上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。
インフラエンジニアに必要な知識が学習できます。
参考:Linuxのコマンド練習用サイトのInfraAcademyを作成しました。【Linuxのコマンドをブラウザで練習しよう】