首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Linux cd 命令完全指南:從入門到進階的 10 個實用技巧

     編輯:PHP 相關知識

基本語法

cd [目錄路徑]

不帶參數時,預設切換到當前用戶家目錄($HOME)。

10 大核心用法

1. 絕對路徑切換

cd /var/www/html
cd /etc/nginx/conf.d

以 / 開頭,從根目錄開始,最明確、不易出錯。

2. 相對路徑切換

cd projects/laravel   # 進入當前目錄下的子目錄
cd ../..              # 回到上兩級目錄
cd ../../logs         # 回兩級再進 logs

. 當前目錄,.. 父目錄,可組合。

3. 回家目錄

cd
cd ~
cd $HOME

三種效果相同,~ 在 Bash 中自動展開為 $HOME。

4. 切換到上一個目錄(神技)

cd -

在兩個目錄間來回切換極其高效。底層讀取 OLDPWD 環境變數。

5. 使用上一條命令的參數

mkdir -p /var/www/project/{public,storage,config}
cd !$    # 等同於 cd /var/www/project/config

!$ 代表上一條命令的最後一個參數。配合 mkdir、tar、scp 等極其好用。

6. 切換到指定用戶家目錄

cd ~nginx
cd ~mysql

前提是該用戶存在於 /etc/passwd 且有家目錄。

7. 變數與命令替換

PROJECT_ROOT="/opt/myapp"
cd "$PROJECT_ROOT"

cd "$(dirname $(which php))"  # 進入 php 執行檔所在目錄

雙引號包裹變數防止空格路徑拆分。

8. 自動補全(Tab 鍵)

cd /var/w[TAB]  # 自動補全為 /var/www/
cd /var/www/h[TAB] # 補全為 /var/www/html/

習慣多按 Tab,減少輸入錯誤、加速操作。

9. 推棧/彈棧:pushd / popd / dirs

pushd /etc/nginx    # 當前目錄入棧,切換到 /etc/nginx
pushd /var/log      # 再入棧
dirs -v             # 顯示棧內容
popd                # 彈出棧頂,回到 /etc/nginx
popd                # 再彈出,回到原目錄

適合在多個深層目錄間頻繁跳轉,比 cd - 支援更多層級。

10. 進程替換與子 Shell 陷阱

(cd /tmp && pwd)  # 子 Shell 中切換,不影響父 Shell 當前目錄
cd /tmp && pwd     # 當前 Shell 切換,永久生效

腳本中使用 (cd dir && cmd) 可避免污染主流程工作目錄。

進階技巧

自動補全優化:啟用 cdspell

shopt -s cdspell  # 寫入 ~/.bashrc 永久生效
cd /var/wb        # 自動修正為 /var/www

自定義快捷別名

# ~/.bashrc
alias cdh='cd ~'
alias cdw='cd /var/www'
alias cdl='cd /var/log'
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'

fzf 模糊搜尋歷史目錄

# 安裝 fzf 後,Ctrl+R 搜尋歷史命令,Alt+C 模糊搜尋子目錄並 cd

自動 ls:cd 後自動列出內容

# ~/.bashrc
cd() {
    builtin cd "$@" && ls -hF --color=auto
}

常見錯誤與排查

錯誤原因解決
bash: cd: 太多參數路徑含空格未加引號cd "My Documents" 或 cd My\ Documents
權限被拒絕目錄執行權限不足chmod +x 目錄 或 sudo cd(不推薦)
非目錄目標是檔案而非目錄確認路徑正確
符號連結循環軟連結指向自身父目錄用 cd -P 使用物理路徑

環境變數速查

變數含義示例
PWD當前工作目錄/home/user/projects
OLDPWD上一個工作目錄/home/user
HOME當前用戶家目錄/home/user
CDPATHcd 相對路徑搜尋路徑列表.:/var/www:/opt

CDPATH 設定後,cd project 會依序在 ./project、/var/www/project、/opt/project 中尋找。

總結

cd 看似簡單,實則是終端機操作效率的基石。掌握 cd -、!$、pushd/popd、Tab 補全、cdspell、fzf 等技巧,能讓你在目錄樹中如履平地。建議將常用別名、shopt -s cdspell、CDPATH 加入 ~/.bashrc,一次配置,終身受益。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved