我正在玩一个在线游戏,其中给了我一台远程Linux机器。限制是我不能使用任何数字/字母/命令。我确定的一件事是,不限制使用特殊字符(给出提示)。
有什么方法可以仅使用特殊字符来遍历linux系统/文件/目录吗?
答案 0 :(得分:0)
从site开始,我知道bash
shell中每个通配符都有特殊的含义。此外,使用通配符:
root@kali:/# /
bash: /: Is a directory
root@kali:/#
*
-可以用于文件名的自动完成。
因此,cat down*
打印出download1.txt
的内容。
使用?
,可提供父目录的更多详细信息,但按字母顺序,一次只能显示一个。
root@kali:/# /???
bash: /bin: Is a directory
root@kali:/#
结合使用这些通配符, 如果目录的路径为 / root / Downloads / public ,则可以通过以下方式访问:
root@kali:/# /????/?????????/??????
bash: /root/Downloads/public: Is a directory
[注意:更具体地说,一个人也可以使用root@kali:/# /r???/D????????/p?????
,但是在我的情况下不允许使用字符,并且没有其他目录与这组组合冲突。]
替代:
如我们所见*
的自动完成功能,
root@kali:/# /r*/*/p?????
给出相同的输出。
*
和?
之间的目录遍历差异:
?
-用于按字符访问目录名。
*
-用于自动完成,与目录名称的长度无关。