16 votos

¿Cómo puedo borrar comandos guardados desde la Terminal?

Como todos ustedes saben, Mac OS X guarda todos los comandos que se ejecutan desde Terminal en el propio Terminal, sin embargo, quiero borrar (por ejemplo) los últimos 3 comandos del terminal. ¿Cómo puedo hacer esto?

19voto

Leonard Puntos 2832

No es una característica de Mac OS, sino una característica de la terminal. Asumiendo que estás usando bash (el predeterminado):

  • el historial de comandos se almacena en la memoria y se guarda en un archivo (generalmente ~/.bash_history)
  • puedes listar y editar el historial con el comando history

Con man bash (en la sección de COMANDOS INCORPORADOS DE LA TERMINAL) encontrarás la descripción de las diferentes opciones.

Puedes:

  • listar las entradas del historial

    $ history
  • borrar todo el historial

    $ history -c
  • borrar una entrada específica

    $ history -d offset

0 votos

Ambas respuestas son correctas, elegí la primera .. gracias hermano ..

0 votos

Al hacer historial -c, dice fc: evento no encontrado: -c. Luego abrí manualmente el archivo, eliminé el contenido. Cerré y volví a abrir la terminal y ahora el historial no existe.

12voto

ScottKoon Puntos 2139

Mac OS no guarda nada en ningún lugar.

bash, que es la shell que se ejecuta en la terminal, sí guarda el historial de comandos.

El historial de comandos de la terminal se guarda en un archivo oculto en tu directorio de usuario llamado .bash_history

Esto significa que el archivo es: /Users/{nombredeusuario}/.bash_history

Tienes que habilitar "Mostrar Archivos del Sistema" para verlo (desde el menú "Ver" en el Finder).

El archivo es simplemente una lista textual de todo lo que escribes en la shell. Puedes abrirlo en TextEdit, o en tu editor preferido.


Probablemente deberías cerrar Terminal.app para vaciar cualquier cambio reciente en el archivo antes de realizar cambios, o podría ser sobrescrito por una versión que Terminal.app tiene en memoria.

2 votos

Los comandos no se almacenan al vuelo, sino solo cuando la consola se cierra o cuando se le solicita que lo haga (por ejemplo, history -a o history -w). Normalmente, los últimos comandos aún no están en el archivo.

0 votos

¡Ups! Quise decir que probablemente deberías cerrar todas las instancias de terminal.app antes de editar este archivo. Corregido.

2voto

jeffora Puntos 1981

Para usuarios de Terminal de Mac

borrar el historial de comandos de bash con el siguiente comando $ echo '' > ~/.bash_history

Para usuarios de zsh de Mac

borrar el historial de comandos de zsh con el siguiente comando $ echo ''> ~/.zsh_hostory

0 votos

Tenga en cuenta que esto eliminará todo el historial y no solo las últimas tres líneas.

0voto

TheBeiram Puntos 77

Además de Text Edit, si eres de la vieja escuela, puedes usar 'vi' para editar el archivo y eliminar los comandos ofensivos. Editores similares en línea de comandos son emacs (que comparte atajos de edición con OS X) o nano (que tiene una navegación simplificada y ayuda visual sobre cómo guardar y salir del editor sin necesidad de una hoja de referencia).

1 votos

Eso estaría cubierto por "Puedes abrirlo en TextEdit, o en tu editor de preferencia", que está en la respuesta aceptada.

0 votos

Preferimos que las respuestas se mantengan por sí solas. En este momento es más un comentario que una respuesta, ¿puedes agregar al menos el nombre del archivo a editar?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X