wake-up-neo.com

역사에서 한 줄을 제거하는 방법?

Mac OSX에서 일하고 있으므로 bash를 사용하고 있다고 생각합니다 ...?

때때로 나는 역사에서 기억하고 싶지 않은 것을 입력합니다. 어떻게 제거합니까?

228
B Seven

예방 조치

기록에 저장하지 않고 명령을 실행하려면 추가 공간을 두십시오

Prompt$ echo saved
Prompt$  echo not saved \
> #     ^ extra space

이것이 작동하려면 ignorespaceignoreboth 또는 HISTCONTROL이 필요합니다. 예를 들어

HISTCONTROL=ignorespace

이 설정을 영구적으로 유지하려면 .bashrc.

사후 정리

이미 명령을 실행하고 기록에서 제거하려면 먼저

history

히스토리에서 명령 목록을 표시합니다. 삭제하려는 번호 (예 : 1234) 옆의 번호를 찾아서 실행합니다.

history -d 1234

또한 삭제하려는 행이 $ HISTFILE에 이미 기록 된 경우 (일반적으로 기본적으로 세션을 종료 할 때 발생 함) $ HISTFILE에 다시 써야합니다. 그렇지 않으면 새 행을 열 때 해당 행이 다시 나타납니다 세션:

history -w
390
jw013
  1. 모든 기록을 지우려면

    history -c
    
  2. 한 줄을 삭제하려면

    history -d linenumber
    
54
soumyaranjan

~/.bashrc에이 명령이 있습니다. $ forget 명령은 이전 명령을 기록에서 삭제합니다.

function forget() {                                                              
   history -d $(expr $(history | tail -n 1 | grep -oP '^ \d+') - 1);              
}
9
Ryan Haining

항상 ~/.bash_history에서 항목을 편집하고 제거 할 수 있습니다. 하나 이상의 항목을 제거하려는 경우 유용합니다.

5
Weslor

전체 bash 세션을 잊고 싶다면 현재 bash 프로세스를 kill 할 수 있습니다. 변수 $$ 현재 셸의 pid를 잡고 다음을 수행 할 수 있습니다.

kill -9 $$
5
Bruno Bronosky

빠른 단계 :

  1. echo $HISTFILE로 터미널 히스토리 파일이 어디에 있는지 확인하십시오.
  2. 텍스트 편집기로 파일을여십시오
  3. 찾은 민감한 선을 삭제하십시오.
  4. 파일을 저장하십시오
  5. 터미널을 닫았다가 다시 엽니 다
  6. 완료 : 당신의 역사는 깨끗합니다! 터미널에서 history 명령을 실행하여 검증 할 수 있습니다
0
marcelosalloum

우분투에서는 (하지만 다른 리눅스 배포판과 MacOS에서도 동일하게 작동합니다) bash 기록 파일은 임의의 텍스트 편집기에서 간단히 편집 할 수 있습니다.

$ nano ~/.bash_history

저장 위치를 ​​모르는 경우 다음과 같이 찾을 수 있습니다.

$ echo $HISTFILE

또는 좀 더 일반적인 방법으로 할 수 있습니다.

$ nano $HISTFILE
0
automatix

히스토리를 지운 후에 변경 사항을 작성해야합니다. 히스토리에서 히스토리 지우기 명령을 원하지 않으면 다음과 같이 명령을 실행해야합니다.

history -c && history -w && logout

행운을 빕니다.

0
user882786

히스토리 파일에서 단일 행을 제거하려면 -d 옵션을 사용하십시오. 예를 들어, 위 시나리오 에서처럼 일반 텍스트 암호를 입력 한 명령을 지우려면 내역 파일에서 줄 번호를 찾아이 명령을 실행하십시오.

$ history -d 2038

Bash history에서 모든 항목을 삭제하거나 지우려면 아래의 history 명령을 -c 옵션과 함께 사용하십시오.

$ history -c

또는 아래 명령을 사용하여 파일에서 마지막으로 실행 된 모든 명령의 기록을 삭제할 수 있습니다.

$ cat /dev/null > ~/.bash_history

또한 Bash 5를 사용하면 범위를 삭제할 수 있습니다

history -d 511-520

0
champion-runner

1- bash 터미널 유형

history # 히스토리 .bash_history 파일의 모든 명령을 줄 번호와 함께 나열합니다.

전의:

  ...
  987  cd
  988  ssh [email protected]
  990  exit
  991  cd

2- 삭제할 CMD 줄 번호를 선택하십시오

history -d 988

참고 : 예를 들어 마지막 3 개의 CMD를 삭제하려면 아래의 ex : 988에서 세 번째 줄 번호를 선택하고 CMD history -d 988 순서대로 3 번.

0
KhogaEslam