Bash Linux 随机 CLI 密码生成器和 `

Bash Linux 随机 CLI 密码生成器和 `

我最近发现了这种在 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)

相关内容