Ajuda de saída do shell

0

Qual é a saída de date -u +%W$(uname)|sha256sum|sed 's/\W//g' (no Arch Linux, se isso é importante)?
Como eu descubro isso?

    
por Jeff Schaller 07.01.2011 / 17:51

2 respostas

3
date -u %W

Exibe a semana atual do ano.

uname

Exibe o nome do kernel.

sha256sum

Gera uma Soma de Hash SHA-256.

sed 's/\W//g'

Exclui todos os caracteres que não são de palavras.

Os | estão redirecionando a saída do primeiro comando para o comando anexado.

Digite a linha em um terminal, por exemplo. gnome-terminal ou xterm :

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

Dependendo da data e do sistema operacional instalado, isso gerará hashes diferentes, assim:

2aa4cb287b8a9314116f43b5e86d892d76a9589559aa69ed382e8f5dc493d955
    
por 07.01.2011 / 18:09
2

1. A parte 'uname'

Para responder a primeira pergunta, o mais importante é o que uname sem um parâmetro retorna no Arch Linux. A página de manual faz não defini-lo, mas uname Comando diz que é equivalente a uname -s :

-s   Displays the system name. This flag is on by default.

Para -s , a página man diz "imprima o nome do kernel". No Arch Linux uname retorna

Linux

considerando que, por exemplo, Cygwin uname retorna algo como:

CYGWIN_NT-5.2-WOW64

2. A parte 'data'

date -u +%W retorna o número da semana. Como a última parte ("Linux") é uma string fixa, a saída final depende de qual semana a linha de comando é executada (o hash é calculado, por exemplo, "07Linux"). Com esse conhecimento, a saída também pode ser calculada no Cygwin.

3. Um exemplo

O número da semana para 2012-02-18 é 7 e date -u +%W'uname' retorna (tem um zero à esquerda, mas isso é esperado para a tarefa em questão)

07Linux

e a saída de sha256sum (a SHA-2 hash) é:

4a65f65b40cc2b0a7aaa726e895d72425ede255021e2ce3e935dd2719e4d33b9

No Cygwin, pode ser calculado como:

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

(Isso realmente funcionou quando tentei me registrar no ArchWiki ... )

    
por 18.02.2012 / 18:04