Linux pwdコマンド
Linux pwd(英語の正式名称:print work directory)コマンドは、現在のユーザーがいる作業ディレクトリの完全なパスを表示するために使用されます。
pwd コマンドを実行すると、現在いる作業ディレクトリの絶対パス名をすぐに知ることができます。
構文
pwd [--help][--version]
パラメータの説明:
| オプション | 説明 |
|---|---|
-L |
論理パスを表示(デフォルト動作)、シンボリックリンクを解決する |
-P |
物理パスを表示し、シンボリックリンクを解決しない |
--help |
ヘルプ情報を表示 |
--version |
バージョン情報を表示 |
pwd コマンドの動作原理
pwdコマンドは、次の方法で現在の作業ディレクトリを決定します:
- 環境変数を確認する
PWDの値(使用する場合-Lオプションのとき) - または親ディレクトリをたどって物理的にパスを決定する(使用する場合
-Pオプションのとき)
pwd コマンドの実際の応用
基本的な使用例
最も簡単な使い方は、コマンドを直接入力することです:
$ pwd /home/username/projects
-P オプションを使用する
シンボリックリンクのディレクトリにいる場合:
$ ln -s /var/www/html myweb $ cd myweb $ pwd /home/username/myweb # 逻辑路径 $ pwd -P /var/www/html # 物理路径
スクリプト内での使用
pwdスクリプト内で現在のディレクトリを取得するためによく使用されます:
#!/bin/bash CURRENT_DIR=$(pwd) echo "当前目录是: $CURRENT_DIR"
よくある質問(FAQ)
1. pwd と echo $PWD の違いは何ですか?
pwdは組み込みコマンドであり、一方$PWDは環境変数です。ほとんどの場合、それらの出力は同じですが、pwdコマンドはオプションを指定できます(例:-P)、一方$PWD常に論理パスを表示します。
2. なぜ -P オプションが必要なのですか?
シンボリックリンクのディレクトリ内で作業している場合、シンボリックリンクのパスではなく実際の物理的な場所を知る必要があることがあります。このとき、-Pオプションが非常に役立ちます。
3. pwd コマンドは失敗することがありますか?
通常の状況ではpwd失敗することはありませんが、現在のディレクトリが(別のターミナルセッションで)削除された場合、pwdエラーが表示される可能性があります。
ベストプラクティスの推奨事項
- スクリプトで pwd -P を使用する::スクリプトがどのような状況でも正しい物理パスを取得できるようにするため
- 他のコマンドと組み合わせて使用する:よく
cd、lsなどのコマンドと組み合わせて使用する - シンボリックリンクに注意:パスにシンボリックリンクが含まれる場合、自分が必要としているものが論理パスか物理パスかを明確に把握する
拡張知識
pwd コマンドの歴史
pwdこのコマンドは Unix の初期バージョンで初めて登場し、Bourne shell の一部でした。現在では、POSIX 標準の一部であり、POSIX 互換のすべてのシステムにこのコマンドが含まれています。
関連コマンド
cd:作業ディレクトリを変更するls:ディレクトリの内容を一覧表示するdirname:パスのディレクトリ部分を取得するbasename:パスのファイル名部分を取得する
Linux コマンド大全