はじめに
pwd
Linuxコマンドは、ルート( /
)から始まる現在の作業ディレクトリパスを出力します。 )。 pwd
を使用します Linuxファイルシステム構造の迷路で自分の道を見つけるか、Bashスクリプトで作業ディレクトリを渡すコマンド。
このチュートリアルでは、pwd
の使用方法を学習します コマンド。
前提条件
- Linuxを実行しているシステム
- ターミナルウィンドウへのアクセス( Ctrl + Alt + T )
- 選択したテキストエディタ
pwd構文
pwd
コマンドは次の構文を取ります:
pwd [-options]
使用可能なオプションについては、次のセクションで説明します。
終了ステータス
pwd
コマンドには2つの終了ステータスがあります:
- 0 。成功。
- ゼロ以外 。失敗。
pwdオプション
オプションは、コマンドに追加機能を提供します。 pwd
コマンドは次のオプションを受け入れます:
オプション | 説明 |
---|---|
-L 、--logical | pwd に指示します $PWD を出力します シンボリックリンクを含む環境変数の内容。オプションが指定されていない場合、 pwd -L を想定 。 |
-P 、--physical | 現在のディレクトリへのパスを出力します。すべてのコンポーネントはディレクトリ名であり、シンボリックリンクが解決されます。 |
--version | プログラムバージョンを出力します。 |
--help | ヘルプメッセージを表示します。 |
pwdの例
pwd
を使用する方法はいくつかあります 指図。以下の例は、 pwd
の一般的な使用例を説明しています。 コマンド。
例1:作業ディレクトリパスを取得する
pwd
の実行 オプションを指定せずにコマンドを実行すると、現在の作業ディレクトリへのフルパスが出力されます。
例:
このコマンドは、現在の作業ディレクトリの絶対パスを出力します。この場合、ホームディレクトリのパスです。
ただし、現在のディレクトリへのシンボリックリンクをたどった場合は、 pwd
を実行します。 宛先ではなく、シンボリックリンクの場所を出力します。
次の例では、現在のディレクトリへのシンボリックリンクを作成しました。リンクをたどり、 pwd
を実行します コマンドは、パス内のシンボリックリンクを表示します:
例2:-Pオプションの使用
-P
オプションはpwd
に指示します 物理的な作業ディレクトリを印刷し、シンボリックリンクの一覧表示を回避します。したがって、このコマンドは現在の作業ディレクトリへの絶対パスを出力します。
例:
ディレクトリの変更にシンボリックリンクが使用されていても、 pwd
コマンドは、作業ディレクトリの実際の名前のみを出力します。
例3:-Lオプションの使用
-L
オプションはpwd
に指示します シンボリックリンクを含む作業ディレクトリパスを出力します。次の例では、シンボリックリンクを使用してディレクトリに移動し、 pwd -L
を実行しました。 :
出力には、シンボリックリンクのあるパスが一覧表示されます。
例4:$PWD変数の内容を印刷する
$PWD
環境変数は、現在のディレクトリパスを格納します。次のコマンドを実行して、変数の内容を出力します:
echo $PWD
このコマンドは、 $PWD
に保存されているシンボリックリンクを含む現在の作業ディレクトリを出力します。 変数。
例5:pwd出力のパーソナライズ
pwd
をパーソナライズする 値を変数に格納し、echoコマンドを使用してメッセージを追加することによるコマンド出力。
次の例は、 pwd
のスクリプトです。 の値は$p
に保存されます 変数であり、出力メッセージが含まれます。
以下の手順に従ってください:
1.ターミナルを開き、スクリプトを作成します。
vi directory.sh
2.スクリプトに次の行を追加します。
#!/bin/bash
p=$(pwd)
echo "You are currently in: $p"
3.スクリプトを保存して、 vi
を終了します 次のコマンドを使用します:
:wq
4.ファイルのアクセス許可を変更して、スクリプトを実行可能にします。
chmod +x directory.sh
5.スクリプトを実行します:
./directory.sh
スクリプトは、パーソナライズされたメッセージとともに現在の作業ディレクトリを出力します。
例6:pwdバージョンを確認する
pwd
コマンドは組み込みのシェルコマンドです( pwd
)と実際のバイナリ( /bin/pwd
)。シェルバージョンはバイナリバージョンとは異なる場合があります。
どのpwd
を確認してください バージョンは、次を実行してインストールされます:
/bin/pwd --version
このコマンドは、バイナリの pwd
を出力します システムのバージョン。
例7:以前の作業ディレクトリを参照
$OLDPWD
変数は、以前の作業ディレクトリパスを格納します。次のコマンドを実行して、ファイルシステム内の以前の場所を確認します。
echo "$OLDPWD"
このコマンドは、前の作業ディレクトリを出力します。
例8:ヘルプファイルを参照
--help
を使用します pwd
を表示するオプション コマンドヘルプファイルと使用可能なオプション:
pwd --help
出力は、利用可能なオプションのリストを含む簡単なヘルプファイルです。
例9:スクリプトでpwdを使用する
この例では、 pwd
を使用するbashcaseステートメントを作成しました。 選択したオプションに応じて、現在または以前の作業ディレクトリを出力します。以下の手順に従ってください:
1. vi / vimなどのテキストエディタを使用してスクリプトを作成します:
vi directory.sh
2.以下の行を入力します:
#!/bin/bash
echo "I need to see:"
echo "1 - My current physical directory path."
echo "2 - My current directory path, including symlinks."
echo "3 - My previous directory"
read directory
case $directory in
1) echo "Your current physical location is: $(pwd -P)";;
2) echo "Your current directory, including symlinks, is: $(pwd -L)";;
3) echo "You were previously in: $OLDPWD";;
esac
3.次のコマンドを実行してviを保存して終了します:
:wq
4. chmod
を使用してスクリプトを実行可能にします :
chmod +x directory.sh
5.スクリプトを実行し、オプションを選択します:
./directory.sh
例:
スクリプトはcaseステートメントを利用して3つのオプションを提供し、回答に基づいて対応する出力を出力します。
6.シンボリックリンクを使用してディレクトリを変更し、スクリプトを再度実行して、出力を比較します。
シンボリックリンクを使用してディレクトリを変更した場合でも、出力には物理的な場所が表示されます。
7.残りのオプションもテストして、結果を確認します。
例10:pwdのエイリアスを設定する
-P
を含むエイリアスを作成します pwd
の実行時にシンボリックリンクを取得しないようにするオプション 。そうすれば、 pwd
そこにたどり着いた方法に関係なく、常に現在のディレクトリへのパスが表示されます。
次の例では、エイリアスに -P
が含まれています オプションを追加し、 .bashrcに追加しました システムの再起動後にシステムにエイリアスを記憶させるためのファイル。
alias pwd='pwd -P'; echo "alias pwd='pwd -P'" >> ~/.bashrc
現在のパスへのシンボリックリンクをたどっていますが、出力には物理的な場所が表示されます。