Linux 命令行完全指南:解鎖 Linux cd 命令的隱藏技能,讓目錄切換更高效
在 Linux 操作系統中,cd命令是最常用的命令之一,它是 “change directory” 的首字母縮寫,主要功能是切換工作目錄。無論是系統管理員還是普通用戶,在進行文件操作、配置管理等任務時,頻繁地切換目錄都是必不可少的操作,熟練掌握cd命令的使用方法能大大提高工作效率。

一、cd 命令的基本格式
cd命令的基本格式為:cd [-L|[-P [-e]] [-@]] [dir],其中dir表示要切換到的目標目錄,它可以是絕對路徑(如/etc),也可以是相對路徑(如../home)。如果省略dir參數,cd命令會默認切換到當前用戶的家目錄,即環境變量HOME所指向的目錄。
二、cd 命令選項詳解
選項 | 說明 |
-P | 如果切換的目標目錄是一個軟鏈接,該選項會使cd命令直接切換到軟鏈接指向的真正物理目標目錄,和pwd命令的-P選項功能類似,該參數在需要獲取實際物理路徑時使用,但在日常操作中并不常用。 |
-L | 與-P選項功能相反,當切換的目標目錄是軟鏈接時,cd命令會直接切換到軟鏈接所在的目錄,類似于pwd命令的-L選項,同樣在日常使用頻率較低。 |
-e | 該選項需與-P選項配合使用。當使用-P選項且當前工作目錄無法成功確定時,cd命令會以非零狀態退出。主要用于在依賴物理路徑切換目錄的場景中,對路徑有效性進行嚴格校驗 。 |
-@ | 在支持該功能的系統上,會將帶有擴展屬性的文件當作一個目錄來處理,該目錄包含了文件的屬性信息,此選項使用場景較為特殊,一般用戶很少用到。 |
三、cd 命令常見使用場景及示例
命令 | 說明 |
cd ~ | 表示為使用者的shell變量HOME(家目錄); |
cd - | 命令會首先顯示要切換到的目標目錄,然后再進入; |
cd . | 表示當前目錄; |
cd .. | 表示當前目錄的上一級目錄; |
cd !$ | 把上個命令的參數作為cd參數使用; |
cd ${OLDPWD} | 命令會直接切換到上一個工作目錄; |
1. 進入指定目錄
(1) 絕對路徑進入:若要進入系統的/etc目錄,可直接使用命令cd /etc。執行該命令后,使用pwd命令查看當前工作目錄,會顯示/etc,表明已成功進入/etc目錄。
[root@localhost ~]# cd /etc
[root@localhost etc]# pwd/etc(2) 相對路徑進入:假設當前工作目錄為/home/user,若要進入其下一級目錄documents,可使用相對路徑cd documents;若要進入上一級目錄home,則使用cd ..。
[root@localhost user]# pwd/home/user
[root@localhost user]# cd..
[root@localhost home]# pwd/home2. 切換到特殊目錄
(1) 切換到用戶家目錄:可以使用cd ~命令直接切換到當前用戶的家目錄。例如,當前用戶是root,執行cd ~后,工作目錄將變為/root。
[root@localhost local]# pwd/usr/local
[root@localhost local]# cd ~
[root@localhost ~]# pwd/root(2) 切換到上一次所在目錄:使用cd -命令,該命令會先顯示要切換到的目標目錄,然后再進入。比如,先從/root目錄切換到/usr/local目錄,再執行cd -,就會回到/root目錄,并在命令行顯示/root。
[root@localhost ~]# cd /usr/local
[root@localhost local]# pwd/usr/local
[root@localhost local]# cd -/root
[root@localhost ~]# pwd/root(3) 切換到上一個工作目錄:通過cd ${OLDPWD}命令可直接切換到上一個工作目錄,效果與cd -類似,OLDPWD環境變量存儲了上一個工作目錄的路徑。
[root@localhost /]# cd /var
[root@localhost var]# cd ${OLDPWD}
[root@localhost /]# pwd/3. 處理軟鏈接目錄
(1) 使用-P選項:假設存在一個軟鏈接目錄/link_dir,它指向/real_dir。當使用cd -P /link_dir命令時,會直接進入/real_dir目錄,獲取的是物理路徑。
[root@localhost ~]# ls -l /link_dir
lrwxrwxrwx 1 root root 9 Feb 10 10:00 /link_dir -> /real_dir
[root@localhost ~]# cd -P /link_dir
[root@localhost real_dir]# pwd
/real_dir(2) 使用-L選項:同樣對于上述軟鏈接目錄,使用cd -L /link_dir命令,會進入/link_dir目錄本身,即軟鏈接所在的目錄。
[root@localhost ~]# cd -L /link_dir
[root@localhost link_dir]# pwd/link_dir

























