shell输出问题

shell输出问题

date -u +%W$(uname)|sha256sum|sed 's/\W//g'(如果重要的话,在 Arch Linux 上)的输出是什么?
我怎样才能发现这一点?

答案1

date -u %W

显示一年中的当前周。

uname

显示内核名称。

sha256sum

生成 SHA-256 哈希和。

sed 's/\W//g'

剪切掉所有非单词字符。

' |s 将第一个命令的输出重定向到附加命令。

在终端中输入该行 fegnome-terminalxterm

date -u +%W$(uname)|sha256sum|sed 's/\W//g'

根据日期和安装的操作系统,这将输出不同的哈希值,如下所示:

2aa4cb287b8a9314116f43b5e86d892d76a9589559aa69ed382e8f5dc493d955

答案2

1.“uname”部分

要回答第一个问题,关键是unameArch Linux 上不带参数的返回值。这手册页不是定义它,但是uname 命令说它相当于uname -s

-s 显示系统名称。该标志默认打开。

对于-s,手册页显示“打印内核名称”。 Arch Linuxuname回归

Linux

而例如,西格文 uname返回类似以下内容:

CYGWIN_NT-5.2-WOW64

2.“日期”部分

date -u +%W返回周数。由于最后一部分(“Linux”)是固定字符串,因此最终输出取决于命令行运行的周(例如,计算哈希值“07Linux”)。有了这些知识,还可以在 Cygwin 上计算输出。

3. 一个例子

2012-02-18 的周数是 7 并date -u +%W`uname`返回(有一个前导零,但这对于手头的任务来说是预期的)

07Linux

和输出sha256sum(ASHA-2哈希)是:

4a65f65b40cc2b0a7aaa726e895d72425ede255021e2ce3e935dd2719e4d33b9

在 Cygwin 上,它可以计算为:

echo '07Linux'|sha256sum|sed 's/\W//g'

(当我尝试注册时,这实际上有效建筑维基百科...)

相关内容