Linux命令之pwd

用途說明

pwd命令用於顯示當前工作目錄,是Linux下最常用的命令之一。在不太確定當前位置時,就會使用pwd來判定當前目錄在文件系統內的確切位置。環境變量OLDPWD表示前一次的工作目錄,環境變量PWD表示當前的工作目錄。

常用參數

一般情況下不帶任何參數。

格式:pwd

如果目錄是鏈接時。

格式:pwd -P  顯示出實際路徑,而非使用連接(link)路徑。

使用示例 示例一 root用戶

Last login: Tue Nov  2 19:15:53 2010 from 222.70.145.185
[root@web ~]# pwd
/root
[root@web ~]# echo $OLDPWD
[root@web ~]# echo $PWD
/root
[root@web ~]# cd /etc/init.d
[root@web init.d]# pwd
/etc/init.d
[root@web init.d]# echo $OLDPWD
/root
[root@web init.d]# echo $PWD
/etc/init.d
[root@web init.d]#

示例二 普通用戶

Last login: Fri Oct 29 16:18:50 2010 from hnas1
[web@hnweb1 ~]$ pwd
/home/web
[web@hnweb1 ~]$ echo $OLDPWD
[web@hnweb1 ~]$ echo $PWD
/home/web
[web@hnweb1 ~]$ cd work
[web@hnweb1 work]$ pwd
/home/web/work
[web@hnweb1 work]$ echo $OLDPWD
/home/web
[web@hnweb1 work]$ echo $PWD
/home/web/work
[web@hnweb1 work]$

示例三 如果目錄是個符號鏈接

[root@web ~]# cd /var/mail
[root@web mail]# pwd
/var/mail
[root@web mail]# pwd -P
/var/spool/mail
[root@web mail]# pwd -L
/var/mail
[root@web mail]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 06-28 17:21 /var/mail -> spool/mail
[root@web mail]#

示例四 在bash腳本中取當前目錄,上級目錄

Bash代碼 複製代碼

  1. # 當前目錄保存到變量D中  
  2. D=$(pwd)  
  3. # 根據當前目錄得到上級目錄  
  4. P=$(dirname $D)  
  5. # 打印當前目錄和上級目錄  
  6. echo D=$D P=$P 
# 當前目錄保存到變量D中 D=$(pwd) # 根據當前目錄得到上級目錄 P=$(dirname $D) # 打印當前目錄和上級目錄 echo D=$D P=$P

[root@web setup]# D=$(pwd) 
[root@web setup]# P=$(dirname $D)   
[root@web setup]# echo D=$D P=$P
D=/root/setup P=/root
[root@web setup]#

示例五 你所不知道的pwd

[root@web init.d]# type -a pwd
pwd is a shell builtin
pwd is /bin/pwd
[root@web init.d]# /bin/pwd
/etc/rc.d/init.d
[root@web init.d]# /bin/pwd --help
用法:/bin/pwd [選項]
打印當前工作目錄的完整文件名。
      --help     顯示此幫助信息並退出
      --version  輸出版本信息並退出
NOTE: your shell may have its own version of pwd, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.
請向 <[email protected]> 報告錯誤。
[root@web init.d]# /bin/pwd -P
/bin/pwd:無效選項 -- P
請嘗試執行“/bin/pwd --help”來獲取更多信息。
[root@web init.d]# /bin/pwd -L
/bin/pwd:無效選項 -- L
請嘗試執行“/bin/pwd --help”來獲取更多信息。
[root@web init.d]# cd //
[root@web //]# pwd
//
[root@web //]# /bin/pwd
/
[root@web //]# cd
[root@web ~]# pwd
/root
[root@web ~]#

經過上面的演示,內建命令pwd和外部命令/bin/pwd還是有區別的,在顯示當前目錄時,/bin/pwd顯示得更準確些,而pwd容易被操作者糊弄。

示例六 當前目錄被刪除了

在多人共享同一臺Linux機器時,經常會發現當前目錄被別人刪除掉,而pwd命令仍然顯示那個目錄。下面演示了這種情況。

[root@web ~]# mkdir removed
[root@web ~]# cd removed
[root@web removed]# pwd
/root/removed
[root@web removed]# rm ../removed -rf
[root@web removed]# pwd
/root/removed
[root@web removed]# /bin/pwd
/bin/pwd: couldn't find directory entry in “..” with matching i-node
[root@web removed]# cd
[root@web ~]#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章