Pwd

pwdコマンドの詳細解説



`pwd`(print working directory)コマンドは、UNIX系オペレーティングシステムにおいて、現在の作業ディレクトリ(カレントディレクトリ)の絶対パスを表示するために使用されます。このコマンドは、ユーザーがファイルシステム内のどの場所にいるかを正確に把握する上で非常に重要な役割を果たします。

コマンドの概要



`pwd`コマンドを実行すると、システムはカレントディレクトリのフルパスを文字列として出力します。この情報は、特にコマンドラインインターフェース(CLI)で作業している際に、自分が現在どのディレクトリにいるかを確認するために役立ちます。

例えば、以下のようにコマンドを実行します。

bash
pwd


このコマンドを実行すると、以下のような出力が得られます。


/home/user/documents


これは、現在の作業ディレクトリが`/home/user/documents`であることを示しています。

コマンドの実装



`pwd`コマンドは、通常、`getcwd(2)`などのシステムコールを利用して実装されています。`getcwd(2)`は、現在の作業ディレクトリのパスを取得するためのシステムコールであり、これを利用することで、`pwd`コマンドは現在のディレクトリパスを特定できます。

このため、`pwd`コマンドは必ずしもシェルに組み込まれている必要はありません。しかし、多くのシェル(例えば、`sh`や`bash`)では、利便性のために組み込みコマンドとして提供されています。

一方、MS-DOSやWindowsのシェル(`COMMAND.COM`や`cmd.exe`)では、`cd`コマンドを引数なしで実行することで、同様の機能が実現できます。

オプション



POSIX標準では、`pwd`コマンドには以下のオプションが定義されています。

`-L` または `--logical`:論理的なカレントディレクトリ名を出力します。これは、シンボリックリンクを解決せずに、シンボリックリンクとして指定されたパスをそのまま表示します。
`-P` または `--physical`:物理的なカレントディレクトリ名を出力します。もし現在のディレクトリがシンボリックリンクである場合、リンク先の実際のディレクトリパスを表示します。

例えば、カレントディレクトリがシンボリックリンクの場合、`-L`オプションではシンボリックリンクのパスが、`-P`オプションではシンボリックリンク先のパスが表示されます。

bash

カレントディレクトリがシンボリックリンクの場合


pwd -L # シンボリックリンクのパスを表示
pwd -P # シンボリックリンク先のパスを表示


これらのオプションは、特にシンボリックリンクを多用する環境で、目的のディレクトリパスを正確に把握するために役立ちます。なお、シェル組み込み版の`pwd`を使用している場合、これらのオプションを使用するためには、外部コマンド版の`pwd`を明示的に実行する必要があります。

まとめ



`pwd`コマンドは、UNIX系OSにおける基本的なコマンドの一つであり、ユーザーがファイルシステム内の現在位置を把握するために不可欠です。`getcwd(2)`システムコールを利用して実装されており、多くのシェルで組み込みコマンドとして提供されています。オプション`-L`と`-P`を使い分けることで、論理パスと物理パスの表示を切り替えることができ、より正確なディレクトリ情報を得ることができます。

参考資料



以下に、`pwd`コマンドに関する参考リンクを記載します。

pwd(1) - Linux JM Project
pwd(1) - OpenBSD
pwd(1) - HMUGリファレンスマニュアル
pwd(1) - Debianリファレンスマニュアル

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。