我们首先要学习的通配符是 *。
当参数中出现 * 字符时,shell 会把它视为“通配符”,并尝试用所有符合该模式的文件替换这个参数。
直接看例子更容易理解:
hacker@dojo:~$ touch file_a
hacker@dojo:~$ touch file_b
hacker@dojo:~$ touch file_c
hacker@dojo:~$ ls
file_a file_b file_c
hacker@dojo:~$ echo Look: file_*
Look: file_a file_b file_c
上面的通配符展开成了多个参数,不过它也完全可以只匹配一个文件。
例如:
hacker@dojo:~$ touch file_a
hacker@dojo:~$ ls
file_a
hacker@dojo:~$ echo Look: file_*
Look: file_a
如果没有匹配到任何文件,shell 默认会保留通配符表达式,不做替换:
hacker@dojo:~$ touch file_a
hacker@dojo:~$ ls
file_a
hacker@dojo:~$ echo Look: nope_*
Look: nope_*
* 可以匹配文件名中的任意部分,但不能匹配 /,也不能匹配文件名开头的 . 字符。
例如:
hacker@dojo:~$ echo ONE: /ho*/*ck*
ONE: /home/hacker
hacker@dojo:~$ echo TWO: /*/hacker
TWO: /home/hacker
hacker@dojo:~$ echo THREE: ../*
THREE: ../hacker
现在轮到你练习了!
从你的主目录出发,切换到 /challenge 目录,但要使用通配符,让传给 cd 的参数最多只有四个字符!
进入目录后,运行 /challenge/run 获取 flag!
通过 SSH 连接
在
个人设置 中绑定你的 SSH 公钥后,使用以下命令连接:
ssh hacker@dojo.pwn.college