相對路徑與絕對路徑
絕對路徑:路徑的寫法一定由根目錄/寫起,例如/usr/share/doc這個目錄。
相對路徑:路徑的寫法不是由/寫起,例如由/usr/share/doc要到/usr/share/man下面時,可以寫成“cd ../man”,這就是相對路徑的寫法。相對路徑一直相對于目前工作的路徑。
對于文件名的正確性來說,絕對路徑的正確性要比較好。在寫程序(shell scripts)來管理系統(tǒng)的條件下,務必使用絕對路徑的寫法。如果使用相對路徑在程序當中,則可能由于你執(zhí)行的工作環(huán)境不同,會導致一些問題的發(fā)生。
目錄的相關操作
幾個常見的處理目錄的命令:
* cd:切換目錄
*pwd:顯示當前目錄
*mkdir:新建一個目錄
*rmdir:刪除一個空的目錄
cd(切換目錄,Change Directory)
. 代表此層目錄
.. 代表上一層目錄
- 代表前一個工作目錄
~ 代表“目前用戶身份”所在的主文件夾
~account 代表account這個用戶的主文件夾
pwd(顯示當前目錄,Print Working Directory)
-p 顯示當前的路徑,而非使用連接路徑
我們在使用這個命令的時候,可以加上-p這個參數(shù),它可以讓我們取得正確的目錄名稱,而不是以連接文件的路徑來顯示的。
mkdir(創(chuàng)建新目錄,make directory)
-m 強制給予一個新的目錄相關權限 例:mkdir -m 711 test
-p 幫助你直接將所需要的目錄(包括尚層目錄)遞歸創(chuàng)建出來 例:mkdir test1/test2
rmdir(刪除“空”的目錄,remove directory)
-p 連同上層空的目錄也被刪除
-r 連同目錄下的所有文件都刪除 例:rm -r test
關于執(zhí)行文件路徑的變量:$PATH
為什么我可以在任何地方執(zhí)行/bin/ls這個命令呢?為什么我在任何目錄下輸入ls就一定可以顯示出一些信息而不會說找不到該/bin/ls命令呢?這是因為環(huán)境變量PATH的幫助。
當我們在執(zhí)行一個命令的時候,舉例來說“ls”好了,系統(tǒng)會依照PATH的設置去每個PATH定義的目錄下查詢文件名為ls的可執(zhí)行文件,如果在PATH定義的目錄中含有多個文件名為ls的可執(zhí)行文件,那么閑查詢到的同名命令先被執(zhí)行。
執(zhí)行“echo $PATH”命令($后面跟的是變量),可以顯示所有配置的PATH目錄.“PATH="$PATH":/root”,將/root目錄加入PATH變量