Yanıtlar:
Kullanabilirsiniz tput reset
.
Ayrıca reset
ve tput reset
aşağıdaki kabuk betiğini kullanabilirsiniz.
#!/bin/sh
echo -e \\033c
Bu, kontrol karakterlerini Esc-C
terminali sıfırlayan konsola gönderir .
Google Anahtar Kelimeler: Linux Konsolu Kontrol Dizileri
man console_codes
diyor:
ESC c dizisi, ekranın tamamen karışması halinde istediğiniz şey olan bir terminal sıfırlamasına neden olur. Tavsiye edilen "echo ^ V ^ O" yalnızca G0 akımını sağlar, ancak G0'ın a) tablosunu gösterdiğine dair hiçbir garanti yoktur. Bazı dağıtımlarda sadece "echo ^ [c" yapan bir program sıfırlama (1) vardır. Konsol için terminfo girişiniz doğruysa (ve rs1 = \ Ec girişine sahipse) "tput reset" de çalışacaktır.
tput reset
reset
Ubuntu 16.04’den daha hızlı , en azından
Biliyorum bir gnome terminalindesin ama Mac’te olabilecek başkaları için bir ipucu ile cevap vereceğimi düşündüm:
Kullanıyorsanız Terminal.app
veya iTerm.app
sonra Control+L
yukarı kayar, böylece terminal boş görünür, ancak Cmd+K
terminali gerçekten sıfırlar / geri kaydırmayı sıfırlar.
Veya terminaliniz için klavye tercihlerini ayarlayabiliyorsanız , yukarıda belirtildiği gibi Ctrl+K
giriş yapmak echo -e \\033c
gibi bir şey atayabilirsiniz .
Cmd+K
tek istediğim bu. ty
Anthon'un cevabı KDE Konsole'de çalışıyor, ancak urxvt değil. Urxvt'te, geri kaydırma işlemini (yaptığı diğer şeylerle birlikte) temizlemek için birkaç yıldır sıfırlamayı kullanıyorum ve Konsole'de çalışmadığı için tatmin olmadı. Şimdi Linux için yeni bir takma adım var:
alias allclear='clear; echo -e "\033c\e[3J"'
Ancak OS X üzerinde çalışmıyor.
tput reset
AFAICT hiçbir bağlamda çalışmaz.
KDE Konsole'de, ctrl- shift- kkaydırma işlemini temizler (geçerli kabuk istemi dahil, bu yüzden tamamen boş). İTerm'de veya Apple'ın OS X üzerindeki terminalinde cmd- shift- - kayrıca kaydırma işlemini temizler. Bu özelliği urxvt'ye eklemek için, bunu ~ / .Xresources dosyasına ekleyin:
urxvt*keysym.C-S-K: command:\033c
allclear(){
`echo" Terminali ve kaydırma işlemini sil ... "` `uyku 1.5`` temiz; echo -e "\ 033c \ e [3J" ` }
` Düzenleme: Çalışmak için biçimlendirme alınamıyor. Herhangi biri bunu düzenleyebiliyorsa, okunabilir olması durumunda minnettar olurum.
Ben eşlenen F12: Aşağıdaki kabukların her ekranı temizlemek için bash , csh ve balık kabuk . Komutum öncekilerden farklı çünkü mevcut satırda yazdıklarınızı koruyor.
(Not: Aşağıdaki tüm konfigürasyonlar terminale bağlıdır, ancak umarım hemen hemen her yerde çalışırlar)
Dosyayı açın ~/.inputrc
ve aşağıdaki satırı ekleyin:
"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"
Mevcut bağlanma yeni anahtar, ya yeni bir terminal açmak veya yazmak için Ctrl+ Xo Ctrl+ Rmevcut terminal .inputrc dosyasını yeniden.
Açıklama
~ / .inputrc dosyası bash terminalinin anahtar bağlantılarını kontrol eder.
Hat hakkında:
"\e[24~"
, anahtarı eşler F12.C-k
( Ctrl+ X) ÖIdürücü halkasını (bash en kopyalama ve geçmişteki bellek) temizler.C-u
( Ctrl+ U) Kesme zincirine akım hattı gönderir ve silmek.echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n
Terminaline iki gruplandırılmış komutlar gönderir. Onlar tarafından ayrılır ;
ve sonlandırılır \n
.
echo -ne '\\ec\\e[3J'
Ekranı temizler.history -d $((HISTCMD-1))
Tarihte girmesini bu iki komutları önler.C-y
( Ctrl+ Y) Tarafından saklanan öldürme halka yapıştırır C-u
komutu.C-?
( Ctrl+ ?) Eşdeğerdir Backspaceve yukarıda aşama 3'te yerleştirilmiş alanı kaldırır.Referanslar:
Komutu aşağıya yazın. Her yeni terminale anahtar ciltleme yüklemek için
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
ayrıca .cshrc
dosyanıza eklenebilir .
(Evet, bash'tan çok daha basittir)
Komutu aşağıya yazın. Her yeni terminale anahtar ciltleme yüklemek için
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
işlevi düzenleyebilir ve kaydedebilirsiniz fish_user_key_bindings
.
(Evet, bash'tan çok daha basittir)
[Ubuntu 16.04]
.Bash_history terminali kapatıldıktan sonra dosya kullanıcının ana dizinde oluşturulur
Kullanışlı, ancak dilerseniz silebilirsiniz .. Yine de terminali kullanmayı her bitirdiğinizde yaratılır.
El ile silebilirsiniz:
dosya tarayıcınız.
terminal: terminali kapattığınızda yeni bir .bash_history dosyası oluşturulacağını unutmayın (varsayılan konfigürasyonuna göre).
Veya ihtiyacınız olan işlevselliği bashrc ile bağlantılı bir dosyaya kaydederseniz, özel bir işlevi çağırabilirsiniz. Kodunuzu buraya koymak isterseniz bashrc'nin kendisini düzenleyebilirsiniz, ancak sonraki örnekler ayrı bir dosyadadır
Dürüst olmak gerekirse, bu benim için yararlı değil ama çıkmadan önce komut geçmişini silmek istiyorsanız bunu yapabilirsiniz:
.bash_custom #this benim özel dosyam
blotout() {
HISTSIZE=0
rm $HOME/.bash_history
exit
}
daha sonra
dosyamın adını ve yolunu ekleyin .bashrc # bu bash için yapılandırma dosyasıdır (sanırım)
# existent code
#...
#..
# import user customizations
source $HOME/.bash_custom
ve hepsi bu.
AMA, tam olarak ne istiyorsan onu yapabilmek için özel dosyada bu fonksiyona ihtiyacın var ve onu bağla:
refresh() {
tput reset
H=HISTSIZE
HISTSIZE=0
HISTSIZE=H
}
İsterseniz sadece fonksiyonu .bashrc'ye koyun, ancak bu şekilde muhtemelen fonksiyondan sonra bir export deyimine ihtiyacınız olacaktır. D
.Bashrc dosyasını veya 'custom' dosyanızı düzenlerken terminali yeniden başlatmanız gerektiğini unutmayın.
Benim için, PuTTY'yi CentOS 7'ye karşı kullanmak, clear (geri) komutunda clear komutunun yalnızca clear komutunu bırakır, ancak aynı zamanda clear komutunun iki örneği "clear && clear" komutunu çalıştırarak scrollback'i tamamen siler ve beni kaydırma çubuğu içermez. Bunu dene. Bu çok garip bir çözüm ancak bunlardan hiçbiri etkili olan bu geri tepmeyi çözmedi.
Fedora 30'da, geçmişi silmek $ HOME / .bash_history dosyasını kaldırarak yapılır. Terminal geçmişi dosyasını klavyeyle temizlemenin en kolay yolu:
nautilus
ve basın Enter(eski Nautilus olarak biliniyordu) (GNOME) Dosyalar uygulamasını açmak için anahtarı..bash_history
(pencere açıldıktan hemen sonra yazılırsa, arama çubuğunda görünmesi gerekir; aksi takdirde, arama çubuğuna Ctrl+ üzerinden erişilebilir L).cat /dev/null > ~/.bash_history && history -c && exit
history -c
önceki iki cevapta sunulmuş ve sorunun doğru cevapları olmadığı için silinmiştir. Terminal penceresini kapatmadan (muhtemelen) Önceki komutların terminalin hafızasını silecektir iken (2), bu kadar uzak OP bunu istediği aşikar dan. … Ve PS exit
Terminal penceresini kapatmak için tek bir komut garanti edilmez.