切換用戶當(dāng)前工作目錄。
cd [-L|[-P [-e]]] [dir]
dir
。其中dir
的表示法可以是絕對(duì)路徑或相對(duì)路徑。dir
省略,則默認(rèn)為使用者的shell變量HOME
。dir
指定為~
時(shí)表示為使用者的shell變量HOME
,.
表示當(dāng)前目錄,..
表示當(dāng)前目錄的上一級(jí)目錄。CDPATH
是由冒號(hào)分割的一到多個(gè)目錄,你可以將常去的目錄的上一級(jí)加入到CDPATH
以便方便訪問它們;如果dir
以/
開頭那么CDPATH
不會(huì)被使用。shopt
選項(xiàng)cdable_vars
打開時(shí),如果dir
在CDPATH
及當(dāng)前目錄下均不存在,那么會(huì)把它當(dāng)作變量,讀取它的值作為要進(jìn)入的目錄。dir(可選):指定要切換到的目錄。
-L (默認(rèn)值)如果要切換到的目標(biāo)目錄是一個(gè)符號(hào)連接,那么切換到符號(hào)連接的目錄。
-P 如果要切換到的目標(biāo)目錄是一個(gè)符號(hào)連接,那么切換到它指向的物理位置目錄。
- 當(dāng)前工作目錄將被切換到環(huán)境變量OLDPWD所表示的目錄,也就是前一個(gè)工作目錄。
返回狀態(tài)為成功除非無法進(jìn)入指定的目錄。
cd # 進(jìn)入用戶主目錄;
cd / # 進(jìn)入根目錄
cd ~ # 進(jìn)入用戶主目錄;
cd .. # 返回上級(jí)目錄(若當(dāng)前目錄為“/“,則執(zhí)行完后還在“/";".."為上級(jí)目錄的意思);
cd ../.. # 返回上兩級(jí)目錄;
cd !$ # 把上個(gè)命令的參數(shù)作為cd參數(shù)使用。
關(guān)于切換到上一個(gè)工作目錄的說明
cd -
# 命令會(huì)首先顯示要切換到的目標(biāo)目錄,然后再進(jìn)入。
cd ${OLDPWD}
# 命令會(huì)直接切換到上一個(gè)工作目錄。
關(guān)于CDPATH
# 設(shè)置桌面文件夾作為CDPATH的值。
CDPATH='~/Desktop'
# 假設(shè)我們接下來要演示涉及到的路徑~和~/Desktop下沒有test3文件夾,現(xiàn)在新建它們。
mkdir ~/test3
mkdir ~/Desktop/test3
# 進(jìn)入~目錄。
cd ~
# 進(jìn)入test3目錄。
cd test3
# 執(zhí)行后顯示~/Desktop/test3并進(jìn)入該目錄,而不是~目錄的test3目錄。
# 如果CDPATH存在值,那么優(yōu)先在CDPATH中查找并進(jìn)入第一個(gè)匹配成功的,如果全部失敗那么最后嘗試當(dāng)前目錄。
關(guān)于cdable_vars
# 打開選項(xiàng)。
shopt -s cdable_vars
# 假設(shè)當(dāng)前路徑以及CDPATH沒有名為new_var的目錄。
new_var='~/Desktop'
# 嘗試進(jìn)入。
cd new_var
# 關(guān)閉選項(xiàng)。
shopt -u cdable_vars
該命令是bash內(nèi)建命令,相關(guān)的幫助信息請(qǐng)查看help
命令。
建議您在編寫腳本的過程中如有必要使用cd
命令時(shí),請(qǐng)?jiān)黾颖匾淖⑨屢杂糜谔嵝验喿x者當(dāng)前工作目錄,以免出現(xiàn)諸如找不到文件
這類問題的發(fā)生。