cd命令是Linux中最常用的命令之一,它用於切換目錄(最基本的命令行操作之一)。但是大多數用戶都只限於cd的基本用法,其實這工具還提供了許多其他非常有用的小操作。
下面就讓我們一起溫故一下這個命令吧。注意,下面提到的所有示例和說明都在Ubuntu 16.04上進行了測試。
1. cd 如何切換你的當前目錄?
將新目錄作為cd命令的參數,就可以切換到目錄:
$ cd [directory-name]
假設你正在你的主(home)目錄,然后你想要切換到‘Desktop’(在主目錄的里面)目錄,那么你要運行的具體命令如下:
$ cd Desktop

正如您在上面的截圖中所看到的,第一個命令顯示當前工作目錄。然后,使用cd命令來切換到‘Desktop’。使用pwd命令可以對目錄的切換進行驗證。
2. cd 如何快速的切換到主目錄?
該命令可以讓您快速切換到主目錄,不管您當前所在的目錄。這可以通過使用cd命令加破浪符號(~)來完成。
$ cd ~

正如您在上面的截圖中所看到的,用戶原先並不在主目錄中。但是在使用“cd ~”命令之后,當前目錄切換到了主目錄。
注意,如果$HOME環境變量被設置為您的主目錄路徑,那么僅僅運行cd命令(沒有任何參數)也會將帶您到您的主目錄。
3. cd 如何快速的切換到上一個工作目錄
該命令還允許您快速的切換到以前的工作目錄。這個操作可以通過使用cd –命令來完成。
$ cd -

如上圖所示,一開始我們在“/root/ethereum/soft/Mist-linux64-0-11-1”目錄,后來我們切換到了主目錄,接下來我們使用cd –命令,又切換回了“/root/ethereum/soft/Mist-linux64-0-11-1”目錄
4. cd 怎么才能不切換到軟鏈接目錄
默認情況下,這cd命令會切換到軟鏈接的目錄,而不是真正的物理目錄。如下圖:

如果你想要切換到真正的物理目錄,那么你可以使用-P 選項:
$ cd -P [symbolic link-name]
例如:
$ cd -P symlink

如上圖所示,加上-P 選項后,我們切換到了真正的物理目錄。
5. CDPATH是什么 ,它有什么用?
CDPATH環境變量可用於為cd命令定義基本目錄。
在前面,我們使用‘cd ~’目錄,可以從任何目錄切換到用戶的主目錄。
同樣地,如果您想要快速切換到任何其他特定的目錄,不管您當前的位置是什么,您可以通過使用CDPATH環境變量來定義一個基本目錄來做到這一點。如:
$ export CDPATH=/root

現在,我們可以在任何目錄,快速的切換到/root下的目錄了,如下圖:

從圖中我們可以看到,我們原先在/var/log 目錄,運行cd Desktop 后,直接切換到了/root/Desktop目錄。
6. 如何創建一個目錄,然后直接進入這個目錄?
如果您願意,您可以創建一個目錄,並使用單個命令進入到該目錄。要做到這一點,請運行以下命令:
$ mkdir [dir-name] && cd $_
如:mkdir htf && cd $_

正如您可能已經知道的,&&運算符用於執行多個命令,$_代表前面命令的最后一個參數。
7. 如何創建一個名字是 ‘-’的目錄,然后切換進去?
正如我們在本教程中已經討論過的,與cd命令一起使用的“-”符號將帶您到前面的工作目錄。但是,如果您想要切換到名字是“-”的目錄呢?不要擔心,你可以通過使用相對路徑來做到這一點:
$ cd ./-
如下圖所示:

總結
在本教程中,我們嘗試覆蓋cd命令提供的大部分功能。所以,如果你嘗試了一下我們在這里解釋的所有例子,你會對這個工具會有一個很好的了解。關於其他功能和細節,請訪問工具的手冊頁(或運行“info cd”或“help cd”命令)。