エンジニアのエンジニアによるエンジニアのためのサイト
Toggle navigation
TOP
技術
書籍
資格
業務
イベント・セミナー
ニュース・お知らせ
検索
News
07/25 おすすめ情報に 『 【案件】Azure AD関連の認証設計/azureの基本設計 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。
無料会員登録
メールアドレス
パスワード
パスワードを忘れた場合
Login
Tweet
TOP
投稿内容
Linuxの基礎を知る(PATH)
投稿者: Tomoyaさん
投稿日:2023/07/14 12:42
更新日:
2
分類
技術
テクノロジー
Unix系サーバ
キャリア
運用・保守
投稿内容
今回はPATHについて説明します。
PATHとはコマンド検索パスを追加するコマンドです。
コマンド検索パスとは、コマンドの実行ファイルを探しに行くようなパスのことです。
PATHはLinuxを扱う上で必ずと言ってもよいほど出てくる知識となっています。
覚える点は多いですが、是非覚えてみてください。
コマンドサーチパス(PATH)
コマンドサーチパス(PATH)とはコマンド検索パスを追加するコマンドです。
コマンド検索パスとは、コマンドの実行ファイルを探しに行くようなパスのことです。このパスは環境変数PATHに設定されます。コマンドが実行されると、シェルは環境変数PATHに設定されたディレクトリでコマンドの実行ファイルを探します。本来、コマンドはファイルそのものであるためフルパスで指定する必要がありますが、コマンドサーチパスを設定していればフルパスを指定しなくてもコマンドが実行できるようになります。
例:
普段lsコマンドを使用することが多いと思いますが、lsコマンドにも実行ファイルが存在します。フルパスでコマンドを入力しても、lsだけ入力しても実行結果は同じになります。
/bin/ls
file1
ls
file1
PATHの一覧を確認する方法
環境変数PATHの中身を表示するには以下のコマンドを実行します。PATHにコマンドのパスが登録されていることを「パスが通っている」といい、新たにパスを追加することを「パスを通す」といいます。
echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games
whichコマンド
whichコマンドとは指定したコマンドのフルパスを表示してくれるコマンドです。
例:
which ls
/bin/ls
また、コマンドがビルトインコマンドなのか、外部コマンドなのかも判定します。ビルトインコマンドとは、シェルに組み込まれているコマンドであるため、パスはありません。それ以外のコマンドは外部コマンドといい、/binや/usr/binなどといったバイナリを格納するディレクトリに置かれています。
例:
which echo
echo: shell built-in command
「built-in」と表示されたので、echoコマンドはビルトインコマンドだとわかります。
whichはファイルやパッケージの保存場所を調べるときやtypeやwhereisコマンドに比べてかなり頻繁に使用します。
typeとwhereisコマンドは調べてみてください!
パスの通し方
コマンドが実行されるとPATHに登録されているディレクトリを順に検索し、コマンドが見つかれば実行します。パスが通っていないコマンドを実行するとエラーになります。
<パスの通し方>
# 環境変数PATHを表示
echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin
# export コマンドで新しくPATHを追加
export PATH=$PATH:/home/sample
# 環境変数PATHに/home/sampleが追加されている
echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/home/sample
備考
以上がパスの説明になりますが、最後に一点、パスを通すうえで気を付けなければならない点があります。それはカレントディレクトリにパスを通さないということです。これはセキュリティ的に問題があります。
もし、カレントディレクトリのファイルを実行したい場合にはファイル名の先頭に「./」を付けて実行することになっています。
コメント
コメントする
戻る