文件和目录管理命令 cd
cd 命令是 Linux 中最常用的命令之一,全称是 change directory,用来切换当前的工作目录。就是让你在文件系统的不同文件夹之间跳转。
1. 切换到指定目录
最简单的用法是直接跟上一个目录路径,cd
会把你带到那个目录。比如:
cd /home/user/documents
这会让你切换到 /home/user/documents
目录。路径可以是绝对路径(从根目录 /
开始)或相对路径(基于当前目录)。比如你在 /home/user
下,运行:
cd documents
效果是一样的,因为 documents
是相对于当前目录的路径。
2. 回到上一级目录
想回到当前目录的上级目录,用 ..
表示上一级。比如你在 /home/user/documents
下,运行:
cd ..
这会把你带到 /home/user
。如果想再往上两级,可以用:
cd ../..
这里 ../..
表示上两级目录,依次类推。
3. 回到家目录
家目录(home directory)是你登录系统时的默认目录,通常是 /home/你的用户名
。用 cd
带上 ~
或者直接敲 cd
不加参数,就能快速回到家目录:
cd ~
或者:
cd
效果一样。比如你的家目录是 /home/user
,运行上面任一命令都会回到那里。
4. 切换到根目录
根目录是 Linux 文件系统的顶层,用 /
表示。要切换到根目录,直接运行:
cd /
这会让你直接跳到 /
目录,比如想看看 /etc
或 /var
这些系统目录时很有用。
5. 回到上一次所在目录
有时候你切换了目录,又想快速回到之前的目录,用 cd -
就行。比如你在 /home/user/documents
切换到 /var/log
:
cd /var/log
然后运行:
cd -
这会把你带回 /home/user/documents
,并且终端还会打印出你切换到的目录路径,方便确认。
6. 处理路径中的空格
如果目录名里有空格(比如 My Documents
),直接 cd My Documents
会报错,因为 Linux 会把空格当成参数分隔符。解决办法是用引号把路径包起来,或者用反斜杠 \
转义空格。比如:
cd "My Documents"
或者:
cd My\ Documents
两种方法都能正确切换到 My Documents
目录。
7. 使用环境变量
cd
可以结合环境变量来快速跳转。比如,HOME
变量通常指向你的家目录,运行:
cd $HOME
效果等同于 cd ~
。再比如,如果你定义了一个环境变量 MYDIR=/var/log
,可以用:
cd $MYDIR
直接跳到 /var/log
。
8. 相对路径和绝对路径
- 绝对路径:从根目录
/
开始的完整路径,比如/home/user/documents
。不管你当前在哪个目录,cd /home/user/documents
总是去同一个地方。 - 相对路径:基于当前目录的路径,比如
cd documents
。如果你在/home/user
下,这会去/home/user/documents
;但如果在/var
,就会去/var/documents
。
绝对路径适合明确知道目标位置时使用,相对路径适合在当前目录附近操作时用。
9. 常见错误
- 目录不存在
如果你输入的目录不存在,比如:
cd /wrong/path
会报错:bash: cd: /wrong/path: No such file or directory
。解决办法是检查路径拼写,或者用 ls
确认目录是否存在:
ls /wrong
- 权限问题
如果目标目录没有访问权限,比如:
cd /root
可能会报错:bash: cd: /root: Permission denied
。可以用 ls -l
检查权限,或者用 sudo
(如果有权限):
sudo cd /root
注意:sudo cd
通常不起作用,因为 cd
是 shell 内置命令,不是独立程序。可以用 sudo -i
进入 root 的 shell 再操作。