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