在Linux操作系统中,命令行操作是高效管理系统的核心技能之一,而“后退”命令则是用户在命令行界面(CLI)中频繁使用的操作,主要用于在目录层级中逐级返回上一级目录,或快速返回用户主目录、根目录等关键位置,Linux提供了多种“后退”相关的命令和快捷方式,涵盖不同场景下的需求,以下从基础到进阶进行详细解析。

基础后退命令:cd
与目录导航
cd
(change directory)是Linux中最核心的目录切换命令,其“后退”功能主要通过参数组合实现,默认情况下,cd
不带参数时会切换到当前用户的家目录(/home/用户名
),而“后退”操作主要依赖以下两种方式:
-
单级后退:
cd ..
在Linux文件系统中,每个目录都包含一个特殊的(当前目录)和(父目录)标识。cd ..
命令的作用是切换到当前目录的上一级目录,若当前路径为/home/user/docs
,执行cd ..
后将进入/home/user
。
示例:pwd # 输出当前路径,如 /home/user/docs cd .. # 切换到上一级目录 pwd # 输出 /home/user
-
多级后退:
cd ../../...
若需连续后退多级目录,可重复使用,从/home/user/docs/projects
后退两级,执行cd ../..
将进入/home/user
。
示例:pwd # 输出 /home/user/docs/projects cd ../.. # 后退两级 pwd # 输出 /home/user
快速返回关键目录的快捷方式
除了逐级后退,cd
命令支持特殊参数实现快速跳转:

-
返回家目录:
cd ~
或cd
是Linux中家目录的缩写,执行cd ~
或直接输入cd
(无参数)可立即返回当前用户的家目录。
示例:pwd # 输出 /tmp/test cd # 或 cd ~ pwd # 输出 /home/user
-
返回上一次所在目录:
cd -
该命令用于在最近两个目录之间快速切换,常在频繁切换两个目录时使用,当前在/home/user
,切换到/var/log
后,执行cd -
将返回/home/user
,再次执行则回到/var/log
。
示例:cd /home/user cd /var/log pwd # 输出 /var/log cd - # 返回上一次目录 pwd # 输出 /home/user
结合Shell扩展的高级后退操作
现代Linux Shell(如Bash)支持通配符和路径扩展,可进一步提升后退效率:
-
利用通配符后退
若目录名包含可通配的字符,可通过或匹配,从/home/user/docs_2023/projects
后退到/home/user/docs_2023
,可执行cd docs_*
(需确保唯一匹配)。
示例:(图片来源网络,侵删)cd /home/user/docs_2023/projects cd docs_* # 匹配并切换到上一级目录 pwd # 输出 /home/user/docs_2023
-
使用绝对路径后退
若需直接跳转到指定层级的父目录,可结合$(pwd)
获取当前路径并截取,从/a/b/c/d
后退到/a/b
:cd "$(pwd | cut -d'/' -f1-3)" # 截取前3级路径
不同Shell环境下的后退命令差异
虽然主流Shell(Bash、Zsh等)均支持cd
命令,但部分Shell(如Zsh)提供了更便捷的扩展:
- Zsh的
cd ..
增强:Zsh支持cd ../..
的简写形式,如cd ....
可后退3级(每多一个后退一级)。 - Fish Shell的
cd
补全:Fish支持通过cd ../
按Tab键自动列出上级目录,提升操作效率。
常见后退场景与命令选择总结
为方便理解,以下通过表格对比不同后退场景的适用命令:
场景 | 推荐命令 | 示例路径 | 执行后路径 |
---|---|---|---|
后退一级 | cd .. |
/home/user/docs → /home/user |
/home/user |
后退两级 | cd ../.. |
/home/user/docs/projects → /home/user |
/home/user |
返回家目录 | cd ~ 或cd |
/var/log → /home/user |
/home/user |
在最近两目录间切换 | cd - |
/home/user ↔ /var/log |
交替切换 |
通配符匹配后退 | cd dir_* |
/home/user/docs_2023 → /home/user |
/home/user |
注意事项
- 权限问题:若上级目录无执行权限,
cd ..
会报错“Permission denied”,需使用sudo
或修改权限。 - 符号链接处理:若当前目录是符号链接,
cd ..
将跟随链接指向实际目录的父级,而非链接本身的父级,可通过cd -P
(物理路径)或cd -L
(逻辑路径)控制行为。 - 环境变量:
CDPATH
环境变量可设置cd
的默认搜索路径,例如export CDPATH=/home:/var
后,cd docs
会自动查找/home/docs
或/var/docs
。
相关问答FAQs
问题1:为什么执行cd ..
后提示“Permission denied”?
解答:这通常是因为当前用户对上级目录没有“执行”(x)权限,在Linux中,访问目录需同时拥有读(r)、写(w)、执行(x)权限,其中执行权限允许用户进入目录,可通过ls -ld ..
查看上级目录权限,若属主非当前用户且无组/其他用户执行权限,需联系目录所有者或使用sudo chmod +x ../
添加权限(需谨慎操作)。
问题2:如何快速后退到指定层级的父目录,如从/a/b/c/d
后退到/a/b
?
解答:可通过组合命令实现,方法一:使用dirname
命令逐级提取路径,例如cd $(dirname $(dirname $(pwd)))
(从当前路径后退两级);方法二:利用awk
或cut
截取路径字段,如cd "$(pwd | cut -d'/' -f1-3)"
(按分割并取前3级);方法三:若路径层级固定,可直接输入绝对路径cd /a/b
,对于频繁操作,可将其定义为别名,如alias cd2='cd $(dirname $(dirname $(pwd)))'
。