Borrar historial de comandos en terminal linux

Содержание
  1. Cómo borrar el historial de la terminal o consola en Linux
  2. ¿Dónde se almacena el historial de comandos ejecutados en la terminal Linux?
  3. Cómo borrar el historial de la terminal o consola en Linux.
  4. Eliminar un comando específico del historial de comandos.
  5. Eliminar el historial completo de la terminal.
  6. Borrar automáticamente el historial al cerrar la sesión de terminal.
  7. Conclusiones y aclaraciones.
  8. Como usar y configurar el historial de comandos history en Linux
  9. INTRODUCCIÓN DEL HISTORIAL DE COMANDOS HISTORY
  10. Mostrar los comandos que ha ejecutado un usuario
  11. Puntos a tener en cuenta del historial de comandos history
  12. CONFIGURAR EL FUNCIONAMIENTO DEL HISTORIAL DE COMANDOS HISTORY
  13. Modificar la capacidad de registro de history
  14. Configurar los comandos que registrará el historial de comandos history
  15. Hacer que el historial de comandos muestre la hora y el día en que se ejecutaron los comandos
  16. Configurar el momento en que se registran los comandos
  17. EJEMPLOS DE USO DEL HISTORIAL DE COMANDOS HISTORY
  18. Mostrar los últimos 20 comandos ejecutados
  19. Mostrar los 10 primeros comandos registrados en memoria
  20. Obtener los comandos ejecutados que contienen una determinada palabra
  21. Buscar el último comando ejecutado que contiene una determinada palabra
  22. Borrar el historial de comandos del sistema operativo
  23. Desactivar el historial de comandos history
  24. Ejecutar un comando sin que quede registrado en el historial
  25. Visualizar el historial de comandos de una forma más sencilla
  26. PROTEGER EL HISTORIAL DE COMANDOS PARA QUE NO PUEDA SER MANIPULADO POR TERCEROS

Cómo borrar el historial de la terminal o consola en Linux

El sistema operativo Linux ha demostrado infinidad de veces su gran potencial cuando hacemos uso de la terminal. Su uso es cada vez más amigable y cualquiera con un poco de paciencia puede usar la terminal con soltura. Lo que si debemos conocer, es que el uso de la terminal en Linux implica el registro de los comandos ejecutados en el llamado historial de la terminal o consola. Esto supone ciertos aspectos que debemos conocer al teclear comandos y qué mejor que un tutorial sobre cómo borrar el historial de la terminal o consola en Linux.

Muchos os estaréis preguntando por qué borrar el historial de comandos de la terminal, ya que su misión fundamental es precisamente actuar como un registro de lo que hemos hecho. No dudamos de la utilidad de disponer del historial, pero en ocasiones puede contener información sensible como contraseñas o rutas de archivos privados. Al final, el motivo de limpiar el historial no es otro más que proteger nuestra seguridad u ocultar nuestra actividad.

Muchos estaréis pensando en que la solución más sencilla es localizar y borrar el archivo del historial. Este pensamiento no va muy desencaminado, pero nosotros nos detendremos a detallar el proceso de limpieza del historial de comandos bash en Linux.

¿Dónde se almacena el historial de comandos ejecutados en la terminal Linux?

En primer lugar, tenemos que saber que cada usuario del sistema tiene un historial de comandos independiente. Esto en principio da cierta seguridad, pero en un entorno compartido siempre puede haber algún fallo de seguridad y realizar una escalada de privilegios. El archivo que almacena el historial de comandos está localizado generalmente en la carpeta personal del usuario y con el nombre .bash_history .

Para averiguar cuál es la carpeta personal de tu usuario basta con ejecutar el comando echo $HOME . En mi sistema, mi carpeta personal es /home/zeokat y el archivo del historial está localizado en /home/zeokat/.bash_history .

Cómo borrar el historial de la terminal o consola en Linux.

En el archivo .bash_history se almacenan los últimos 500 comandos ejecutados. Basta con ejecutar el comando history para ver el listado completo y numerado de los comandos ejecutados. Si sólo queremos ver los últimos 15 comandos del historial, podemos ejecutar el comando history 15 .

Eliminar un comando específico del historial de comandos.

En ocasiones no queremos eliminar la totalidad del historial y renunciar a este, sino que sólo queremos eliminar un comando concreto del historial. En este caso, tenemos dios opciones:

  • Editar el archivo .bash_history con algún editor de texto como Nano y eliminar las líneas deseadas.
  • Podemos emplear el comando history -d N , donde el parámetro «N» es el número correspondiente del comando que queremos borrar. Por ejemplo, si queremos eliminar el comando que ocupa la posición 120 ejecutaríamos el comando history -d 120 y después guardaríamos los cambios con el comando history -w .
Читайте также:  Как посмотреть активных пользователей линукс

Eliminar el historial completo de la terminal.

Para eliminar el historial de la consola usaremos el comando history -c y después history -w para guardar los cambios.

Vemos que una vez limpio el historial necesitamos guardar los cambios, por lo que siempre quedaría este último comando registrado. Del mismo modo, al cerrar la sesión de terminal podemos ejecutar el comando exit , por lo que también quedaría registrado.

Por este motivo, si queremos eliminar totalmente el historial y dejarlo limpio sin ningún comando, tendremos que ejecutar el comando:

    Borrar el historial completo: echo «» >

/.bash_history && history -c
Cerrar la sesión de consola y que no se registre el comando exit: echo «» >

/.bash_history && history -c && exit

Borrar automáticamente el historial al cerrar la sesión de terminal.

Si queremos borrar el historial automáticamente al cerrar la sesión de terminal, tendremos que editar el archivo .bash_logout . En primer lugar usaremos un editor de texto, en nuestro caso usaremos Nano con el comando nano

Ahora añadimos al comienzo del archivo la línea echo «» >

/.bash_history && history -c y guardamos los cambios. Ahora, cada vez que terminemos una sesión de terminal con el comando exit , se limpiará el historial automáticamente.

Conclusiones y aclaraciones.

Vemos que cuando borramos el historial hay que ser muy cuidadoso para no dejar ningún rastro. Recordad que un experto siempre puede encontrar mecanismos para saber si alguien ha usado la consola, por ejemplo examinando la fecha y hora de modificación del archivo .bash_history .

También hay muchos usuarios que caen en el error de ejecutar el comando history — c y piensan que ya han borrado el historial. En realidad sólo lo han borrado de la memoria, hay que ejecutar history -w para que la limpieza sea definitiva y se refleje en el archivo .bash_history .

Источник

Como usar y configurar el historial de comandos history en Linux

Home » Linux » Historial de comandos en Linux

GNU-Linux es un sistema que registra prácticamente la totalidad de eventos y acciones que suceden. Como no podía ser de otra forma también almacena la totalidad de comandos que cada uno de los usuarios ejecuta en la terminal mediante un historial de comandos.

INTRODUCCIÓN DEL HISTORIAL DE COMANDOS HISTORY

A continuación verán una pequeña muestra del contenido que es capaz de registrar el historial de comandos de Linux

Mostrar los comandos que ha ejecutado un usuario

Cada vez que ejecutamos un comando en la terminal se registra en el archivo

Nota: Todos y cada uno de los usuarios de nuestro sistema operativo tienen el archivo oculto .bash_history en su partición home.

Si queremos ver la totalidad de comandos almacenados dentro del archivo que acabamos de mencionar tan solo tenemos que ejecutar el siguiente comando:

Acto seguido, y según la configuración que tengo en mi caso, veremos los últimos 1000 comandos que ha ejecutado el usuario con que estoy logueado.

Nota: Ejecutando el comando cat

/.bash_history obtendríamos unos resultados similares. La única diferencia es que según mi configuración el archivo

/.bash_history contendría los últimos 2000 comandos ejecutados.

Puntos a tener en cuenta del historial de comandos history

Existen una serie de puntos sobre el funcionamiento del historial de comandos history que tenemos que tener en cuenta:

    La configuración estándar de history hace que únicamente se almacenen 2000 comandos en el fichero

/.bash_history . Este aspecto se puede cambiar modificando la variable HISTFILESIZE
El número de comandos que history puede almacenar en memoria es 1000. Por lo tanto si ejecutamos history en la terminal, aunque el fichero

/.bash_history contenga 2000 comandos almacenados, la terminal únicamente mostrará los últimos 1000 comandos ejecutados. Este parámetro se puedo configurar mediante la variable HISTSIZE

  • La configuración predeterminada de history hace que no se registren 2 comandos repetidos que se ejecutan de forma consecutiva. Tampoco registra los comandos que empiezan por un espacio. Este comportamiento se puede modificar mediante la variable HISTCONTROL
  • CONFIGURAR EL FUNCIONAMIENTO DEL HISTORIAL DE COMANDOS HISTORY

    Si lo creemos necesario podemos cambiar el comportamiento predeterminado de history modificando los parámetros de su archivo de configuración. History tiene 2 archivos de configuración:

    1. El primero de ellos está ubicado en la partición home de cada uno de los usuarios del sistema operativo y tiene el nombre .bashrc .
    2. El otro archivo de configuración es equivalente al primero y está ubicado en /etc/bash.bashrc . La diferencia es que la configuración definida en /etc/bash.bashrc afectará a la totalidad de usuarios del sistema operativo.
    Читайте также:  Что за пакет linux firmware

    En mi caso solo quiero modificar la configuración de mi usuario. Por lo tanto ejecutaré el siguiente comando en la terminal:

    Cuando se abra el editor de textos podremos modificar los siguientes parámetros.

    Modificar la capacidad de registro de history

    Dentro del fichero

    /.bashrc buscaremos las variables HISTSIZE y HISTFILESIZE . En mi caso son las siguientes:

    Una vez encontradas podemos modificar sus parámetros. Por ejemplo podemos introducir los siguientes:

    Una vez modificados los parámetros guardamos los cambios, cerramos el fichero y cerramos absolutamente todas las terminales. A partir de estos momentos:

    /.bash_history podrá almacenar los últimos 40.000 comandos ejecutados.

  • La terminal será capaz de mostrar los últimos 30.000 comandos ejecutados.
  • Configurar los comandos que registrará el historial de comandos history

    Dentro del mismo fichero de configuración busquen la variable HISTCONTROL . En mi caso vemos que tiene asignado el parámetro ignoreboth.

    El parámetro ignoreboth hace que history no registre los comandos que se ejecutan después de introducir un espacio. Tampoco registrará los comandos repetidos que se ejecuten de forma consecutiva.

    Si queremos registrar los comandos duplicados que se ejecutan de forma consecutiva, pero no queremos registrar los comandos que empiecen por espacio deberemos reemplazar el parámetro ignoreboth por ignorespace

    Para realizar lo opuesto a lo que justo acabamos de citar deberíamos reemplazar el comando ignoreboth por ignoredups

    También existe el parámetro erasedups . Este parámetro hará que en

    /.bash_history no haya un solo comando duplicado. Por ejemplo si hoy ejecutamos el comando ls se registrará. Si mañana lo volvemos a ejecutar se borrará el registro de ayer y quedará registrado solo la última vez que ha sido usado.

    Finalmente citar que se pueden combinar los parámetros que acabamos de citar del siguiente modo:

    Hacer que el historial de comandos muestre la hora y el día en que se ejecutaron los comandos

    Para que history muestre la fecha y hora en que se ejecutaron los comandos tan solo tendremos que usar la variable HISTTIMEFORMAT .

    Para ello al final del archivo de configuración

    /.bashrc añadiremos el siguiente código:

    • %F: Para que aparezca la fecha en en modo año, mes y día.
    • %T: Para que aparezca la hora en en modo hora, minuto y segundo

    Acto seguido guardamos los cambios, cerramos el fichero y todas las terminales abiertas. Abrimos una nueva terminal y la próxima vez que ejecutaremos history obtendremos un resultado similar al siguiente:

    Configurar el momento en que se registran los comandos

    Para asegurar que se registran la totalidad de comandos lo primero que hay que realizar es asegurar que el fichero de configuración contiene el siguiente parámetro:

    Nota: En caso de no estar presente se perderán algunos registros de comandos en el caso que trabajemos con más de una terminal de forma simultánea.

    Con el parámetro shopt -s histappend todos los comandos ejecutados en distintas terminales se almacenarán en memoria. En el momento que cerremos cada una de las terminales los comandos ejecutados se guardarán en el fichero

    /.bash_history según el orden con que cerremos la terminal. Esto puede ocasionar que los comandos no queden almacenados en el orden exacto de ejecución.

    Si queremos que los comandos queden registrados exactamente por su orden de ejecución deberemos añadir el siguiente código en el fichero de configuración

    Lo que hace el código es ejecutar en segundo plano el comando history -a cada vez que ejecutamos un comando. Por lo tanto cada vez que ejecutamos un comando se almacena en memoria y se registra en el fichero

    /.bash_history . De esta forma aseguramos que el orden de registro sea cronológico.

    Si además quisiéramos los comandos se registren en tiempo real en memoria y en el archivo

    /.bash_history tendríamos que introducir la siguiente línea en el fichero de configuración:

    Lo que hace el texto añadido es ejecutar los comandos history -a, history -c y history -r cada vez que ejecutamos un comando. Por lo tanto en el momento de ejecutar un comando sucederá lo siguiente:

      Mediante history -a se añadirá cada uno de los comandos ejecutados al fichero

    /.bash_history

  • Acto seguido se borrará el historial de comandos almacenado en memoria mediante el comando history -c
  • Finalmente se cargará el contenido de

    /.bash_history en memoria mediante el comando history -r

    Читайте также:  Windows инсайдерская последняя сборка

    EJEMPLOS DE USO DEL HISTORIAL DE COMANDOS HISTORY

    A continuación verán algunos ejemplos de uso del historial de comandos.

    Mostrar los últimos 20 comandos ejecutados

    Para mostrar los últimos 20 comandos ejecutados tan solo tenemos que ejecutar el comando history seguido por número de comandos a visualizar.

    Mostrar los 10 primeros comandos registrados en memoria

    Para mostrar los 10 primeros comandos almacenados o cargados en memoria ejecutaremos el siguiente comando en la terminal:

    El resultado obtenido es el siguiente:

    Fíjense que el primer valor almacenado corresponde a la posición 861 del fichero

    /.bash_history . Esto es así porque mi fichero

    /.bash_history contiene 1861 registros.

    Obtener los comandos ejecutados que contienen una determinada palabra

    Si queremos podemos usar history para recordar comandos que hemos escrito en el pasado. Por ejemplo para obtener la totalidad de comandos ejecutados que contienen la palabra apt ejecutaremos el siguiente comando:

    Si ahora queremos ejecutar uno de los comandos sin tener que escribirlo usamos el carácter ! seguido del número de comando a ejecutar .

    Si además queremos ejecutar 2 comandos de forma consecutiva lo podríamos realizar el siguiente modo:

    Para ejecutar el último comando almacenado en memoria tan solo tendríamos que ejecutar el siguiente comando:

    Otros ejemplos de búsqueda de comandos ejecutados serían los siguientes:

    Nota: Aquí pueden jugar tanto como quieran con grep para obtener el resultado que necesiten.

    Buscar el último comando ejecutado que contiene una determinada palabra

    Para buscar el último comando ejecutado que contiene una palabra determinada podemos presionar la combinación de teclas Ctrl+R

    Acto seguido escriban una de las palabras que contiene el comando que quieren buscar. En mi caso escribo apt y una vez escrita la palabra podrán ver el último comando ejecutado que contiene la palabra apt.

    Si en vez del último comando quisieran ver el penúltimo tan solo tendrían que volver a presionar Ctrl+R. Una vez visualicen el penúltimo pueden volver a presionar Ctrl+R para visionar el antepenúltimo y así sucesivamente.

    Una vez encontrado el comando que quieren ejecutar presionen enter y se ejecutará.

    Borrar el historial de comandos del sistema operativo

    Para borrar el historial de comandos de la memoria tan solo tenemos que ejecutar el siguiente comando:

    Si queremos borrar tanto el contenido de la memoria como el contenido del archivo

    /.bash_history tendremos que ejecutar el siguiente comando:

    Si únicamente pretendemos borrar la línea 500 del historial almacenado en memoria usaremos el siguiente comando:

    Desactivar el historial de comandos history

    Si una vez borrado el historial lo quisiéramos desactivar lo podríamos hacer del siguiente modo:

    Inicialmente accederíamos al archivo de configuración ejecutando el siguiente comando:

    Justo al final del archivo introduciríamos el siguiente comando:

    Finalmente tan solo tendríamos que guardar los cambios y cerrar todas las terminales.

    Ejecutar un comando sin que quede registrado en el historial

    Según la configuración estándar no se registran los comandos que empiezan por un espacio. Por lo tanto si queremos que no quede registrado un comando presionaremos la barra espaciadora y seguidamente ejecutaremos el comando de forma habitual.

    Visualizar el historial de comandos de una forma más sencilla

    Si queremos paginar los comandos almacenados y verlos de una forma mucho más cómoda podemos usar el visualizador de archivos de texto less. Para ello tan solo tienen que ejecutar el siguiente comando:

    PROTEGER EL HISTORIAL DE COMANDOS PARA QUE NO PUEDA SER MANIPULADO POR TERCEROS

    Podemos proteger el historial de comandos para que ningún usuario pueda modificar su contenido. Para ello inicialmente modificaremos el permiso de los ficheros .bash_history , .bash_profile , .bash_login , .profile , .bash_logout y .bashrc ejecutando los siguientes comandos:

    Nota: Deberéis reemplazar user por vuestro usuario.
    Nota: En estos momentos no se podrá eliminar ni modificar el contenido de los ficheros. Lo único que se podrá realizar es adjuntar información a los archivos.
    Nota: Si algún día quieren revertir los cambios deberán ejecutar el mismo comando reemplazando +a por -a .

    A continuación estableceremos que las variables de configuración de history sean solo de lectura. Para ello dentro del fichero de configuración de

    /.bashrc introduciremos el siguiente código al final del archivo:

    Nota: En el caso que usen el parámetro PROMPT_COMMAND=”history -a ” lo deberán reemplazar por readonly PROMPT_COMMAND=”history -a”

    Una vez introducidos los cambios los guardan, cierran el archivo de configuración y todas las terminales.

    Finalmente deshabilitaremos el acceso a otras shells ejecutando los siguientes comandos:

    Источник

  • Оцените статью