Diferencia entre revisiones de «Comandos interesantes»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 58: Línea 58:
Volcado hexadecimal.  
Volcado hexadecimal.  


  bits=$(echo -n $1 | xxd -b | cut -d" " -f2- | tr -d " " | tr -d "a-zA-Z" | tr "01" "-+" | sed 's/\(.\)/ \1/g')
  bits=$(echo -n $1 | xxd -b | cut -d" " -f2- | sed -e 's/[^01]//g' -e 's/\(.\)/ \1/g' | tr -d "\n" | tr "01" "-+")  
  for t in $bits
  for t in $bits
  do
  do
  setleds -D ${t}caps < /dev/tty7
  setleds -D ${t}caps < /dev/tty7
  sleep "0.1"
  sleep "0.01"
  done
  done
Este script transforma el argumento pasado en binario para apagar o encender el led de mayúsculas con el comando '''setleds'''. De esta manera, crea un curioso y primitivo mecanismo de visualización de los bits.

Revisión del 20:52 30 oct 2012

Esta página contiene comandos curiosos y didácticos. Están ordenados alfabéticamente según el nombre del comando o variable más relevante.

cat

En linux, todo es un fichero. Incluso los periféricos son un fichero. Un ejemplo puede ser el siguiente comando que muestra, en hexadecimal, lo que tecleamos en un teclado.

sudo cat /dev/input/event3 | od -x

history

Guardar el historial en un fichero con la fecha y dentro del directorio personal del usuario.

$ history > ~/historyBackup$(date +%d-%m-%y-%T)

Puede ser útil para hacer auditorías o para no olvidarse de cómo se ha hecho algo. Si lo ejecutamos u luego hacemos history -c podemos consultarlo en el fichero generado.

$IFS

OIFS=$IFS;IFS=$'\n\r';for i in *.jpg; do convert $i -density 700 $i; done;IFS=$OIFS 

Ejemplo de cómo puede ser interesante modificar la variable $IFS para simplificar un script. En este caso evita los espacios en los nombres de los ficheros.

od

Comando para ver el contenido de un fichero en octal (por defecto). Se puede hacer que lo muestre en hexadecimal con -x o incluso en coma flotante.

echo -n AB | od -t x4 

Este muestra AB en hexadecimal con palabras de 4 bytes o 32 bits. El -n en el echo es para que no muestre el salto de línea.

Otra opción es usar xxd que sirve para hacer un volcado hexadecimal. Este tiene la posibilidad de mostrarlo en bits.

pwgen

# apt-get install pwgen
$ pwgen -s -y 10 

El ejemplo genera contraseñas totalmente seguras -s con símbolos -y y de 10 caracteres. Si se desea que sean memorizables se quita el -s

rev

Este comando invierte las líneas de un fichero o lo que se le pase por la entrada estandar

rm

$ alias rrm='/bin/rm -i'; alias rm='trash'

Reemplaza el rm tradicional por el trash, que lo envia a la papelera. Para ello es necesario instalar préviamente el trash-cli

$SECONDS

Se puede usar esta variable para averiguar cuantos segundos ha tardado un script en ejecutarse.

#!/bin/bash
for i in {1..10}; do
       sleep 1
       echo $i
done
echo "Tiempo total del script: $SECONDS"

xxd

Volcado hexadecimal.

bits=$(echo -n $1 | xxd -b | cut -d" " -f2- | sed -e 's/[^01]//g' -e 's/\(.\)/ \1/g' | tr -d "\n" | tr "01" "-+") 
for t in $bits
do
 setleds -D ${t}caps < /dev/tty7
sleep "0.01"
done

Este script transforma el argumento pasado en binario para apagar o encender el led de mayúsculas con el comando setleds. De esta manera, crea un curioso y primitivo mecanismo de visualización de los bits.