https://stackoverflow.com/questions/14750650/how-to-delete-history-of-last-10-commands-in-shell#

 

How to delete history of last 10 commands in shell?

Commands follows 511 clear 512 history 513 history -d 505 514 history 515 history -d 507 510 513 516 history 517 history -d 509 518 history 519 history -d 511 520 hi...

stackoverflow.com

 

해당 글을 보는데

 

~/.bash_history

 

에서 조작하라는 답변이 1위다.

 

사실 그것도 좋은데, .bash_history 에 전부 남지 않을 수도 있고, 확실치 않다.

 

 

나는 그 아래의 다른 답변이 정말 마음에 들었다.

 

이 명령어는 심지어 history 에도 남지 않는 완벽한 명령어다.

 

for h in $(seq 시작번호 끝번호 | tac); do history -d $h; done; history -d $(history 1 | awk '{print $1}')

history 입력 후, 좌측 상단에 history 번호를 확인하고

 

1003  25-04-2016 17:54:52 echo "Command 1" 
1004  25-04-2016 17:54:54 echo "Command 2" 
1005  25-04-2016 17:54:57 echo "Command 3" 
1006  25-04-2016 17:54:59 echo "Command 4" 
1007  25-04-2016 17:55:01 echo "Command 5" 
1008  25-04-2016 17:55:03 echo "Command 6" 
1009  25-04-2016 17:55:07 echo "Command 7" 
1010  25-04-2016 17:55:09 echo "Command 8" 
1011  25-04-2016 17:55:11 echo "Command 9" 
1012  25-04-2016 17:55:14 echo "Command 10"

삭제할 번호를 주면 감쪽같이 사라진다.

 

for h in $(seq 1003 1010 | tac); do history -d $h; done; history -d $(history 1 | awk '{print $1}')

이런 식으로.

 

 

+ 근데 다시 접속하니 ~/.bash_history 에 남고 history 를 다시 실행하니 삭제했던 명령어들이 그대로 나온다.. 여기서 지워야하는게 맞는 것 같다 ㅠㅠ

 

 

 

 

반응형