pwd コマンドは、現在のディレクトリパス(カレントディレクトリ)を表示するコマンドです。
オプションはほとんどなく、とてもシンプルですが、サーバ作業の前後で「今どこにいるか」を確認したり、
作業ログとしてカレントディレクトリを残しておく用途でよく使われます。
シンボリックリンクを含むパス構成の場合、論理パスを表示するか / 実体の物理パスを表示するかをオプションで切り替えられます。
pwd [オプション]...
何もオプションを付けずに pwd と実行すると、現在のディレクトリの絶対パスが表示されます。
シェルのプロンプトにカレントディレクトリが表示されていることも多いですが、
ログや作業記録に「その時どこで作業していたか」を残したいときには、明示的に pwd を叩いておくと後から追いやすくなります。
・現在のディレクトリパスを表示する
pwd
もっとも基本的な使い方です。
シェルで作業中に「今どこで作業しているか分からなくなった」ときや、作業開始前の確認としてよく使います。
・現在いるディレクトリ名だけを表示する
basename pwd
pwd で取得したパスから、basename コマンドを使って末尾のディレクトリ名だけを取り出す例です。
カレントディレクトリの名前だけをスクリプト内で使いたい場合などに便利です。
・論理パス(環境変数 PWD を優先)を表示する(-L)
pwd -L
-L(–logical)は、シンボリックリンクを含む場合でも、環境変数 PWD に基づいた論理パスを表示します。
普段のシェル移動のとおりのパスをそのまま表示したい場合に使います。
・物理パス(シンボリックリンクを解決した実体パス)を表示する(-P)
pwd -P
-P(–physical)は、シンボリックリンクを解決した、実際の物理パスを表示します。
設定ファイルの実体や、本当のディレクトリ構造を確認したいときには、こちらを使っておくと間違いがありません。
・作業ログとしてカレントディレクトリを記録する
pwd >> /var/log/workdir_$(date +%Y%m%d).log
作業前後に pwd の結果をログファイルに追記しておくと、後から「どのディレクトリで作業していたか」を辿りやすくなります。
特に本番サーバの運用では、こうした小さなログでもトラブルシュートの手がかりになることがあります。
・サーバ作業前の「現在地」確認
削除系コマンドや設定変更を行う前に、pwd で「今どこにいるか」を確認するのは基本動作です。
特に rm や cp、mv を実行する前には、カレントディレクトリと対象パスをセットで確認しておくと事故防止につながります。
・作業ログ・手順書にカレントディレクトリを残す
障害対応や定期作業のログを残すときに、コマンド実行前に pwd を入れておくと、
後から見直したときに「どのパスで実行したコマンドなのか」が分かりやすくなります。
・シンボリックリンク環境での実体確認
アプリケーションディレクトリや設定ファイルがシンボリックリンクになっている場合、
pwd と pwd -P の差分を見ることで、「論理パス」と「物理パス」を意識しやすくなります。
デプロイ構成や本番・検証切り替えの設計を理解する上でも役立ちます。
pwd は非常にシンプルなコマンドですが、「今どこで作業しているか」を意識する習慣を支える大事な存在です。
特に本番環境では、pwd → ls → コマンド実行、のように一拍置く運用を心がけると安全です。
| short option | long option | description |
|---|---|---|
| -L | --logical | 環境変数 PWD に基づいた論理パスを表示する(シンボリックリンクを解決せずに表示) |
| -P | --physical | シンボリックリンクを解決した実際の物理パスを表示する |
| -h | --help | pwd コマンドの使い方(ヘルプ)を表示して終了する |
| --version | pwd コマンドのバージョン情報を表示して終了する |
ここでは GNU coreutils の pwd コマンドを前提に、一般的によく使われるオプションだけを TablePress の表としてまとめている想定です。
実際に利用できるオプションや挙動は、ディストリビューションやバージョンによって異なる場合があるため、
本番環境で使用する前に man pwd で最新の仕様を確認してください。
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。
