Come tutti voi sapete, Mac OS X memorizza tutti i comandi eseguiti dal Terminale nel Terminale stesso, tuttavia, voglio cancellare (per esempio) gli ultimi 3 comandi dal terminale. Come posso fare questo?
Mac OS non memorizza nulla da nessuna parte.
bash
, che è la shell che viene eseguita nel terminale, memorizza la cronologia dei comandi.
La cronologia dei comandi del terminale è memorizzata in un file nascosto nella tua directory utente chiamata .bash_history
Questo significa che il file è: /Users/{username}/.bash_history
Devi abilitare "Mostra file di sistema" per vederlo (dal menu "Visualizza" nel Finder).
Il file è solo un elenco testuale di tutto ciò che scrivi nella shell. Puoi aprirlo in TextEdit o nel tuo editor di scelta.
Probabilmente dovresti chiudere Terminal.app
per svuotare eventuali modifiche recenti nel file prima di apportare modifiche, altrimenti potrebbe essere sovrascritto da una versione Terminal.app
in memoria.
Non è una funzione per Mac OS ma una funzione di shell. Supponendo che stai usando bash (il valore predefinito):
~/.bash_history
) history
Con man bash
(nella sezione SHELL BUILTIN COMMANDS
) troverai la descrizione delle diverse opzioni.
Puoi:
elenca le voci della cronologia
$ history
elimina l'intera cronologia
$ history -c
cancella una voce data
$ history -d offset
Per utente terminale Mac
cancella la cronologia dei comandi di bash con il seguente comando
$ echo '' > ~/.bash_history
Per utente Mac zsh
cancella la cronologia dei comandi zsh con il seguente comando
$ echo ''> ~/.zsh_hostory
Oltre a Modifica testo, inoltre, se sei vecchio stile, usa 'vi' per modificare il file e rimuovere i comandi offensivi. Editor di riga di comando simili sono emacs
(che condivide i collegamenti di modifica con OS X) o nano
(che ha semplificato la navigazione e la guida visiva su come salvare e uscire dall'editor senza bisogno un foglio di riferimento) .