Linuxのコマンドラインを使用する際に最も重要なコマンドの1つは、 pwdコマンドで、プリント作業ディレクトリを表します。
このガイドでは、pwdコマンドの使用方法を説明し、作業中のディレクトリと作業中の論理ディレクトリへの物理パスを表示します。
あなたが現在いるLinuxディレクトリを見つける方法
現在実行中のディレクトリを調べるには、次のコマンドを実行します。
pwd
pwdコマンドの出力は次のようになります。
/ home / gary
システムを移動すると、作業ディレクトリがファイルシステム内の現在の位置を反映して変更されます。
たとえば、cdコマンドを使用してdocumentsフォルダに移動すると、pwdコマンドは次のように表示します。
/ home / gary / documents
シンボリックリンクされたフォルダに移動すると表示される内容
この部分については、状況を説明するための少しのシナリオを設定します。
次のようなフォルダ構造があるとします。
- 自宅
- ゲイリー
- 書類
- folder1
- folder2
- 書類
- ゲイリー
次に、フォルダ2へのシンボリックリンクを次のように作成したとします。
ln -s / home / gary / documents / folder1 / home / gary / documents / accounts
フォルダツリーは次のようになります。
- 自宅
- ゲイリー
- 書類
- folder1
- folder2
- アカウント
- 書類
- ゲイリー
lsコマンドは、特定の場所にあるファイルとフォルダを表示します。
ls -lt
ドキュメントフォルダに対して上記のコマンドを実行した場合、アカウントの場合は次のように表示されます。
accounts-> folder2
シンボリックリンクは、基本的にファイルシステム内の別の場所を指します。
今度は、あなたがドキュメントフォルダにあり、cdコマンドを使ってaccountsフォルダに移動したとします。
pwdの出力はどうなると思いますか?
/ home / gary / documents / accountsが表示されていると推測した場合、正しいはずですが、accountsフォルダに対してlsコマンドを実行すると、folder2フォルダ内のファイルが表示されます。
次のコマンドを見てください:
pwd -P
シンボリックリンクされたフォルダ内で上記のコマンドを実行すると、実際の場所は/ home / gary / documents / folder2となります。
論理フォルダを表示するには、次のコマンドを使用します。
pwd -L
私の場合は、/ home / gary / documents / accountsというpwdと同じように表示されます。
システム上でpwdがどのようにコンパイルされ、セットアップされているかに応じて、pwdコマンドはデフォルトで物理パスになるか、デフォルトで論理パスになることがあります。
したがって、-Pまたは-Lスイッチを使用するのは良い習慣です(見たい動作に応じて)。
$ PWD変数の使用
$ PWD変数の値を表示すると、現在の作業ディレクトリを表示できます。 次のコマンドを使用します。
エコー$ PWD
以前の作業ディレクトリを表示する
前の作業ディレクトリを表示するには、次のコマンドを実行します。
エコー$ OLDPWD
現在のディレクトリに移動する前のディレクトリが表示されます。
複数のpwdの発生
先に述べたように、pwdは設定方法に応じて動作が異なる場合があります。
その良い例はKubuntu Linuxの中にあります。
pwdを実行するときに使用されるpwdのシェル版は、シンボリックリンクされたフォルダ内にあるときに論理作業ディレクトリを表示します。
ただし、次のコマンドを実行すると、シンボリックリンクされたフォルダ内にあるときに物理作業ディレクトリが表示されます。
/ usr / bin / pwd
基本的には同じコマンドを実行しているが、デフォルトモードで実行した場合は逆の結果になるため、これはあまり役に立ちません。
前に述べたように、おそらく-Pと-Lスクリプトを使用する習慣が必要になります。
概要
pwdコマンドにはさらに2つのスイッチしかありません。
pwd --version
pwdの現在のバージョン番号が表示されます。
pwdのシェルバージョンに対して実行すると、これはうまくいかないかもしれませんが、/ bin / pwdに対して動作します。
他のスイッチは次のとおりです。
pwd --help
これは、マニュアルページをターミナルウィンドウに表示します
これもpwdのシェル版では動作せず、/ bin / pwd版に対してのみ機能します。