cd 是 Change Directory(切换目录)的缩写,它是你在 Linux 命令行下进行文件和目录导航的核心命令。

cd 命令的基本语法
cd [目录路径]
cd:命令本身。[目录路径]:你想要切换到的目标目录,这部分是可选的,如果省略,cd会带你回到你的“家目录”(Home Directory)。
最常用的 cd 命令用法
下面是一些最常见和最实用的 cd 用法。
a) 进入指定目录
如果你想切换到一个具体的目录,你需要提供该目录的完整路径(绝对路径)或相对路径。
示例 1:使用绝对路径 绝对路径是从根目录 开始的完整路径。
# 切换到 /var/log 目录 cd /var/log # 切换到根目录 cd /
示例 2:使用相对路径 相对路径是相对于你当前所在位置的路径。

假设你的当前目录是 /home/user1,并且你想进入 /home/user1/documents:
# 假设当前在 /home/user1 cd documents
b) 返回上一级目录
使用两个点 表示“上一级目录”。
# 假设当前在 /home/user1/documents # 执行以下命令后,你将进入 /home/user1 cd ..
c) 返回上两级目录
你可以连续使用 来返回多级目录。
# 假设当前在 /home/user1/documents/projects # 执行以下命令后,你将直接进入 /home/user1 cd ../..
d) 返回家目录
家目录是每个用户的个人主文件夹,在 CentOS 中,普通用户的家目录通常位于 /home/用户名,而 root 用户的家目录是 /root。

有几种方式可以快速回到家目录:
方法 1:直接使用 cd 命令(不带任何参数)
这是最快捷、最常用的方法。
# 无论你当前在哪个目录,执行此命令都会回到家目录 cd
方法 2:使用波浪线 波浪线 是当前用户的家目录的快捷符号。
# 切换到当前用户的家目录 cd ~ # 也可以进入家目录下的子目录,.ssh cd ~/.ssh
方法 3:使用 $HOME 变量
$HOME 是一个环境变量,它也存储了当前用户的家目录路径。
# 切换到当前用户的家目录 cd $HOME
e) 返回上一次所在的目录
如果你在多个目录之间来回切换,可以使用一个连字符 来快速返回到上一次所在的目录。
# 假设你当前在 /home/user1 cd /var/log # 现在你在 /var/log # 使用下面的命令可以快速返回到 /home/user1 cd - # 如果你再执行一次 cd -,你又会回到 /var/log
cd 命令的高级技巧
a) 自动补全
在终端中输入 cd 和目录名的前几个字母,然后按 Tab 键,系统会自动补全目录名,这可以避免你输入错误,并大大提高效率。
# 输入 cd /var/l 然后按 Tab 键 # 系统会自动补全为 cd /var/log
b) 结合通配符
虽然不常见,但 cd 也可以结合通配符 来使用。 代表任意数量的任意字符。
# 假设当前目录下有 docs 和 downloads 两个文件夹 # 下面的命令会进入第一个匹配的目录 cd d* # 会进入 docs 或 downloads(取决于系统排序)
c) 处理包含空格或特殊字符的目录名
如果目录名中包含空格、、 等特殊字符,你需要用单引号 或双引号 将路径括起来,或者使用反斜杠 \ 进行转义。
# 假设有一个目录名为 "My Documents" # 错误示范(会被拆分成两个参数) cd My Documents # 正确方法1:使用引号 cd "My Documents" cd 'My Documents' # 正确方法2:使用转义字符 cd My\ Documents
常见错误与解决方法
错误 1:bash: cd: too many arguments
原因:你提供了多个目录路径,但 cd 命令只接受一个。
解决:检查你的命令,确保路径正确,并且没有多余的空格或参数。
# 错误示例 cd /home/user1 /var/log # 正确示例 cd /home/user1
错误 2:bash: cd: /path/to/dir: No such file or directory
原因:你指定的目录不存在。 解决:
- 检查路径是否拼写正确。
- 使用
ls命令列出当前目录下的文件和文件夹,确认目标目录是否存在。 - 确认你有权限访问该目录。
# 列出当前目录内容 ls # 列出根目录下的内容,看看 /var/log 是否存在 ls /
错误 3:bash: cd: /path/to/dir: Permission denied
原因:目标目录存在,但你没有足够的权限进入它。 解决:
- 使用
sudo命令(如果你有管理员权限)。 - 联系系统管理员获取权限。
# 使用 sudo 进入 root 用户才能访问的目录 sudo cd /root
总结表格
| 命令 | 作用 | 示例 |
|---|---|---|
cd |
回到当前用户的家目录 | cd |
cd ~ |
回到当前用户的家目录 | cd ~ |
cd / |
切换到根目录 | cd / |
cd .. |
返回上一级目录 | cd .. |
cd ../.. |
返回上两级目录 | cd ../.. |
cd - |
在当前目录和上一次所在的目录之间切换 | cd - |
cd dir_name |
进入当前目录下的 dir_name 子目录 |
cd documents |
cd /path/to/dir |
切换到绝对路径指定的目录 | cd /var/log/nginx |
cd $HOME |
回到当前用户的家目录 | cd $HOME |
熟练掌握 cd 命令是使用 CentOS/Linux 命令行的第一步,也是最重要的一步,希望这份详细的指南对你有帮助!
