第2关,overthewire上bandit一个练习Linux指令的网站

  • Post author:
  • Post category:linux




关卡目标

下一级的密码存储在一个名为-的文件中,该文件 位于主目录中



解决此关卡可能需要的命令

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

在这里插入图片描述

成功登录!关卡完成!



版权声明:本文为weixin_46214807原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。