답변:
사용할 수 있습니다 tput reset
.
게다가 reset
그리고 tput reset
당신은 쉘 스크립트를 사용할 수 있습니다.
#!/bin/sh
echo -e \\033c
제어 문자 Esc-C
를 콘솔로 보내 터미널을 재설정합니다.
Google 키워드 : Linux 콘솔 제어 순서
man console_codes
말한다 :
시퀀스 ESC c는 터미널 재설정을 야기하며, 이는 화면이 모두 왜곡 된 경우 원하는 것입니다. 자주 권장되는 "echo ^ V ^ O"는 G0 만 최신 상태로 만들지 만 G0이 표 a를 가리키는 것은 아닙니다. 일부 배포판에는 "echo ^ [c"를 수행하는 프로그램 reset (1)이 있습니다. 콘솔의 terminfo 항목이 올 바르고 (rs1 = \ Ec 항목이있는 경우) "tput reset"도 작동합니다.
tput reset
보다 빠른 reset
적어도, 우분투 16.04에서
나는 당신이 그놈 터미널에 있다는 것을 알고 있지만 Mac에서 (나 같은) 다른 사람들을 위해 팁으로 대답 할 것이라고 생각했습니다.
사용 중이 Terminal.app
거나 iTerm.app
그런 다음 Control+L
위로 스크롤하면 터미널이 비어있는 것처럼 보이지만 Cmd+K
실제로 터미널을 재설정 / 스크롤 취소합니다.
또는 터미널에 대한 키보드 환경 설정을 지정할 수있는 경우 위에서 언급 한 것과 같이 Ctrl+K
입력 할 항목을 지정할 수 있습니다 echo -e \\033c
.
Cmd+K
내가 원하는 전부 야 ty
Anthon의 답변은 KDE Konsole에서 작동하지만 urxvt는 아닙니다. urxvt에서 몇 년 동안 재설정을 사용하여 스크롤 백을 지우고 (다른 모든 것들과 함께) Konsole에서 작동하지 않는다는 것에 만족하지 못했습니다. 이제 Linux의 경우 새 별칭이 있습니다.
alias allclear='clear; echo -e "\033c\e[3J"'
그러나 OS X에서는 작동하지 않습니다.
tput reset
어떤 상황에서도 AFAICT가 작동하지 않습니다.
KDE Konsole을에서 ctrl- shift- k스크롤 백 웁니다 (현재 쉘 프롬프트를 포함하여, 그래서 완전히 비어). OS X에 사용하여 ITerm 또는 애플의 터미널에서 cmd- shift- k또한 스크롤 백을 지 웁니다. urxvt에이 기능을 추가하려면 ~ / .Xresources에이 기능을 추가하십시오.
urxvt*keysym.C-S-K: command:\033c
allclear(){
`echo "터미널 및 스크롤 백 지우기 ..."``sleep 1.5``clear; echo -e "\ 033c \ e [3J"` }
`편집 : 포맷 할 수 없습니다. 누구나 읽을 수 있도록 편집 할 수 있다면 고맙겠습니다.
bash , csh 및 fish shellF12 각각의 쉘에서 clear screen에 매핑 했습니다 . 내 명령은 현재 줄에 이미 입력 한 내용을 유지하기 때문에 이전 명령과 다릅니다. (참고 : 아래의 모든 구성은 터미널에 따라 다르지만 거의 모든 곳에서 작동하기를 바랍니다)
파일을 열고 ~/.inputrc
다음 줄을 삽입하십시오.
"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"
새 키 바인딩을 사용 가능하게하려면 새 터미널을 열거 나 Ctrl+를 X누른 다음 Ctrl+ R를 입력 하여 현재 터미널에서 .inputrc 파일을 다시로드하십시오.
설명
파일 ~ / .inputrc는 bash는 터미널의 키 바인딩을 제어합니다.
라인 정보 :
"\e[24~"
키를 매핑합니다 F12.C-k
( Ctrl+는 X) 킬 (kill) 링 (배쉬의 복사 및 과거의 기억)를 지 웁니다.C-u
( Ctrl+는 U) 킬 링에 현재 라인을 전송하고,이를 소거.echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n
두 그룹화 된 명령을 터미널로 보냅니다. 에 의해 분리되고에 의해 ;
종료됩니다 \n
.
echo -ne '\\ec\\e[3J'
화면 이 지워집니다.history -d $((HISTCMD-1))
역사에 들어가는이 두 명령을 방지 할 수 있습니다.C-y
( Ctrl+가 Y)에 의해 저장된 킬 (kill) 링 붙여 넣습니다 C-u
명령을 사용합니다.C-?
( Ctrl+가 ?)에 상당 Backspace하고 상기 단계 (3)에 삽입 공간을 제거한다.참고 문헌 :
다음 명령을 입력하십시오. 파일에
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
삽입 .cshrc
하여 모든 새 터미널에 키 바인딩을로드 할 수도 있습니다 .
(예, bash보다 훨씬 간단합니다)
다음 명령을 입력하십시오. 키 바인딩을 모든 새 터미널에로드하는
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
기능 fish_user_key_bindings
을 편집하고 저장할 수 있습니다 .
(예, bash보다 훨씬 간단합니다)
[우분투 16.04]
.bash_history 파일 터미널이 폐쇄되면 파일은 사용자의 홈 디렉토리에 작성됩니다
유용하지만 원하는 경우 삭제할 수 있습니다. 그럼에도 불구하고 터미널 사용을 마칠 때마다 생성됩니다.
다음에서 수동으로 삭제할 수 있습니다.
파일 브라우저.
터미널 : 터미널을 닫으면 기본 구성에 따라 새 .bash_history 파일이 생성됩니다.
또는 필요한 기능을 bashrc에서 링크 된 파일에 저장하면 사용자 정의 함수를 호출 할 수 있습니다. 코드를 원하는 경우 bashrc 자체를 편집 할 수 있지만 다음 예제는 별도의 파일에 있습니다.
솔직히 이것은 나에게 유용하지 않지만 종료하기 전에 명령 기록을 삭제하려는 경우 다음을 수행 할 수 있습니다.
.bash_custom # 이것은 내 사용자 정의 파일입니다
blotout() {
HISTSIZE=0
rm $HOME/.bash_history
exit
}
그런 다음 맨 아래에 내 파일
.bashrc 의 이름과 경로를 추가하십시오 . # 이것은 bash의 구성 파일입니다.
# existent code
#...
#..
# import user customizations
source $HOME/.bash_custom
그리고 그게 전부입니다.
그러나 원하는 것을 정확하게하려면 사용자 정의 파일 에이 기능이 필요하고 링크하십시오.
refresh() {
tput reset
H=HISTSIZE
HISTSIZE=0
HISTSIZE=H
}
또는 원하는 경우 함수를 .bashrc에 넣으십시오. 그러나 그런 식으로 함수 뒤에 export 문이 필요할 수도 있습니다. 확실하지 않고 파일이 업데이트되면 아마도 함수가 손실되었을 것입니다. 나도 확실하지 않습니다. D.
.bashrc 또는 'custom'파일을 편집 할 때 터미널을 다시 시작해야합니다.
Fedora 30에서는 $ HOME / .bash_history 파일을 제거하여 기록을 삭제합니다. 키보드를 통해 터미널 기록 파일을 지우는 가장 쉬운 방법은 다음과 같습니다.
nautilus
하고 눌러 Enter그놈 파일 응용 프로그램 (이전의 노틸러스)을 엽니 다..bash_history
(창을 연 직후에 입력 한 경우 검색 창에 나타나야하며, 그렇지 않으면 Ctrl+ 를 통해 검색 창에 액세스 할 수 있음 L).cat /dev/null > ~/.bash_history && history -c && exit
history -c
두 개의 이전 답변으로 제시되었으며 질문에 대한 정답이 아닌 것으로 삭제되었습니다. 터미널 창을 닫으면 (아마) 이전 명령의 단말기의 메모리가 지워집니다 동안 (2), 그건 지금까지 영업 그렇게하고 싶은 것이 분명에서. … 그리고 PS 단일 exit
명령으로 터미널 창을 닫을 수있는 것은 아닙니다.