文章目录
关卡目标
下一级的密码存储在一个名为-的文件中,该文件 位于主目录中
解决此关卡可能需要的命令
ls , cd , cat , 文件 , du , 查找
虚线文件名 – 如何创建、删除、列出、读取和复制
在 Unix 或 Linux 操作系统中,使用虚线文件名需要注意。在某些情况下,您可能需要处理以破折号 (-) 作为第一个字符的文件。
因为破折号(-)通常被命令用来指定选项和参数。
1.创建以破折号开头的文件名
通常,touch 命令用于在 Linux 操作系统中创建一个空文件。
但是,当您尝试创建一个以破折号 (-) 开头的空文件时,您无法创建它。
让我们举个例子来更好地理解它。
touch -
上面的命令成功了,但是没有创建文件。
再举一个例子:
touch -filename
您应该会看到以下错误:
touch: invalid option -- 'i'
Try 'touch --help' for more information.
您需要在破折号 (-) 文件之前传递一个特殊参数来解决此问题。
touch -- -filename
现在,使用以下命令验证您的文件是否已创建:
ls
您应该看到以下输出:
-filename
2.删除以破折号开头的文件名
您还需要在破折号 (-) 文件前指定参数 — 以删除文件。
rm -rf -filename
你应该得到以下错误:
rm: invalid option -- 'l'
Try 'rm ./-filename' to remove the file ‘-filename’.
Try 'rm --help' for more information.
现在,尝试通过传递参数 – 来删除文件名:
rm -rf -- -filename
这将是成功的。
3.打开并读取以破折号开头的文件名
首先,使用以下命令创建一个包含一些内容的破折号 (-) 文件:
echo "Hello World!" > -filename
现在,尝试使用 cat 命令读取破折号文件:
cat -filename
你应该会收到下列报错:
cat: invalid option -- 'f'
Try 'cat --help' for more information.
在这种情况下,您需要在破折号 (-) 文件前指定选项< 。
cat < -filename
您应该得到以下输出:
Hello World!
您还可以在破折号 (-) 文件前使用选项./来查看文件内容:
cat ./-filename
4.复制以破折号开头的文件名
你还需要指定选项 — 在破折号文件之前,以便复制或移动文件。
cp -- -filename /opt
列出以破折号开头的文件名
你不能列出任何以破折号开头的文件。您需要指定选项—在破折号文件之前。
如果你列出一个没有参数的文件—,你会得到一个错误。
ls -l -filename
您应该会看到以下报错信息:
ls: invalid option -- 'e'
Try 'ls --help' for more information.
现在,使用选项 — 在破折号文件之前列出 -filename:
ls -l -- -filename
您应该看到以下输出:
-rw-rw-r-- 1 vyom vyom 0 Oct 23 15:55 -filename
实战解题
接上回,ls查看目录下文件
发现主目录下有 – 文件
然后,根据上文虚线文件名的查看笔记
在文件前加上 <
可得出:
cat < -
这样就得到了下一关的入门钥匙
同样,退出当前位置。
使用密码登录bandit2
成功登录!关卡完成!