Section 3.1: 绝对目录与相对目录

要更改到绝对路径的目录,请使用完整的路径信息,以斜线 / 开头,这样就可以了:

cd /home/username/project/abc

如果要更改到当前目录附近的一个目录,可以指定一个相对位置。例如,如果你已经在 /home/username/project,你可以这样输入子目录 abc:

cd abc

例如,如果您在 /home/username/project/abc,并希望转到 /home/username/project,则应执行以下操作:

cd ..

这也可以称为 “移动到父级(或 上一级 )目录 ”。

Section 3.2: 更改到上一个目录

对当前 shell 而言,无论在哪个目录,这都会将你带回到之前所在的目录(上一个工作目录),对于使用绝对路径切换到不是附近的目录时,很使用。

cd -

多次执行此操作可以有效地 “切换 ”到当前目录或上一个目录。

Section 3.3: 切换到主目录(家目录)

默认目录是主目录($HOME,通常是 /home/username),因此不带任何目录的 cd 会将你带到默认的主目录

cd

或者,你可以使用下面的方式更明确一些:

cd $HOME

主目录的快捷方式是 ~,因此也可以使用 cd ~。

cd ~

Section 3.4: 为脚本而切换目录

一般来说,Bash 脚本的运行有两种类型:

  1. 系统工具类的脚本可以在当前工作目录下直接运行
  2. 项目工具类的需要切换到脚本文件在文件系统中的相对位置后运行

对于第二种类型的脚本,最好切换到脚本所在的目录。可以使用以下命令来实现:

cd "$(dirname "$(readlink -f "$0")")"

该命令可运行 3 条命令:

  1. readlink -f “$0” 确定当前脚本的路径 ($0)
  2. dirname 将脚本路径复制为其目录路径
  3. cd 将从当前工作目录切换到 dirname 目录