![给安全工程师讲透Linux](https://wfqqreader-1252317822.image.myqcloud.com/cover/874/48593874/b_48593874.jpg)
1.3.3 在Linux文件系统中进行定位导览
在终端进行文件系统定位导览是一项必要的Linux系统技能。为了完成任意操作,你需要能够通过四处移动来查找位于其他目录中的应用、文件和目录。在一个基于GUI的系统中,你可以直观地查看目录,而当你使用命令行接口时,结构完全是基于文本的,故而文件系统定位导览就意味着要用到某些命令。
1. 利用cd命令改变当前目录
要在终端中改变目录,需要使用改变目录命令,即cd。例如,以下代码展示了如何将当前位置改变到用于存放配置文件的/etc文件夹中:
![](https://epubservercos.yuewen.com/FF643F/28235156504825006/epubprivate/OEBPS/Images/32_02.jpg?sign=1739229327-WHMSq7JIWuVCLaZuJ4IbdeJHYre3gD5q-0-52930a3e0ad63702de6e5ae0bf4f4294)
提示符改变为root@kali:/etc,说明当前我们在/etc目录中。我们可以通过输入pwd命令确认这一点:
![](https://epubservercos.yuewen.com/FF643F/28235156504825006/epubprivate/OEBPS/Images/32_03.jpg?sign=1739229327-Dh3XMeBUXUiqitUuMtstSW2ev3HBexin-0-d17eeea8d7f9613f664d57a3835ae1c6)
要转移到文件结构中的上一层(转向文件结构的根位置,或/),我们使用后跟两个点号(..)的cd命令,如下所示:
![](https://epubservercos.yuewen.com/FF643F/28235156504825006/epubprivate/OEBPS/Images/32_04.jpg?sign=1739229327-jLD0zdHJ8LyeuwKsAUOlCGlMSEw5uZFT-0-547c613155528e6a2de116873b713582)
这样操作就可以将当前位置从/etc转移到上一层的/根目录中,但你其实可以按照意愿向上移动任意多层。只需使用与想要移动的层数相同的双点对即可:
●使用..可以向上移动一层;
●使用.. ..可以向上移动两层;
●使用.. .. ..可以向上移动三层,以此类推。
所以比方说,想要向上移动两层,则只需要输入cd命令,后面加上两组双点并以一个空格隔开:
![](https://epubservercos.yuewen.com/FF643F/28235156504825006/epubprivate/OEBPS/Images/32_05.jpg?sign=1739229327-EpQXAsEtaNb9iaBtk1vzRzc0uyjZtLd7-0-27acd85c8da66d606d6471db41b803d5)
你还可以通过输入cd/来从任意位置移动到文件结构的顶层,在这里/代表了文件系统的根位置。
2. 利用ls命令列举目录内容
要查看一个目录的内容(文件和子目录),我们可以使用ls(列举)命令。这个命令和Windows系统中的dir命令非常相似。
![](https://epubservercos.yuewen.com/FF643F/28235156504825006/epubprivate/OEBPS/Images/33_01.jpg?sign=1739229327-Bn9C2kMFGrRY865wd2xqr262Hb2KGqfs-0-165e867f90e1ac8d6cc67c2ea582efbf)
这个命令列举了目录中所包含的文件和目录。你也可以通过在命令后面列举目录名称来针对任何特定目录使用该命令,而不仅是当前目录。例如,ls /etc命令将显示/etc目录中的内容。
要获取文件和目录的更多相关信息,比如它们的权限、所有者、大小以及最后修改时间等,你可以在ls命令后添加-l选项(l代表长)。这种操作通常被称为详细列举(long listing)。实例如下:
![](https://epubservercos.yuewen.com/FF643F/28235156504825006/epubprivate/OEBPS/Images/33_02.jpg?sign=1739229327-RT0LwSIryWgNzLwYcmbjv2I986lAs1JD-0-cda8bf674580472f822fdd955f5d6d26)
如你所见,ls -l命令明显为我们提供了更多信息,比如对象是一个文件还是目录,以及其链接的数量、所有者、群组、大小、创建或修改的时间、名称。
在Linux系统中进行列举操作时,我通常都会添加-l选项,不过这取决于个人意愿。我们将在第5章中进一步讨论ls-l命令。
Linux系统中的某些文件处于隐藏状态,简单的ls或ls -l命令无法将其列举出来。要显示隐藏文件,请添加小写的-a选项,如下:
![](https://epubservercos.yuewen.com/FF643F/28235156504825006/epubprivate/OEBPS/Images/33_03.jpg?sign=1739229327-r1JqrFVD5OMdo8FbP5V9l1HzkEEMhqxf-0-e0b7e11460803149c1b702d57ccb524f)
如果你没有看到自己想要看到的文件,那么在ls命令后面使用a标志是值得尝试的操作。