~在linux中代表用戶主目錄
對一般用戶,~表示/home/(用戶名)
對於root用戶,~表示/root
如果要查看~的真實面貌,可以先進入~目錄,然后用pwd -P命令查看~的絕對路徑
cd ~
pwd -P ~
目錄是Linux系統組織文件的一種特殊文件。為使用戶更好地使用目錄,我們介紹有關目錄的一些基本概念。
(1)工作目錄與用戶主目錄
從邏輯上講,用戶在登錄到Linux系統中之后,每時每刻都處在某個目錄之中,此目
錄被稱做工作目錄或當前目錄(Working Directory)。工作目錄是可以隨時改變的。用戶初始登錄到系統中時,其主目錄(Home
Directory)就成為其工作目錄。工作目錄用“.”表示,其父目錄用“..”表示。
用戶主目錄是系統管理員增加用戶時創建起來的(以后也可以改變),每個用戶都有自己的主目錄,不同用戶的主目錄一般互不相同。
用戶剛登錄到系統中時,其工作目錄便是該用戶主目錄,通常與用戶的登錄名相同。
用戶可以通過一個~字符來引用自己的主目錄。
例如命令
/home/WANG$ cat ~/class/software_1
和下面的命令
/home/WANG$ cat /home/WANG/class/software_1
意義相同。Shell將用用戶主目錄名來替換~字符。目錄層次創建好之后,用戶就可以把有關的文件放到相應的目錄中,從而實現對文件的組織。
(2)路徑
顧名思義,路徑是指從樹型目錄中的某個目錄層次到某個文件的一條道路。此路徑的主要構成是目錄名稱,中間用“/”分開。任一個文件在文件系統中的位置都是由相應的路徑決定的。
用戶在對文件進行訪問時,要給出文件所在的路徑。 路徑又分相對路徑和絕對路徑。 絕對路徑是指從“根”開始的路徑,也稱為完全路徑;相對路徑是從用戶工作目錄開始的路徑。
應該注意到,在樹型目錄結構中到某個確定文件的絕對路徑和相對路徑均只有一條。絕對路徑是確定不變的,而相對路徑則隨着用戶工作目錄的變化而不斷變化。這一點對於我們以后使用某些命令如cp和tar等大有好處。
用戶要訪問一個文件時,可以通過路徑名來引用,並且可以根據要訪問的文件與用戶工作
目錄的相對位置來引用它,而不需要列出這個文件的完整路徑名。例如,用戶WANG有一個名為class的目錄,該目錄中有兩個文件:software_1
和hardware_1。若用戶WANG想顯示出其class目錄中的名為software_1的文件,可以使用下列命令:
/home/WANG$ cat /home/WANG/class/software_1
用戶也可以根據文件software_1與當前工作目錄的相對位置來引用該文件。這時命令為:
/home/WANG$ cat class/software_1
Linux中用 pwd 命令來查看”當前工作目錄“的完整路徑。 簡單得說,每當你在終端進行操作時,你都會有一個當前工作目錄。
在不太確定當前位置時,就會使用pwd來判定當前目錄在文件系統內的確切位置。
1.命令格式:
pwd [選項]
2.命令功能:
查看”當前工作目錄“的完整路徑
3.常用參數:
一般情況下不帶任何參數
如果目錄是鏈接時:
格式:pwd -P 顯示出實際路徑,而非使用連接(link)路徑。
4.常用實例:
實例1:用 pwd 命令查看默認工作目錄的完整路徑
命令:
pwd
輸出:
[root@localhost ~]# pwd
/root
[root@localhost ~]#
實例2:使用 pwd 命令查看指定文件夾
命令:
pwd
輸出:
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd
/opt/soft
[root@localhost soft]#
實例三:目錄連接鏈接時,pwd -P 顯示出實際路徑,而非使用連接(link)路徑;pwd顯示的是連接路徑
命令:
pwd -P
輸出:
[root@localhost soft]# cd /etc/init.d
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
實例4:/bin/pwd
命令:
/bin/pwd [選項]
選項:
-L 目錄連接鏈接時,輸出連接路徑
-P 輸出物理路徑
輸出:
[root@localhost init.d]# /bin/pwd
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd --help
[root@localhost init.d]# /bin/pwd -P
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd -L
/etc/init.d
[root@localhost init.d]#
實例五:當前目錄被刪除了,而pwd命令仍然顯示那個目錄
輸出:
[root@localhost init.d]# cd /opt/soft
[root@localhost soft]# mkdir removed
[root@localhost soft]# cd removed/
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# rm ../removed -rf
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# /bin/pwd
/bin/pwd: couldn't find directory entry in “..” with matching i-node
[root@localhost removed]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#