你好,黑客


Linux 启明道场.

本模块将带你学习与命令行交互的最基础知识! 命令行可以让你执行各种命令。 打开终端时,终端会启动一个命令行 "shell",界面大致如下:

hacker@dojo:~$

这叫作"提示符",它提示你输入命令。 我们来看看其中各个部分的含义:

  • 提示符中的 hacker 是当前用户的用户名。 在 pwn.college DOJO 环境中,用户名是 "hacker"。
  • 上面示例中的 dojo 是运行 shell 的机器的主机名(例如,系统管理员每天要管理许多机器,这个提示就很有用)。 示例中的主机名是 dojo,但在 pwn.college 中,主机名会根据你正在尝试的挑战名称生成。
  • 我们稍后会介绍 ~ 的含义 :-)
  • 提示符末尾的 $ 表示 hacker 不是管理员用户。 在 pwn.college 后面更深入的模块中,你将学习通过漏洞利用成为管理员用户。那时,提示符会用 # 代替 $,看到它就说明你成功了!

现在,提示符正等着你输入命令。 进入第一个挑战,学习如何真正执行命令吧!


视频字幕(七牛云直连)

在这个挑战中,你将执行自己的第一条命令! 输入命令并按下回车后,命令就会运行,如下所示:

hacker@dojo:~$ whoami
hacker
hacker@dojo:~$

这里,用户执行了 whoami 命令。它的作用很简单:在终端中输出用户名(hacker)。 命令结束后,shell 会再次显示提示符,等待下一条命令。

在这一关中,执行 hello 命令即可获得 flag! 请记住:Linux 命令区分大小写,hello 和 HELLO 是不同的。

我们来尝试稍微复杂一点的操作:执行带有参数的命令。参数就是传递给命令的额外数据。 输入一行文本并按下回车时,shell 会把你的输入解析为一条命令及其参数。 第一个词是命令,后面的词是参数。 来看一个例子:

hacker@dojo:~$ echo Hello
Hello
hacker@dojo:~$

这里的命令是 echo,参数是 Hello。 echo 是一个简单的命令,会把收到的所有参数"回显"到终端中,就像上面的示例一样。

再来看看带有多个参数的 echo:

hacker@dojo:~$ echo Hello Hackers!
Hello Hackers!
hacker@dojo:~$

这里的命令是 echo,而 Hello 和 Hackers! 是传给 echo 的两个参数。 很简单吧!

在这个挑战中,要获得 flag,你必须运行 hello 命令(不是 echo 命令),并且只传入一个参数:hackers。 现在就试试吧!

你会输入很多命令,每次都从头输入难免让人厌烦。 好在 shell 会保存你执行过的每条命令,形成历史记录。

你可以用上下方向键翻阅这些保存下来的命令,这个挑战就带你练习这一操作。 本挑战会将 flag 放进你的命令历史记录中。 打开终端,按下向上方向键,把它找出来吧! 在其他挑战中,历史记录会保存你运行过的命令。如果需要再次执行类似的命令,可以用方向键翻阅记录并找到它!


30天排行榜:

此排行榜反映本模块在道场上线后各挑战的解出情况。

排名 黑客 徽章 得分
#1 symbol ma'r'cen't 🐧 belt 3
#2 symbol free 🐧 belt 3
#3 symbol first 🐧 belt 3