Bash Gerador de senha CLI aleatória do Linux e ''

4

Eu descobri recentemente este método para gerar uma senha de 9 caracteres a partir do prompt do Linux no bash:

< /dev/urandom tr -dc A-Za-z0-9_ | head -c9

O que o < está fazendo?

    
por Mike Pennington 15.06.2012 / 05:20

2 respostas

11

Caso você esteja se perguntando, isso é apenas um uso menos comum da entrada redirecionador. O shell usa o arquivo especificado como entrada e seu comportamento padrão é fazer o eco para stdout.

O detalhamento do comando que você tem:

< /dev/urandom tr -dc A-Za-z0-9_ | head -c9

< : redirecionador de entrada. Shell ecoa o conteúdo do arquivo (/ dev / urandom)

tr : de tr --help :

Translate, squeeze, and/or delete characters from standard input, writing to standard output.

As opções -dc são equivalentes a --delete --complement, o que significa excluir o complemento do seguinte conjunto de caracteres, ou seja, todos os caracteres NOT no conjunto. Isso exclui & não alfanumérico & sublinhar caracteres no seu exemplo.

head : imprima as primeiras linhas de algo (padrão 10). a opção -c9 informa quantos bytes imprimir em vez de linhas.

Junte tudo e obtenha, "imprima os primeiros 9 bytes alfanuméricos ou sublinhados de / dev / urandom". :)

    
por 15.06.2012 / 06:48
2

Tente < /usr/include/stdio.h head - deve ser arquivo, cara.

Caso você precise que uma saída de programa seja dada como arquivo, isso pode ser feito desta forma: vim <(echo test)

    
por 15.06.2012 / 05:26

Tags