【Linux】pwdコマンドで現在の作業ディレクトリパスを表示する

目次

概要

pwd(Print Working Directory)は、現在作業しているディレクトリの「絶対パス」を表示するコマンドです。

Linuxのディレクトリ構造は深く複雑になりがちで、ターミナルのプロンプト設定によっては現在の場所が省略表示(例: ~/…/src)されてしまうことがあります。自分がファイルシステムのどこにいるのかを正確に把握するため、またはシェルスクリプト内でカレントディレクトリのパスを変数に格納するために頻繁に使用されます。

仕様(引数・オプション)

構文

pwd [オプション]

主なオプション

通常はオプションなしで使いますが、シンボリックリンク(ショートカットのようなもの)の中にいる場合の挙動を制御できます。

オプション説明
-Lシンボリックリンクをそのままパスとして表示します(Logical / デフォルト)。
-Pシンボリックリンクを解決し、実体のパスを表示します(Physical)。

基本の使い方

現在地の確認

最も基本的な使い方は、オプションなしで実行することです。ルートディレクトリ(/)から現在の場所までの完全なパスが表示されます。

pwd

実行結果イメージ:

/home/user/documents/reports

実践コマンド

1. シンボリックリンク下での実体パス確認

システム管理では、/var/www/html が実は別のディスクへのシンボリックリンクになっている、といった構成がよくあります。

見かけ上のパス(論理パス)と、実際のファイルがあるパス(物理パス)を確認する手順です。

ここでは、/home/user/logs/var/log へのシンボリックリンクであると仮定します。

# 1. リンクディレクトリへ移動
cd /home/user/logs

# 2. 通常のpwd(リンクのパスを表示)
pwd

# 3. 物理パスを表示するpwd(実体のパスを表示)
pwd -P

実行結果イメージ:

/home/user/logs
/var/log

2. スクリプト内で現在のパスを変数に代入する

シェルスクリプトを作成する際、実行した場所を基準に処理を行うため、pwd の結果を変数に保存する定石です。

# 現在のディレクトリパスを変数 CURRENT_DIR に格納
CURRENT_DIR=$(pwd)

# 確認のために表示
echo "Current dir is: ${CURRENT_DIR}"

実行結果イメージ:

Current dir is: /home/user/projects/script_test

カスタムポイント

  • デフォルトの挙動:
    • 多くのLinuxディストリビューションのbashシェルでは、オプションなしの pwd-L(論理パス)として動作します。
  • エイリアスの確認:
    • 環境によっては pwdpwd -P にエイリアスされている場合もあります。挙動が変だと感じたら type pwd で確認してください。

注意点

  1. 削除されたディレクトリ:
    • 別のターミナルで現在のディレクトリが削除された場合、pwd を実行してもエラーになったり、パスが表示されても ls が失敗したりする状態になります。その場合は cd .. などで移動してください。
  2. スペースを含むパス:
    • 出力結果にスペースが含まれる可能性があるため、スクリプトで利用する際は "$DIR" のようにダブルクォーテーションで囲む癖をつけることが重要です。

応用

現在のパスをクリップボードにコピーする(Mac/WSL等)

長いパスを手動で選択してコピーするのは手間です。パイプラインを使ってクリップボード転送ツールに渡すと効率的です。

# macOSの場合
pwd | pbcopy

# Windows (WSL) の場合
pwd | clip.exe

# Linux (xclipがインストールされている場合)
pwd | xclip -selection clipboard

まとめ

pwdはシンプルなコマンドですが、シンボリックリンクが多用されるLinux環境では -P オプションの意味を知っていることがトラブルシューティングの鍵になります。自分の居場所(絶対パス)を知りたい時やスクリプトでパスを取得したい時に必須であり、実体の場所を知りたい場合は -P を付けること、削除されたディレクトリに居座り続けないことなどに注意すれば、迷子にならずに確実に作業を進めることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次