一开始,让我们先了解一些能够帮助你正常使用Linux系统并在其中运行程序的基本命令。
与在诸如Windows或macOS之类的图形用户界面(GUI)环境下进行操作不同,Linux系统中的命令行并不总是明确显示当前所在的目录。要转入一个新的目录,你通常需要知道当前所在的位置。当前工作目录命令(即pwd)会以目录结构的形式返回你的位置。
在终端输入pwd命令来查看当前位置:
在本例中,Linux系统返回了/root,这个结果说明我在root用户目录中。并且,因为在启动Linux系统时你选择以root用户身份登录,所以你也应该在root用户目录中,该目录位于文件系统结构顶端(/)的下一层。
如果你当前位于另一个目录,那么pwd命令将返回相应的目录名称。
在Linux系统中,一个“全能”的超级用户或系统管理员被命名为root,它拥有进行用户添加、口令更改、权限更改等操作所需的所有系统权限。很明显,你不会想让任何人都拥有进行这种更改的能力,只会希望可信任的人对操作系统拥有适当的控制权限。作为一名网络安全人员,通常需要拥有全部权限来执行所需的程序和命令(除非你拥有root权限,否则很多渗透测试工具无法运行),因此你需要以root用户身份登录。
如果你忘记了自己是以root用户还是另一个用户身份登录的,那么可以使用whoami命令来查看当前登录的是哪个用户身份:
如果我是以另一个用户身份登录的,比如我的个人账号,那么whoami命令将返回我对应的用户名称,如下所示:
在终端进行文件系统定位导览是一项必要的Linux系统技能。为了完成任意操作,你需要能够通过四处移动来查找位于其他目录中的应用、文件和目录。在一个基于GUI的系统中,你可以直观地查看目录,而当你使用命令行接口时,结构完全是基于文本的,故而文件系统定位导览就意味着要用到某些命令。
1. 利用cd命令改变当前目录
要在终端中改变目录,需要使用改变目录命令,即cd。例如,以下代码展示了如何将当前位置改变到用于存放配置文件的/etc文件夹中:
提示符改变为root@kali:/etc,说明当前我们在/etc目录中。我们可以通过输入pwd命令确认这一点:
要转移到文件结构中的上一层(转向文件结构的根位置,或/),我们使用后跟两个点号(..)的cd命令,如下所示:
这样操作就可以将当前位置从/etc转移到上一层的/根目录中,但你其实可以按照意愿向上移动任意多层。只需使用与想要移动的层数相同的双点对即可:
●使用..可以向上移动一层;
●使用.. ..可以向上移动两层;
●使用.. .. ..可以向上移动三层,以此类推。
所以比方说,想要向上移动两层,则只需要输入cd命令,后面加上两组双点并以一个空格隔开:
你还可以通过输入cd/来从任意位置移动到文件结构的顶层,在这里/代表了文件系统的根位置。
2. 利用ls命令列举目录内容
要查看一个目录的内容(文件和子目录),我们可以使用ls(列举)命令。这个命令和Windows系统中的dir命令非常相似。
这个命令列举了目录中所包含的文件和目录。你也可以通过在命令后面列举目录名称来针对任何特定目录使用该命令,而不仅是当前目录。例如,ls /etc命令将显示/etc目录中的内容。
要获取文件和目录的更多相关信息,比如它们的权限、所有者、大小以及最后修改时间等,你可以在ls命令后添加-l选项(l代表长)。这种操作通常被称为详细列举(long listing)。实例如下:
如你所见,ls -l命令明显为我们提供了更多信息,比如对象是一个文件还是目录,以及其链接的数量、所有者、群组、大小、创建或修改的时间、名称。
在Linux系统中进行列举操作时,我通常都会添加-l选项,不过这取决于个人意愿。我们将在第5章中进一步讨论ls-l命令。
Linux系统中的某些文件处于隐藏状态,简单的ls或ls -l命令无法将其列举出来。要显示隐藏文件,请添加小写的-a选项,如下:
如果你没有看到自己想要看到的文件,那么在ls命令后面使用a标志是值得尝试的操作。
在Linux系统中,几乎每个命令、应用或工具都有一个专门的帮助文件来为其用法提供指导。例如,如果在使用最好的无线攻击工具aircrack-ng的过程中需要帮助,那么我可以简单地键入后跟--help命令的aircrack-ng命令:
注意此处的“双连字符”。Linux系统中的惯例是,在单词选项前使用“双连字符”(--),比如help,而在单字母选项前使用“单连字符”(-),比如-h。
在输入这个命令时,你应该会看到一段工具的简短描述,以及关于如何使用该工具的指导。在某些情况下,你可以使用-h或-?来获取帮助文件。例如,如果在使用最好的端口扫描渗透测试工具nmap的过程中需要帮助,那么我会进行如下输入:
不幸的是,尽管很多应用都支持所有这三个选项(--help、-h和-?),但并不保证你所使用的应用同样支持。因此,如果有某个选项无法生效,那么请尝试另一个。
除了帮助选项之外,大部分命令和应用都拥有一个包含更多信息(比如命令或应用的描述和简介)的参考手册页面。你可以通过在命令、工具或应用之前简单地键入man命令来查阅参考手册页面。例如,要查看aircrack-ng工具的参考手册页面,你可以尝试如下输入:
这条命令打开了aircrack-ng的参考手册,为你提供了比help界面更为详细的信息。你可以利用回车键(ENTER)向下滚动查看这个参考手册文件,或者分别利用向上翻页(PG UP)和向下翻页(PG DN)键进行上下翻页。要退出的话,简单输入q(即离开),之后你将返回到命令提示符中。