Recientemente descubrí este método para generar una contraseña de 9 caracteres desde el indicador de Linux en bash:
< /dev/urandom tr -dc A-Za-z0-9_ | head -c9
¿Qué está <
haciendo?
Respuesta1
En caso de que te lo preguntes, esto es sólo unauso menos comúndel redirector de entrada. El shell toma el archivo especificado como entrada y su comportamiento predeterminado es repetirlo en la salida estándar.
El desglose del comando lo tienes:
< /dev/urandom tr -dc A-Za-z0-9_ | head -c9
<
: Redirector de entrada. Shell repite el contenido del archivo (/dev/urandom)
tr
: de tr --help
:
Traduzca, comprima y/o elimine caracteres de la entrada estándar y escriba en la salida estándar.
Las opciones -dc son equivalentes a --delete --complement, lo que significa eliminar el complemento del siguiente conjunto de caracteres, es decir, todos los caracteres que NO están en el conjunto. Eso excluye los caracteres no alfanuméricos y de subrayado en su ejemplo.
head
: imprime las primeras líneas de algo (por defecto 10). el modificador -c9 le indica cuántos bytes imprimir en lugar de líneas.
Junte todo y obtendrá "imprimame los primeros 9 bytes alfanuméricos o de subrayado de /dev/urandom". :)
Respuesta2
Inténtalo < /usr/include/stdio.h head
, debería ser un archivo, amigo.
En caso de que necesite que la salida del programa se proporcione como archivo, puede hacerlo de esta manera:vim <(echo test)