Ir al contenido principal

Como escribir un comando en la consola de Linux sin que quede registrado en el historial


ninja
En Linux, se pueden recuperar comandos tipeados con anterioridad haciendo uso por ejemplo de las flechas de cursor hacia arriba y hacia abajo o si tu /etc/inputrc contiene:
"\e[5~": history-search-backward

"\e[6~": history-search-backward
Tipeando parte del comando y presionando Page-Up o Page-Down para ir recuperando todos los comandos que tipeaste en otras oportunidades que coincidan con lo que llevás escrito hasta el momento.
Por ejemplo, para recuperar todos los comandos tipeados que comiencen con “nano”, bastaría escribir “nano” y usar Page Up y Down para ir conmutando en el historial entre todos los comandos que coincidan con el criterio de búsqueda. (Y de paso, anidé un tip dentro de otro tip).
Olvidémonos de que a veces uno anda haciendo chanchadas y vayamos al ejemplo mas típico: Necesitás tipear un comando que contiene información sensible, el nombre de un archivo, un nombre de dominio o una contraseña que preferirías mantener en secreto.

Necesitás tipear un comando que no quede registrado en el historial de comandos para que no lo lea alguien mas.
Este alguien mas podría ser un compañero de trabajo, otro proveedor o programador que usa tu mismo login o tiene la contraseña o key de root o para los mas paranoicos, un hacker que comprometió el sistema.
¿Como hacer para ejecutar el comando sin dejar rastros/registros?

La clave de todo el asunto está en el comando history y en la variable de entorno HISTCMD.
Bash así como otros tantos intérpretes de comandos lleva un registro de cada comando tipeado en el archivo ~/.bash_history –podés editarlo con tu $EDITOR y comprobar-. Desde este archivo es que mas tarde va recuperando los comandos que tipeamos a medida que los vamos necesitando.
¿Cuantos comandos lleva registrados en el historial tu intérprete de comandos? Fácil:
# echo $HISTCMD
  507
507 va a ser el próximo comando a tipear por lo tanto el registro ya lleva 506 entradas en total.
¿Como tipear el próximo comando sin dejar rastros?
(Ninja Mode On):
Si tienen ganas de ahondar, vayan al manual del comando history, que controla todos los aspectos del historial, si no tienen ganas se los resumo:
El comando history por si solo muestra cada entrada en el historial precedida por un ordinal. Por ejemplo para ver las últimas tres entradas en el historial:
# history | tail -n3
  506  echo $HISTCMD
  507  history
  508  history | tail -n3
Con lo que el próximo comando a tipear va a ser el 509 e inmediatamente a continuación de ese, el 510, etc.
Si quisiera borrar únicamente el comando número 506, la orden (que también quedará registrada en el historial) es la siguiente:
# history –d 506
Ahora, si quiero que mi próxima línea a tipear no quede registrada en el historial, necesito meter todo junto, el comando a ejecutar y la orden de eliminar la última línea tipeada, en una sola línea:
# history -d $((HISTCMD-1)) && comando_a_ejecutar
¿Se entendió?
Claro que también podrías haber usado history -c para deshacerte de todo el historial directamente pero eso no tiene nada de Ninja, mas bien es como venir con una bomba atómica y hacerla explotar.

Entradas populares de este blog

Ultrastar Deluxe

El Karaoke para Linux La llegada de la Navidad significa reuniones con familiares y amigos, lo que nos lleva a buscar formas de entretenimiento. Una de ellas es el karaoke , y como no podría ser de otra manera en GNU/Linux tenemos nuestra opción Open Source, se trata de UltraStar Deluxe (para mí la mejor opción), que está basado en el primer Ultrastar aunque bastante más completo y fácil de usar. Esta aplicación es un clon libre de Singstar con el que podrás cantar cualquier canción e incluso crear la tuya propia. Si estáis interesados en instalarlo puedes añadir el repositorio para Ubuntu o bajarlo desde la página oficial en caso de usar otra distribución. sudo add-apt-repository ppa:tobydox/ultrastardx sudo apt-get update sudo apt-get install ultrastar-deluxe Una vez instalado sólo quedará añadir canciones . Como no podía ser de otra manera, existe una comunidad muy activa que nos proporciona gran cantidad de material listo para ser usado, una de ellas es Ultrastar

Descargar Packet Tracer 5.2 [Windows y Linux]

Packet Tracer 5.2 [Windows y Linux] Packet Tracer es la herramienta de aprendizaje y simulación de redes interactiva para los instructores y alumnos de Cisco CCNA. Esta herramienta les permite a los usuarios crear topologías de red, configurar dispositivos, insertar paquetes y simular una red con múltiples representaciones visuales. Packet Tracer se enfoca en apoyar mejor los protocolos de redes que se enseñan en el currículum de CCNA. Este producto tiene el propósito de ser usado como un producto educativo que brinda exposición a la interfaz comando – línea de los dispositivos de Cisco para practicar y aprender por descubrimiento. Packet Tracer 5.2 es la última versión del simulador de redes de Cisco Systems, herramienta fundamental si el alumno está cursando el CCNA o se dedica al networking. En este programa se crea la topología física de la red simplemente arrastrando los dispositivos a la pantalla. Luego clickando en ellos se puede ingresar

Control PS3 en Debian, Ubuntu

INSTALAR EL CONTROL DE PLAY STATION 3 EN GNU / LINUX. EN LAS DISTRIBUCIONES DEBIAN 6.0 SQUEEZE, DEBIAN WHEEZY (TESTING), LINUX MINT DEBIAN EDITION, LINUX MINT, GUADALINEX, UBUNTU. Les voy a decir como conectar su control de Play Station 3 en Debian por medio de un cable USB, personalmente lo he probado en Debian 6.0 Squeeze (estable) y Debian Wheezy (testing), no lo he probado en Linux Mint Debian Edition (LMDE), pero no tendría porque no funcionar. En el caso de Ubuntu y sus derivadas supongo que también debería funcionar, no lo he probado porque no uso dicha distro, pero los comandos los tome de un tutorial para ella, no es “copy and paste” , solo copie los comandos, el resto es de mi experiencia personal. NOTA PARA USUARIOS DE LINUX MINT, GUADALINEX Y UBUNTU: Los comandos que voy a poner son para Debian y Linux Mint Debian Editon, para el caso de Ubuntu y derivados ya saben que los comandos como root se ejecutan con “sudo”. Además creo q