Jak mogę usunąć zapisane polecenia z terminala?


16

Jak wszyscy wiecie, Mac OS X przechowuje wszystkie polecenia uruchamiane z Terminala w samym Terminalu, jednak chcę usunąć (na przykład) ostatnie 3 polecenia z terminala. W jaki sposób mogę to zrobić?

Odpowiedzi:


12

Mac OS nigdzie nie przechowuje.

bash, czyli powłoka uruchamiana w terminalu, przechowuje historię poleceń.

Historia poleceń terminala jest przechowywana w ukrytym pliku w katalogu użytkownika o nazwie .bash_history

Oznacza to, że plik jest: /Users/{username}/.bash_history

Aby go zobaczyć, musisz włączyć opcję „Pokaż pliki systemowe” (z menu „Widok” w wyszukiwarce).

Plik jest tylko tekstową listą wszystkiego, co wpisujesz w powłoce. Możesz go otworzyć w TextEdit lub w dowolnym edytorze.


Prawdopodobnie powinieneś zamknąć, Terminal.appaby opróżnić wszystkie ostatnie zmiany w pliku przed dokonaniem zmian, ponieważ może zostać zastąpione przez wersję Terminal.appzapisaną w pamięci.


2
Polecenia nie są przechowywane w locie, ale tylko po wyjściu powłoki lub gdy zostanie o to poproszony (np. history -aLub history -w). Zwykle ostatnich poleceń nie ma jeszcze w pliku.
— Matteo,

Ups, chciałem dodać, że prawdopodobnie powinieneś zamknąć wszystkie wystąpienia terminal.app przed edycją tego pliku. Naprawiony.
— Fałszywe imię

19

To nie jest funkcja Mac OS, ale funkcja powłoki. Zakładając, że używasz bash (domyślnie):

  • historia poleceń jest przechowywana w pamięci i utrwalana w pliku (zwykle ~/.bash_history)
  • możesz wyświetlić i edytować historię za pomocą historypolecenia

Za pomocą man bash(w SHELL BUILTIN COMMANDSsekcji) znajdziesz opis różnych opcji.

Możesz:

  • wyświetlić wpisy historii

    $ history
  • usuń całą historię

    $ history -c
  • usuń dany wpis

    $ history -d offset

obie odpowiedzi są poprawne, wybrałem najwcześniejszą .. dziękuję stary ..
— JAHelia

na temat robienia historii -c mówi fc: event not found: -c. Następnie ręcznie otworzyłem plik, usunąłem zawartość. Closed and reopened the terminala historia nie istnieje teraz.
— dociekliwy

2

Dla użytkownika terminala Mac

usuń historię poleceń bash za pomocą następującego polecenia $ echo '' > ~/.bash_history

Dla użytkowników Mac Zsh

usuń historię poleceń zsh za pomocą następującego polecenia $ echo ''> ~/.zsh_hostory


Pamiętaj, że spowoduje to usunięcie całej historii, a nie tylko ostatnich trzech wierszy.
— John N,

0

Oprócz edycji tekstu, jeśli jesteś oldschoolowy, użyj „vi”, aby edytować plik i usunąć obraźliwe polecenia. Podobne edytory wiersza poleceń to emacs (który udostępnia skróty do edycji w OS X) lub nano (który ma uproszczoną nawigację i pomoc wizualną dotyczącą sposobu zapisywania i zamykania edytora bez potrzeby korzystania z arkusza referencyjnego) .


1
Może to obejmować „Można go otworzyć w TextEdit lub w dowolnym edytorze ”, który znajduje się w zaakceptowanej odpowiedzi.
— John N

Wolimy, aby odpowiedzi były samodzielne. W tej chwili jest to bardziej komentarz niż odpowiedź. Czy możesz dodać przynajmniej nazwę pliku do edycji?
— nohillside
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.