当前位置:首页>Linux>005 Linux cd 命令用法大全:新手必学的目录切换技巧

005 Linux cd 命令用法大全:新手必学的目录切换技巧

  • 2026-09-02 15:46:58
005 Linux cd 命令用法大全:新手必学的目录切换技巧

你在终端里输入 cd Desktop,成功进去了。想返回上一级?输入 cd ..。想回到家目录?输入 cd ~。但当你输入 cd /usr/local/bin 时,是不是偶尔会打错一个斜杠?当你需要在上次访问的两个目录之间来回切换时,是不是还在重复输入完整路径?cd 是 Linux 中最基础、最常用的命令之一,但很多人只用到了它 10% 的功能。掌握本文的技巧,你的目录切换速度将提升一倍。


一、cd 命令的作用与基础语法

cd 是 change directory 的缩写,用于切换当前工作目录。在 Linux 中,几乎所有命令都依赖于“当前所在的目录”,因此 cd 是你每天都会用到的命令。

基础语法:

cd [目标目录]
  • 如果不加任何参数,cd 会直接返回你的家目录(/home/用户名)。
  • 如果目标目录不存在,会报错:bash: cd: xxx: No such file or directory。

二、绝对路径 vs 相对路径(核心概念)

理解绝对路径和相对路径,是掌握 cd 的关键。

路径类型
定义
起始符
示例
适用场景
绝对路径
从根目录/ 开始写起的完整路径
/
/home/alice/Documents
不管当前在哪个目录,都能精确到达目标
相对路径
相对于当前目录的路径
不是/
Documents、../Downloads、./script.sh
在当前目录附近操作时更简洁

通俗理解

  • 绝对路径
     = 详细住址:“中国北京市朝阳区XX路123号”
  • 相对路径
     = 相对于你当前位置的指引:“往前走100米,右手边那栋楼”

实例对比

假设当前目录是 /home/alice:

目标目录
绝对路径
相对路径(从/home/alice 出发)
/home/alice/Desktop
cd /home/alice/Desktop
cd Desktop
/home/alice/Documents
cd /home/alice/Documents
cd Documents
/etc
cd /etc
cd ../../etc(从 home 回根再到 etc,麻烦)

💡 经验:跨多个层级或访问系统目录时用绝对路径;在当前家目录或项目目录内操作时用相对路径。


三、5 个最常用的快捷路径(效率神器)

快捷符
含义
示例
说明
~
当前用户的家目录
cd ~/Downloads
等价于/home/用户名/Downloads
.
当前目录
cd .
无变化,偶尔用于刷新或占位
..
上一级目录
cd ..
可叠加:cd ../.. 上两级
-
上一个工作目录(OLDPWD)
cd -
在两个目录之间快速来回切换
空
不跟参数
cd
直接回到家目录

🏠 ~ —— 快速回到家目录

cd ~/Pictures      # 进入家目录下的 Picturescd ~               # 单独 ~ 等同于 cd

📂 .. —— 返回上一级(可叠加)

cd ..              # 上一级cd ../..           # 上两级cd ../../..        # 上三级

🔄 - —— 在两个目录之间疯狂横跳

这个技巧很多老手都不知道!

$ cd /var/log$ cd /etc$ cd -/var/log$ cd -/etc

每次 cd - 都会切换回上一次所在的目录。它依赖于 Shell 变量 $OLDPWD(自动记录)。

⚠️ 注意:如果你连续执行 cd - 两次,会回到原点。适合在两个目录间反复切换的场景。


四、实战示例:一步一步切换目录

假设你的目录结构如下:

/home/alice/├── Desktop/├── Documents/│   └── work/│       └── project/└── Downloads/

场景1:从家目录进入 Documents/work/project

cd Documents/work/project     # 相对路径# 或cd /home/alice/Documents/work/project   # 绝对路径

场景2:从深层目录返回家目录

cd ~# 或cd# 或cd /home/alice

场景3:从 project 返回 Documents

cd ..        # 从 project 到 workcd ..        # 从 work 到 Documents# 或一步到位cd ../..     # 直接从 project 到 Documents

场景4:在 /var/log 和 /etc/nginx 之间来回切换

cd /var/logcd /etc/nginxcd -   # 回到 /var/logcd -   # 回到 /etc/nginx

五、常见错误与避坑指南

错误现象
常见原因
正确做法
cd: xxx: No such file or directory
目录名拼写错误,或目录不存在
用ls 查看当前目录内容,注意大小写和空格
cd: ...: Not a directory
试图cd 到一个普通文件
确认目标是一个目录(用ls -l 看第一个字符是否为 d)
cd -
 没有反应或切换异常
Shell 没有记录$OLDPWD(比如刚打开的新终端)
先随便cd 到某个目录,OLDPWD 才会被赋值
打不开目录但明明存在
该目录对当前用户没有执行(x)权限
用sudo 或 chmod 修改权限(参见系列第2篇)
误以为cd ~user 是错误
实际上~username 可以切换到指定用户的家目录
cd ~root
 切换到 /root(需权限)

典型错误示例

$ cd desktop   # 但实际目录名是 Desktop(大写D)bash: cd: desktop: No such file or directory$ cd /usr/local/bin/   # 多了一个尾随斜杠没问题,但如果是 /usr/local/bin 后误加空格?cd /usr/local/bin /   # 错误:多了空格和参数

六、高级技巧:cd 与 pushd、popd(目录栈)

如果你需要记住多个目录并快速返回,单纯的 cd - 只能记一个。这时可以用目录栈:

pushd /var/log# 切换到 /var/log,并将当前目录压入栈pushd /etc          # 切换到 /etc,将 /var/log 压入栈popd# 弹出栈顶,回到 /var/log

查看目录栈:dirs -v。

这个技巧适合脚本或需要频繁在多个目录间切换的开发者。


七、总结

cd 虽然简单,但用好快捷符 ~、..、- 能极大提高效率:

  • cd
     直接回家。
  • cd ..
     上翻一层。
  • cd -
     在两个目录间跳跃。
  • 理解绝对路径(从 / 开始)和相对路径(从当前位置出发)的区别,避免 No such file 错误。

记住:任何目录切换前,如果你不确定当前在哪,先用 pwd 打印当前路径,再用 ls 看看有什么。

如果你觉得本文对你有帮助,欢迎点赞、推荐、转发,关注我,后续会分享更多Linux入门干货!

文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章