导航

前言

  1. 除了在命令行进行输入操作之外,我们首先需要学习的是如何在 Linux 系统中导航文件系统。
  2. 本章将介绍下述命令:
  • pwd: 查看当前工作目录
  • cd: 改变目录
  • ls: 列出目录内容

理解文件系统树

  1. 与 Windows 相同,类 UNIX 操作系统也是以称之为分层目录结构的方式来组织文件的。
  2. 这意味着文件是在树形结构的目录(有时在其他系统中称为文件夹)中进行组织的,该树形结构目录可能包含文件和其他目录。
  3. 文件系统的第一个目录叫做根目录,它包含了文件和子目录。子目录里包含了更多的文件和子目录,依此类推。
  4. 需要注意的是,在 Windows 系统中,每个存储设备都有一个独立的文件系统树。而在类 UNIX 系统中,如 Linux ,无论多少驱动器或储存设备与计算机相连,通常只有一个文件系统树。
  5. 根据系统管理员的设置,存储设备将会挂载到文件系统树的不同位置,系统管理员要负责系统的维护。

当前工作目录

  1. 可能大部分人都熟悉用于表示文件系统树的图形文件管理器,需要注意的是,树通常是倒立显式的。也就是说,顶部是根目录,依次向下排列是子目录。
  2. 然而,由于命令行没有图像,若是要浏览文件系统树,就必须使用其他方法。
  3. 假设文件系统是一个迷宫,形如一棵倒置的树,并且用户处在文件系统之中。任何时候,我们处在单个目录中,能够看到该目录中包含的文件、去往上一级目录(称为父级目录)的路径,以及下一级的各个子目录。
  4. 用户所处的目录叫做当前工作目录,使用 pwd(打印工作目录) 命令可以显示当前工作目录。
    1
    2
    [me@linuxbox ~]$ pwd
    /home/me
  5. 第一次登录系统时(或是启动终端仿真器会话时),当前工作目录被设置成主目录。每一个用户账号都有一个主目录,作为普通用户操作时,这是唯一一个允许用户写文件的地方。

列出目录内容

  1. 使用 ls 命令可以列出当前工作目录的文件和目录。
    1
    2
    [me@linuxbox ~]$ ls
    Desktop Documents Music Pictures Public Videos
  2. 实际上,可以使用 ls 命令列出任何目录的内容,而不仅仅是当前工作目录。

更改当前工作目录

基本介绍

  1. 使用 cd 可以改变工作目录,只需要输入 cd 命令,然后再输入目标工作目录的路径名即可。
  2. 路径名指的是沿着分枝到达目标目录的路由。路径名分为两种:绝对路径名和相对路径名。

绝对路径名

  1. 绝对路径名从根目录开始,其后紧接着一个又一个文件树分支,直到到达目标目录或文件。
  2. 例如,系统里有一个目录,大多数系统程序都安装到这个目录里,该目录的路径名是 /usr/bin 。
  3. 这意味着根目录中有个目录是 usr ,该目录包含一个 bin 目录。
    1
    2
    3
    [me@linuxbox ~]$ cd /usr/bin
    [me@linuxbox bin]$ pwd
    /usr/bin
  4. 可以看到,我们已经将当前工作目录改变成 /usr/bin , bin 目录中包含很多文件。

相对路径名

  1. 绝对路径名是从根目录开始,通向目标目录,而相对路径名则是从工作目录开始的。
  2. 为了实现这个目的,它通常使用一些特殊符号来表示文件系统树中的相对位置,这些符号是 . 和 .. 。
  3. 符号是 . 代表工作目录,符号 .. 代表工作目录的父目录。
  4. 下面演示它们是如何工作,让我们再次将工作目录改变成 /usr/bin 。
    1
    2
    3
    [me@linuxbox ~]$ cd /usr/bin
    [me@linuxbox bin]$ pwd
    /usr/bin
  5. 下面,我们希望将工作目录改变成 /usr/bin 的父目录,回到 /usr 。有两种方法可以实现,一种是使用绝对路径名。
    1
    2
    3
    [me@linuxbox bin]$ cd /usr
    [me@linuxbox usr]$ pwd
    /usr
  6. 另一种是使用相对路径名。
    1
    2
    3
    [me@linuxbox bin]$ cd ..
    [me@linuxbox usr]$ pwd
    /usr
  7. 同样可以用两种方法将工作目录从 /usr 变到 /usr/bin 。我们可以使用绝对路径名。
    1
    2
    3
    [me@linuxbox usr]$ cd /usr/bin
    [me@linuxbox bin]$ pwd
    /usr/bin
  8. 我们也可以用相对路径名。
    1
    2
    3
    [me@linuxbox usr]$ cd ./bin
    [me@linuxbox bin]$ pwd
    /usr/bin
  9. 必须在这里指出来的是,几乎所有的情况下都可以省略 ./ ,因为它是隐含的。
    1
    [me@linuxbox usr]$ cd bin
  10. 该代码与使用相对路径名的代码具有相同效果。一般而言,如果没有指定路径名,则默认为工作目录。

一些有用的快捷方式

快捷方式 结果
cd 将工作目录改变成主目录
cd- 将工作目录改变成先前的工作目录
cd~username 将工作目录改变为 username 的主目录。例如, cd~bob 将目录改变成用户 bob 的主目录

参考文章

  • 转载:Linux 命令行大全