GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo eliminar Bash_history solo para el día actual?

Estoy trabajando en un proyecto de cliente que está alojado en Digital Ocean en un servidor ubuntu, estoy trabajando en él con algunos otros desarrolladores y soy un poco nuevo e hice un montón de comandos y es realmente complicado. ¿Cómo puedo eliminar el historial de comandos hasta cierto punto?

Por ejemplo, me gustaría eliminar todos los comandos que ingresé hoy y dejar todos los comandos anteriores antes de eso, ¿es posible?

Es más fácil para otros desarrolladores encontrar comandos anteriores sin pasar por todos los míos. ¿Es posible borrar bash_history hasta cierto punto, por ejemplo, solo el historial de hoy? Si es así, ¿cómo?

Por favor avise!

¡Gracias!

Respuesta aceptada:

Las líneas en el historial de Bash se guardan como líneas de texto simples sin ninguna metainformación como una marca de tiempo de invocación. Por lo tanto, no es posible borrar automáticamente todo el historial de comandos de un solo día, porque simplemente ya no puede saber qué comando se ejecutó y cuándo.

Si simplemente desea eliminar todo el historial de comandos de su sesión Bash actual (es decir, todo lo que todavía está en la memoria y aún no está escrito en el disco), puede borrar el búfer del historial en memoria o reemplazarlo con el historial anterior contenido del archivo del disco.

  • Borrar el búfer del historial dará como resultado un historial en memoria vacío para su sesión actual, lo que significa que no aparecerá ningún comando si presiona , etc. Una vez que salga de su sesión de Bash, todos los nuevos comandos que se ingresaron después de la limpieza se agregarán al archivo de historial y en su próxima sesión, verá el historial completo nuevamente, con solo el rango entre el inicio de su última sesión y falta el comando borrar.

    history -c
    
  • Reemplazar el búfer de historial en memoria actual con el contenido del archivo de historial del disco tendrá el mismo resultado final que borrar el búfer de historial, excepto que en su sesión actual tendrá acceso al historial de comandos anterior en lugar de una lista vacía.

    history -r
    

Si eso no le resulta útil porque desea ordenar las entradas de sesiones anteriores o solo de una sesión parcial, el método quirúrgico es lo que necesita:

Sincronice su búfer de historial en memoria actual con el archivo de historial en el disco y luego abra ese archivo en un editor de texto y elimine todas las entradas ofensivas manualmente.

Relacionado:¿Qué carpetas incluir en la copia de seguridad?

Para agregar el historial de su sesión actual al archivo de historial manualmente (porque solo ocurre automáticamente cuando sale de su sesión), ejecute esto primero:

history -a

Después de eso, abra el archivo de historial de Bash ~/.bash_history en su editor de texto favorito (ya que está en un servidor, le sugiero, por ejemplo, nano ) y edite la lista de comandos a su gusto. El archivo enumera todos los comandos grabados en orden cronológico, los comandos más recientes son los últimos. Simplemente elimine las líneas ofensivas y guarde su trabajo.

Después de eso, debe volver a cargar el historial modificado en su búfer de historial en memoria usando el siguiente comando, para evitar que las entradas antiguas de la memoria se agreguen al archivo de historial ordenado cuando salga de su sesión:

history -r

Ubuntu
  1. Linux:¿cómo dejar de compartir la red para el proceso actual?

  2. ¿Cómo eliminar duplicados en .bash_history, conservando el orden?

  3. ¿Cómo eliminar todas las configuraciones para Deja Dup?

  4. Cómo ejecutar el comando Ping solo para N cantidad de paquetes

  5. ¿Cómo asignar nombre a una pantalla?

Cómo ver y eliminar el historial de terminales en Ubuntu 20.04

Cómo eliminar un directorio en Ubuntu 20.04

Cómo eliminar un archivo en Ubuntu

Cómo especificar el límite de tiempo para una sesión de Sudo

Cómo especificar el límite de tiempo para una sesión de Sudo en Ubuntu 20.04 LTS

¿Cómo agregar un nuevo dominio solo para correos electrónicos?