在 linux 中,cd
命令被称为修改目录命令,用来修改当前的工作目录。
帮助
用 man
命令可以看到其帮助信息。我本地是macOS看到是下面这个,只是提示了是内建builtin命令。
cd
是一个 shell 内置的,它的行为可能因 shell 而略有不同。 它使用 shell 环境变量来确定执行所需的信息。
这个是centos系统看到的man信息。
语法
命令的语法如下:
cd [OPTIONS] directory
参数
该命令只接受两个很少使用的选项。
−L 这个是默认的,跟随符号链接。
−P 当指定此选项并试图导航到指向某个目录的符号链接时。
- 在最简单的形式下,当不带任何参数地使用时,cd 会将您带到您的家目录。
- 在浏览文件系统时,可以使用 Tab 键自动完成目录的名称。 在目录名的末尾添加一个斜杠是可选的。
- 若要切换到某个目录,必须具有该目录的可执行权限。
- pwd 命令允许您查找当前所在的目录。
绝对路径和相对路径
指定要更改为的目录时,可以使用绝对路径名或相对路径名。 绝对路径或完整路径从系统根 / 开始,相对路径从工作目录 / 开始。
默认情况下,当您登录到 Linux 系统时,您当前的工作目录文件夹设置为您的主目录。 假设 Downloads 目录存在于您的主目录中,您可以通过使用该目录的相对路径导航到它:
比如
➜ ~ cd Music
上面这个命令和下面这个命令是一样的效果
cd /home/admin/Music
简而言之,如果路径以斜杠(/)开头,那么它就是目录的绝对路径。
父目录
在类 unix 操作系统上,当前的工作目录用一个点表示 .
两个点 ..
,表示父目录,其实父目录就是该目录的上一级目录。编程中,有很多这样的,都是由「parent」翻译过来的。还有父类、父类的父类、超类等。
如果你输入 cd .
,你会变成工作目录,换句话说,命令什么都不会做。
假设您当前位于 /usr/local/share 目录中,要切换到 /usr/local 目录(比工作目录目录高一级) ,您需要输入:
$ cd ../
要向上移动两级到 /usr 目录(父目录的父目录) ,可以运行以下命令:
$ cd ../..
这是另一个例子。 假设您位于 /usr/local/share 目录中,希望切换到 /usr/local/src。 你可以通过输入
$ cd ../src
切换到上一个工作目录
要更改回前一个工作目录,将 dash (-)字符作为参数传递给 cd 命令:
$ cd -
切换到家目录
要导航到您的假目录,只需键入 cd。 另一种直接返回家目录的方法是使用波浪号(~)字符,如下所示:
$ cd ~
有空格的目录
如果要更改的目录名称中有空格,则应在路径周围加上引号,或使用反斜杠(\)字符转义空格: 比如我要切换到带有空格的目录。
$ cd Creative\ Cloud\ Files
Note: 也可以敲完第一个单词直接 tab
键,自动补全。
小结
现在,您应该已经很好地理解了什么是当前的工作目录/
目录,以及如何使用 cd
命令切换到不同的目录。