cd

切換用戶當前工作目錄。

概要

1cd [-L|[-P [-e]]] [dir]

主要用途

  • 切換工作目錄至dir。其中dir的表示法可以是絕對路徑或相對路徑。
  • 若參數dir省略,則默認爲使用者的shell變量HOME
  • 如果dir指定爲~時表示爲使用者的shell變量HOME.表示當前目錄,..表示當前目錄的上一級目錄。
  • 環境變量CDPATH是由冒號分割的一到多個目錄,你可以將常去的目錄的上一級加入到CDPATH以便方便訪問它們;如果dir/開頭那麼CDPATH不會被使用。
  • shopt選項cdable_vars打開時,如果dirCDPATH及當前目錄下均不存在,那麼會把它當作變量,讀取它的值作爲要進入的目錄。

參數

dir(可選):指定要切換到的目錄。

選項

1-L (默認值)如果要切換到的目標目錄是一個符號連接,那麼切換到符號連接的目錄。
2-P 如果要切換到的目標目錄是一個符號連接,那麼切換到它指向的物理位置目錄。
3-  當前工作目錄將被切換到環境變量OLDPWD所表示的目錄,也就是前一個工作目錄。

返回值

返回狀態爲成功除非無法進入指定的目錄。

例子

1cd    # 進入用戶主目錄;
2cd /  # 進入根目錄
3cd ~  # 進入用戶主目錄;
4cd ..  # 返回上級目錄(若當前目錄爲“/“,則執行完後還在“/";".."爲上級目錄的意思);
5cd ../..  # 返回上兩級目錄;
6cd !$  # 把上個命令的參數作爲cd參數使用。

關於切換到上一個工作目錄的說明

1cd -
2# 命令會首先顯示要切換到的目標目錄,然後再進入。
3cd ${OLDPWD}
4# 命令會直接切換到上一個工作目錄。

關於CDPATH

 1# 設置桌面文件夾作爲CDPATH的值。
 2CDPATH='~/Desktop'
 3# 假設我們接下來要演示涉及到的路徑~和~/Desktop下沒有test3文件夾,現在新建它們。
 4mkdir ~/test3
 5mkdir ~/Desktop/test3
 6# 進入~目錄。
 7cd ~
 8# 進入test3目錄。
 9cd test3
10# 執行後顯示~/Desktop/test3並進入該目錄,而不是~目錄的test3目錄。
11# 如果CDPATH存在值,那麼優先在CDPATH中查找並進入第一個匹配成功的,如果全部失敗那麼最後嘗試當前目錄。

關於cdable_vars

1# 打開選項。
2shopt -s cdable_vars
3# 假設當前路徑以及CDPATH沒有名爲new_var的目錄。
4new_var='~/Desktop'
5# 嘗試進入。
6cd new_var
7# 關閉選項。
8shopt -u cdable_vars

注意

  1. 該命令是bash內建命令,相關的幫助信息請查看help命令。

  2. 建議您在編寫腳本的過程中如有必要使用cd命令時,請增加必要的註釋以用於提醒閱讀者當前工作目錄,以免出現諸如找不到文件這類問題的發生。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: