Linux Tips

現在のディレクトリを表示する2種類のpwdコマンド

北浦訓行
2001/9/13

 現在のディレクトリ(カレントディレクトリ)を表示するには、pwdコマンドを使用する。bashには、組み込みコマンドとしてpwdが用意されているので、bashをシェルとして使っている場合は、そちらが実行される。また、/bin/pwdというプログラムが別に用意されているので、bashを使わなくてもpwdコマンドを実行できる。

 ただし、bash組み込みのpwdと、外部コマンドのpwdには違いがある。bash組み込みのpwdでは、シンボリックリンクをたどって表示するか(-L)、たどらないか(-P)をオプションで指定できる。

 例えば、/var/tmpにリンクされた/usr/tmpがカレントディレクトリだった場合、以下のようになる。

$ ls -l (1)
合計 132 
(省略) 
lrwxrwxrwx  1 root  root     10 Jul  7 01:30 tmp -> ../var/tmp/ (2)
drwxr-xr-x  5 root  root   4096 Jul  7 01:46 vine/ 
$ cd tmp (3)
$ pwd 
/usr/tmp (4)
$ pwd -L (5)
/usr/tmp 
$ pwd -P (6)
/var/tmp 
$ /bin/pwd -P (7) 
/bin/pwd: オプション以外の引数は無視されます (8)
/var/tmp (9)
(1) /usrディレクトリでls -lコマンドを実行
(2) /usr/tmpは/var/tmpのシンボリックリンク
(3) /usr/tmpをカレントディレクトリにする
(4) /usr/tmpがカレントディレクトリになった
(5) シンボリックリンクをたどるのでカレントディレクトリは/usr/tmp
(6) シンボリックリンクをたどらないのでカレントディレクトリは/var/tmp
(7) 外部コマンドの/bin/pwdを-Pオプション付きで実行
(8) /bin/pwdには無効なオプションなのでエラーとなる
(9) シンボリックリンクをたどらない

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間