터미널에서 저장된 명령을 어떻게 삭제합니까?


16

모두 아시다시피, Mac OS X은 터미널에서 실행되는 모든 명령을 터미널 자체에 저장하지만 터미널에서 마지막 3 개의 명령을 삭제하고 싶습니다 (예를 들어). 어떻게해야합니까?

답변:


12

Mac OS는 아무 곳에도 저장하지 않습니다.

bash터미널에서 실행되는 쉘인 명령 기록을 저장합니다.

터미널 명령 기록은 사용자 디렉토리의 숨겨진 파일에 저장됩니다. .bash_history

이것은 파일이 다음을 의미합니다. /Users/{username}/.bash_history

"시스템 파일 표시"를 활성화해야합니다 (파인더의 "보기"메뉴에서).

파일은 쉘에 입력 한 모든 텍스트 목록입니다. TextEdit 또는 선택한 편집기에서 열 수 있습니다.


당신은 아마 닫아야 Terminal.app변경하기 전에 파일에 최근 변경 사항을 플러시, 또는 버전에서 덮어 쓸 수 있습니다 Terminal.app메모리에 있습니다.


2
명령은 즉시 저장되지 않지만 쉘이 종료되거나 프롬프트가 표시 될 때만 (예 : history -a또는 history -w) 저장됩니다. 일반적으로 마지막 명령은 아직 파일에 없습니다.
Matteo

이 파일을 편집하기 전에 아마도 terminal.app의 모든 인스턴스를 닫아야합니다. 결정된.
가짜 이름

19

Mac OS 기능이 아니라 쉘 기능입니다. bash (기본값)를 사용한다고 가정합니다.

  • 명령 기록은 메모리에 저장되고 파일 (보통 ~/.bash_history)에 유지됩니다.
  • 당신은 history명령을 사용 하여 기록을 나열하고 편집 할 수 있습니다

함께 man bash합니다 (의 SHELL BUILTIN COMMANDS부분) 당신은 다른 옵션의 설명을 찾을 수 있습니다.

당신은 할 수 있습니다 :

  • 기록 항목을 나열

    $ history
  • 전체 역사를 삭제

    $ history -c
  • 주어진 항목을 삭제

    $ history -d offset

두 답변이 올바른지, 난 당신에게 형제 감사합니다 .. 가장 빠른 하나 선택 ...
JAHelia

역사 -c 일을, 그것을 말한다 fc: event not found: -c. 그런 다음 수동으로 파일을 열고 내용을 삭제했습니다. Closed and reopened the terminal역사는 지금 존재하지 않습니다.
호기심 많은

2

Mac 터미널 사용자

다음 명령으로 bash 명령 기록을 삭제하십시오. $ echo '' > ~/.bash_history

Mac zsh 사용자의 경우

다음 명령으로 zsh 명령 히스토리 삭제 $ echo ''> ~/.zsh_hostory


이렇게하면 마지막 세 줄뿐만 아니라 전체 기록이 삭제됩니다.
John N

0

텍스트 편집 외에도 구식 인 경우 'vi'를 사용하여 파일을 편집하고 불쾌한 명령을 제거하십시오. 유사한 명령 행 편집기는 emacs (OS X와 ​​편집 바로 가기를 공유 함) 또는 nano (참조 시트없이 편집기를 저장하고 종료하는 방법에 대한 탐색 및 시각적 도움이 단순화 된) .


1
이에 대한 답변은 " TextEdit 또는 선택한 편집기 에서 열 수 있습니다 "라는 내용으로 표시됩니다.
John N

우리는 스스로 대답하는 것을 선호합니다. 지금은 답변보다 더 많은 의견입니다. 적어도 편집 할 파일 이름을 추가 할 수 있습니까?
nohillside
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.