今日阅读:
今日软件:
今日代码:
今天也在按照 pwn.college 的闯关来学习很基础的 bash 指令用法。
记录一些自己觉得特殊点:
┌──(nbxx㉿DESKTOP-UI9KG46)-[~]
└─$ echo HACK > 1 2
┌──(nbxx㉿DESKTOP-UI9KG46)-[~]
└─$ ls
1
┌──(nbxx㉿DESKTOP-UI9KG46)-[~]
└─$ cat 1
HACK 2
原因:echo HACK > 1 2 中,2 被解释为 echo 命令的一个额外的参数。因为 echo 命令会将所有提供给它的参数输出到标准输出,所以 2 也被输出了,但由于 > 1 的存在,输出被重定向到了文件 1。
echo HACK | tee 1 2 > /dev/null
要点:添加 > /dev/null 是为了防止 tee 命令将输入再次打印到标准输出。/dev/null 是一个特殊的设备,在这个上下文中用作丢弃所有传送到它的数据的“黑洞”。所以,当你将输出重定向到 /dev/null 时,你实际上是在避免命令的执行结果显示在终端上,从而只保留文件写入操作而没有任何终端回显。