文件系统中跳转

    • pwd:打印出当前工作目录名

    • cd:更改目录

    类似于 Windows,一个“类 Unix” 的操作系统,比如说 Linux,以分层目录结构来组织所有文件。这就意味着所有文件组成了一棵树型目录(有时候在其它系统中叫做文件夹),这个目录树可能包含文件和其它的目录。文件系统中的第一级目录称为根目录。根目录包含文件和子目录,子目录包含更多的文件和子目录,依此类推。


    注意:
    (类 Unix 系统)不像 Windows ,每个存储设备都有一个独自的文件系统。类 Unix 操作系统,比如 Linux,总是只有一个单一的文件系统树,不管有多少个磁盘或者存储设备连接到计算机上。根据负责维护系统安全的系统管理员的兴致,存储设备连接到(或着更精确些,是挂载到)目录树的各个节点上。


    大多数人都可能熟悉如图 3-1 所示描述文件系统树的图形文件管理器。注意, 通常这是一棵倒置的树,也就是说,树根在最上面,而各个枝干在下面展开。


    图3-1:由图形化文件管理器显示的文件系统树

    然而,命令行没有图片,所以我们需要考虑用不同的方法,在文件系统树中跳转。

    把文件系统想象成一个迷宫形状,就像一棵倒立的大树,我们站在迷宫的中间位置。在任意时刻,我们处于一个目录里面,我们能看到这个目录包含的所有文件,以及通往上面目录(父目录)的路径,和下面的各个子目录。我们所在的目录则称为当前工作目录。我们使用 pwd(print working directory(的缩写))命令,来显示当前工作目录。

    列出一个目录包含的文件及子目录,使用 ls 命令。

    1. Desktop Documents Music Pictures Public Templates Videos

    实际上,用 ls 命令可以列出任一个目录的内容,而不只是当前工作目录的内容。ls 命令还能完成许多有趣的事情。在下一章节,我们将介绍更多关于 ls 的知识。

    要更改工作目录(此刻,我们站在树形迷宫里面),我们用 cd 命令。输入 cd,然后输入你想要去的工作目录的路径名。路径名就是沿着目录树的分支到达想要的目录期间所经过的路线。路径名可通过两种方式来指定,一种是绝对路径,另一种是相对路径。我们先来介绍绝对路径。

    3.4.1 绝对路径

    绝对路径开始于根目录,紧跟着目录树的一个个分支,一直到达所期望的目录或文件。例如,你的系统中有一个目录,大多数系统程序都安装在这个目录下。这个目录的路径名是 /usr/bin。它意味着从根目录(用开头的“/“表示)开始,有一个叫 “usr” 的目录包含了目录 “bin”。

    1. [me@linuxbox ~]$ cd /usr/bin
    2. [me@linuxbox bin]$ pwd
    3. /usr/bin
    4. [me@linuxbox bin]$ ls
    5. ...Listing of many, many files ...

    我们把工作目录转到 /usr/bin 目录下,里面装满了文件。注意 shell 提示符是怎样改变的吗?为了方便,通常终端提示符自动显示工作目录名。

    3.4.2 相对路径

    绝对路径从根目录开始,直到它的目的地,而相对路径开始于工作目录。为了做到这个(用相对路径表示), 我们在文件系统树中用一对特殊符号来表示相对位置。这对特殊符号是 “.” (点) 和 “..” (点点)。

    符号 “.” 指的是工作目录,”..” 指的是工作目录的父目录。下面的例子说明怎样使用它。让我们再次把工作目录切换到 /usr/bin:

    好了,比方说我们想更改工作目录到 /usr/bin 的父目录 /usr。可以通过两种方法来实现。可以使用以下绝对路径名:

    1. [me@linuxbox bin]$ cd /usr
    2. [me@linuxbox usr]$ pwd

    或者, 也可以使用相对路径:

    1. [me@linuxbox bin]$ cd ..
    2. /usr

    同样地,从目录 /usr/ 到 /usr/bin 也有两种途径。可以使用绝对路径:

    或者,也可以用相对路径:

    1. [me@linuxbox usr]$ cd ./bin
    2. [me@linuxbox bin]$ pwd
    3. /usr/bin

    有一件很重要的事,我必须指出来。在几乎所有的情况下,你可以省略”./“。它是隐含的。输入:

    1. [me@linuxbox usr]$ cd bin

    实现相同的效果。如果不指定一个文件的目录,那它的工作目录会被假定为当前工作目录。

    3.4.3 有用的快捷键

    在下表中,列举出了一些快速改变当前工作目录的有效方法。