使用 pwd 这个命令可以输出当前所在的位置,也可以说是当前的工作目录,pwd 指的是 print working directory。
我这里显示当前的位置是 /Users/wanghao。在 macOS 或者 Linux 系统里,目录或者文件的路径是用斜线分隔开的,路径的第一个斜线表示的系统的根,英文叫 root,系统里所有的东西都是从这个 root 开始的。这里显示的这个路径,可以读成系统的根目录下面的 Users 里的 wanghao 这个目录。也就是 wanghao 的上一级目录是 Users,或者说 Users 目录里面包含 wanghao 这个目录。Users 这个目录是在系统的 root 下面。
**cd**
在命令行下面,改变当前的位置可以使用 cd 命令,cd 指的是 change directory,输入 cd ,然后在它后面加上要进入到的位置,这个位置可以是一个绝对路径,也可以是相对于当前工作目录的一个相对路径。比如我们想要进入到系统的根下面,执行 cd 加上一条斜线,表示系统的根。
```
cd /
```
用 ls 可以列出指定路径里的东西,如果不加参数就表示列出当前所在目录里的东西,这里列出的就是系统的根目录下面的东西。
**ls**
```
ls
```
**当前目录**
我这里显示,系统的根目录下面有 Applications, Users 这些东西。假设我们现在要进入到 Users 这个目录,执行 cd,后面可以使用一个相对路径,相对于当前所在的位置来说,我要进入到的目录的路径就是 Users。或者也可以使用 ./ 再加上 Users,这个路径表示的是当前目录下在的 Users 目录,也可以省略掉 ./
```
cd ./Users
```
用 ls 再查看一下当前目录下面的东西,显示这里有一个 wanghao,想要进入到这个目录的下面,可以执行 cd wanghao。输入 pwd 查看当前位置,显示是在 /Users/wanghao 这个目录的下面。执行 ls 列出当前位置里的东西,显示我这里有 Movies,Music 还有 Desktop 这些东西。执行 cd 命令,进入到当前位置的 Desktop 这个目录的下面,执行 pwd ,显示当前位置是在 /Users/wanghao/Desktop。
**上一级目录**
../ 在路径里面表示的是上一级目录,比如我想回到当前位置的上一级目录,可以执行 cd ../ ,这行命令的意思就是进入到当前位置的上一级目录里面。查看当前位置,显示是在 /Users/wanghao 这里。.../ 表示上一级目录,用两次就表示上一级的上一级,执行 cd ../../ ,查看当前位置,显示是在系统的根的下面。
**绝对路径**
现在我想直接进入到 wanghao 这个用户的 Desktop 目录里面,可以使用这个目录的绝对路径,绝对路径就是以系统的根开头的路径,输入 cd ,路径里面的第一条斜线表示的就是系统的根,然后是 Users/wanghao/Desktop,用 pwd 查看当前位置,显示当前是在 /Users/wanghao/Desktop 这个目录里面。
```
cd /Users/wanghao/Desktop
```
**用户主目录**
一般来说每个登录到系统的用户都会拥有一个主目录,在 macOS 系统里,普通用户的主目录是在 /Users 里面,用户的主目录的名字就是用户的名字,我这里就是 wanghao 这个目录。在命令行下面,波浪号(~)表示的就是当前登录的用户的主目录,使用这个波浪号可以快速进入到当前用户的主目录的下面。执行 cd ~,查看一下当前位置,显示是在 /Users/wanghao 这里。
```
cd ~
```
也就是想要进入到当前登录用户的主目录下面,可以使用 /Users 外加用户名这种路径形式,也可以直接使用波浪号。
**绝对与相对路径**
在命令行界面的下面,通过执行命令处理文件或者目录的时候,可以使用文件或者目录的绝对位置,这样无论当前是在哪里,都可以正确的处理需要处理的文件或者目录,另外,我们也可以使用文件或者目录的相对位置,这就需要考虑你当前的位置是在哪里,要处理的文件或者目录相对于当前这个位置来说是在哪里,比如是在当前目录下面的某个地方,或者上一级目录的上一级目录里的某个地方。绝对路径指的就是以一条斜线开头的路径,除此以外,都属于是相对路径,相对路径可能是以目录或文件的名字开头,也可能是以 ./ 或者 ../ 开头。