我最近发现了这种在 bash 中从 linux 提示符生成 9 个字符密码的方法:
< /dev/urandom tr -dc A-Za-z0-9_ | head -c9
在做什么<
?
答案1
如果您想知道,这只是一个不太常见的用法输入重定向器的。 shell 将指定的文件作为输入,其默认行为是将其回显到标准输出。
您所拥有的命令的细分:
< /dev/urandom tr -dc A-Za-z0-9_ | head -c9
<
:输入重定向器。 Shell 回显文件内容 (/dev/urandom)
tr
: 从tr --help
:
翻译、压缩和/或删除标准输入中的字符,写入标准输出。
选项-dc 相当于--delete --complement,表示删除后面字符集的补集,即所有不在该集中的字符。这不包括示例中的非字母数字和下划线字符。
head
:打印某些内容的前几行(默认 10 行)。 -c9 开关告诉它要打印多少字节而不是行。
把它们放在一起,你会得到“打印 /dev/urandom 中的前 9 个字母数字或下划线字节”。 :)
答案2
尝试一下< /usr/include/stdio.h head
——它应该是文件,伙计。
如果您需要将程序输出作为文件给出,可以通过以下方式完成:vim <(echo test)