こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Linuxのpwdコマンドについて詳しく解説します。
Linuxを使い始めたばかりのころは、ターミナルでいくつかコマンドを実行しているうちに、自分が今どのディレクトリにいるのか分からなくなることがあります。
そんなときに使うのがpwdコマンドです。
pwdはPrint Working Directoryの略で、現在作業しているディレクトリのパスを表示します。
使い方はとても簡単ですが、cdコマンドや相対パス・絶対パスを理解するうえでも重要なコマンドです。
この記事では、pwdの基本的な使い方だけでなく、カレントディレクトリ、cdとの組み合わせ、-L・-Pオプション、シンボリックリンクとの関係まで初心者向けに解説します。
pwdコマンドとは?¶
pwdコマンドはカレントディレクトリを表示する¶
pwdコマンドは、現在の作業ディレクトリを表示するコマンドです。
使い方は次の通りです。
pwd
実行すると、現在いるディレクトリのパスが表示されます。

たとえば、次のように表示された場合を考えてみましょう。
/home/ryu
これは、現在/home/ryuというディレクトリで作業していることを表します。
Linuxでは、ファイルの作成や削除、コピーなど多くの操作が現在いる場所を基準に行われます。
そのため、操作に迷ったらまずpwdを実行する癖をつけておくと安心です。
カレントディレクトリとは?¶
現在作業している場所のこと¶
カレントディレクトリとは、現在自分が作業しているディレクトリのことです。
WindowsやmacOSの画面操作であれば、今開いているフォルダに近いイメージです。
Linuxのターミナルでは画面上にフォルダが表示されないため、どこで作業しているのか分かりづらくなることがあります。
そこでpwdを使います。
pwd
たとえば、次のように表示されたとします。
/home/ryu
この状態で次のコマンドを実行します。
touch sample.txt
すると、基本的には現在のカレントディレクトリである/home/ryuにsample.txtが作成されます。
つまり、pwdで現在地を確認することは、Linuxでファイルを安全に操作するための基本でもあります。
関連:【Linux入門講座1】ディレクトリと相対パス、絶対パス
cdコマンドとpwdを組み合わせて使う¶
ディレクトリを移動したらpwdで確認する¶
ディレクトリを移動するには、cdコマンドを使います。
たとえば、/etcへ移動してみましょう。
cd /etc
pwd
実行結果は次のようになります。
/etc
cd /etcでディレクトリを移動し、その後pwdで現在地を確認しています。
Linux初心者のうちは、cdで移動したあとにpwdを実行するのがおすすめです。
cd /var/log
pwd
/var/log
このように確認すれば、自分がどこへ移動したのか分からなくなりにくくなります。
【関連記事】cdコマンドの使い方解説!カレントディレクトリを移動するコマンド
ホームディレクトリへ戻って確認する¶
引数なしでcdを実行すると、通常は自分のホームディレクトリへ移動します。
cd
pwd
たとえばユーザー名がryuなら、次のように表示されることがあります。
/home/ryu
現在地が分からなくなったときは、一度ホームディレクトリへ戻ってから作業をやり直す方法もあります。
pwdとlsの違い¶
Linux初心者の方が混同しやすいのが、pwdとlsです。
どちらもディレクトリ操作でよく使いますが、役割は異なります。
| コマンド | 確認できること |
|---|---|
pwd |
自分が今どのディレクトリにいるか |
ls |
現在のディレクトリに何があるか |
cd |
別のディレクトリへ移動する |
たとえば、次のように組み合わせると分かりやすいです。
pwd
ls -la
pwdで現在地を確認し、ls -laでその場所にあるファイルやディレクトリを表示します。
Linuxでは、この2つをセットで使う場面が多くあります。
【関連記事】lsコマンドの使い方解説【ファイルやディレクトリの情報を表示してみよう】
pwdと絶対パス・相対パスの関係¶
pwdが表示するのは絶対パス¶
pwdを実行すると、通常は次のように/から始まるパスが表示されます。
/home/ryu/project
これは絶対パスです。
絶対パスは、Linuxのルートディレクトリ/から目的の場所までをすべて記述したパスです。
一方、現在のディレクトリを基準に場所を表す方法を相対パスと呼びます。
たとえば、現在地が次の場所だったとします。
/home/ryu
この中にprojectディレクトリがある場合は、次のように移動できます。
cd project
これは相対パスを利用した移動です。
一方、次のように書けば絶対パスになります。
cd /home/ryu/project
どちらでも同じ場所へ移動できます。
移動後にpwdを実行すると、どちらの場合も次のように表示されます。
/home/ryu/project
相対パスと絶対パスはLinuxで非常によく使うため、cdとpwdを使って実際に移動しながら覚えるのがおすすめです。
【関連記事】絶対パスと相対パスとは?ファイルパスを理解する!
pwdコマンドのオプション¶
pwdコマンドには、主に-Lと-Pというオプションがあります。
普段はオプションなしのpwdだけでも十分ですが、シンボリックリンクを扱うときに違いが分かりやすくなります。
| オプション | 説明 |
|---|---|
-L |
論理的なパスを表示する |
-P |
シンボリックリンクを解決した実際のパスを表示する |
pwd -L¶
-Lは、論理的なパスを表示します。
pwd -L
シンボリックリンクを経由して移動している場合、そのリンク名を含んだパスが表示されることがあります。
通常のシェルでは、オプションなしのpwdも論理パスを表示する動作になることが多いため、普段はあまり意識しなくても問題ありません。
pwd -P¶
-Pは、シンボリックリンクを解決した物理的なパスを表示します。
pwd -P
たとえば、次のようなシンボリックリンクがあるとします。
ln -s /var/log ~/logs
ホームディレクトリから次のように移動します。
cd ~/logs
この状態でpwd -Lを実行すると、環境によっては次のように表示されます。
/home/ryu/logs
一方、pwd -Pでは実際のリンク先が表示されます。
/var/log
シンボリックリンクを経由した場所で、実際にはどのディレクトリを操作しているのか確認したい場合に便利です。
シンボリックリンクについては、以下の記事で解説しています。
【関連】シンボリックリンクとは?概要、コマンドなどシンボリックリンクについて詳しく解説!
pwdが役立つ場面¶
ファイルを作成する前に現在地を確認する¶
Linuxでは、コマンドを実行する場所を間違えると、想定とは違う場所にファイルを作成してしまうことがあります。
たとえば、設定ファイルを作成する前に次のように確認します。
pwd
ls -la
現在地とファイル一覧を確認してから作業すれば、操作ミスを減らしやすくなります。
ファイルが見つからないときに確認する¶
次のようなエラーが出たとします。
No such file or directory
ファイル名が正しくても、自分が想定とは違うディレクトリにいる可能性があります。
そのようなときも、まずpwdで現在地を確認します。
pwd
その後にlsでファイルを確認すると、原因を切り分けやすくなります。
シェルスクリプトで作業場所を確認する¶
シェルスクリプトの中でもpwdを使えます。
#!/bin/bash
echo "現在の作業ディレクトリ:"
pwd
スクリプトがどのディレクトリで実行されているのか確認したい場合に便利です。
ただし、スクリプトファイルが置かれている場所と、スクリプトを実行したときのカレントディレクトリは同じとは限りません。
この違いはシェルスクリプトを学ぶときに重要です。
pwdコマンドを実際に練習してみる¶
pwdは非常に簡単なコマンドなので、pwdだけを何度も実行するより、ほかのコマンドと組み合わせて練習するのがおすすめです。
次の操作を順番に試してみてください。
pwd
mkdir pwd-practice
cd pwd-practice
pwd
touch sample.txt
ls -la
cd ..
pwd
最初のpwdで現在地を確認します。
mkdirでディレクトリを作り、その中へcdで移動します。
移動後にもう一度pwdを実行すると、パスの末尾にpwd-practiceが追加されていることを確認できます。
最後にcd ..で一つ上のディレクトリへ戻り、再びpwdを実行します。
このように、移動するたびにpwdで現在地を確認すると、Linuxのディレクトリ構造を感覚的に理解できるようになります。
pwdコマンドの使い方まとめ¶
この記事では、Linuxのpwdコマンドについて解説しました。
pwdは、現在の作業ディレクトリを確認するためのコマンドです。
基本的な使い方は次の通りです。
pwd
Linuxを使い始めたばかりの方は、cdでディレクトリを移動したらpwdで現在地を確認する習慣をつけてみてください。
また、pwd -Pを使うと、シンボリックリンクを解決した実際のパスを確認できます。
pwd自体はとても簡単ですが、カレントディレクトリ、絶対パス、相対パス、シンボリックリンクなどLinuxの基本を理解するための重要なコマンドです。
Linuxコマンドの練習できる学習サービス¶
「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」
そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!
入門から中級まで初心者でもわかりやすく学習を進めることができます。
Linuxを基礎から学習したい方は、Linux入門講座から始めてみてください。
Linuxサーバーを扱ううえで必要になるIPアドレスやルーティングは、ネットワーク講座で学習できます。
クラウド上でLinuxを使ってみたい方は、AWS講座も用意しています。
↓InfraAcademyの講座の一部です。

インフラエンジニアに必要な知識が学習できます。
参考:Linuxのコマンド練習用サイトのInfraAcademyを作成しました。【Linuxのコマンドをブラウザで練習しよう】



