相当棘手的cmd

Sam*_*uel 0 shell pipe command

我正在寻找一个 cmd 来生成随机密码,但遇到了这个问题:

echo `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6`
Run Code Online (Sandbox Code Playgroud)

我已阅读urandom,tr和的文档head。但是你能一步一步解释所有这些是如何在这个 cmd 中链接的吗?

我尝试过echo `< /dev/urandom`尝试,但我的终端崩溃了!

mur*_*uru 5

首先,我猜该命令echo `...`的唯一目的是在输出末尾添加换行符。它似乎没有任何其他影响。

这将实际命令减少为:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
Run Code Online (Sandbox Code Playgroud)

tr -dc _A-Z-a-z-0-9从输入中删除除给定字符之外的所有字符(下划线、字母和数字以及连字符,因为作者添加了额外的连字符)。< /dev/urandom表示tr正在从 中读入/dev/urandom。最后,head -c6提取tr.输出的前 6 个字符。

总的来说,这是一种生成密码的荒谬方式。