Effacer un écran de terminal pour de vrai
L'utilisation de la commande clear
sur le terminal ne fait que tromper l'utilisateur en lui faisant croire que l'écran a été effacé...vous pouvez toujours voir la sortie des commandes précédentes lorsque vous faites défiler la souris. Cela rend la vie difficile quand vous noyer dans un flot de texte.
diverses solutions (code d'échappement, etc.) que l'on peut trouver sur Internet ne sont que des variations de ce que la commande Claire fait déjà.
alors comment contenu d'un terminal sous Linux pour de vrai?
10 réponses
utilisez la commande suivante pour faire un écran clair au lieu de simplement ajouter de nouvelles lignes ...
printf "3c"
oui, c'est un 'printf' à l'invite bash.
vous voudrez probablement définir un alias cependant...
alias cls='printf "3c"'
explication
3 == \x1B == 27 == ESC
devient alors <ESC>c
qui est le code d'échappement VT100 pour la réinitialisation du terminal. ici est un peu plus informations sur les codes d'évacuation.
Modifier
Voici quelques autres façons de le faire...
printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e Enable interpretation of of backslash escapes
# -n Do not output a new line
KDE
ce qui précède ne fonctionne pas sur la console KDE (appelée Konsole) mais il y a de l'espoir! Utilisez la séquence suivante de commandes pour effacer l'écran et le tampon de défilement...
clear && echo -en "\e[3J"
ou peut-être utiliser l'alias suivant sur KDE...
alias cls='clear && echo -en "\e[3J"'
j'ai reçu la commande ici .
Essayer reset
. Il efface l'écran du terminal, mais les commandes précédentes peuvent être accédées par une flèche ou n'importe quelle liaison de clé que vous avez.
aucune des réponses que j'ai lu n'a fonctionné dans PuTTY, donc j'ai trouvé un commentaire sur cet article :
dans les paramètres de votre connexion, sous" Window->Behavior "vous trouverez un paramètre"menu Système apparaît sur ALT seul". Puis CTRL+L, ALT, l (c'est un l minuscule) va faire défiler l'écran et puis effacer le tampon de scrollback.
(pertinent pour L'OP parce que je me connecte à un serveur Ubuntu, mais aussi apparemment pertinent no importe ce que votre serveur est en cours d'exécution.)
le lien suivant vous expliquera comment rendre cet alias permanent pour que vous n'ayez pas à le taper.
https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias
ce sont les étapes détaillées à ce lien.
- vim ~/.bashrc ou gedit ~/.bashrc ou ce que jamais l'éditeur de texte vous aimez
- mettre alias cls='printf "\033c" " au bas du dossier
- enregistrer et quitter
- . ~ / .(et oui, il devrait y avoir un espace entre les deux . et~)
- vérifiez maintenant si tout a fonctionné!
Je ne m'attribue pas le mérite de cette information.
ma commande préférée est:
reset
testé sur xterm et VT100. Il aide également après une fin anormale du programme. Garde la commande buffer, donc la flèche vers le haut passera par les commandes précédentes.
cheers: d
avec KDE et Ubuntu 12,04 LTS et le terminal "Konsole", aucune des réponses affichées ne fonctionne. Cependant, appuyer sur le raccourci clavier par défaut CTRL+Shift+X fonctionne! Source:
je sais que la solution employant l'impression de nouvelles lignes n'est pas beaucoup soutenue, mais si tout le reste échoue, pourquoi pas? Surtout quand on opère dans un environnement où quelqu'un d'autre est susceptible d'être capable de voir l'écran, mais pas capable de se connecter. Une solution potentielle est donc l'alias suivant:
alias c="printf '\r\n%.0s' {1..50}"
ensuite, pour" effacer "le contenu courant de l'écran (ou plutôt, les cacher), tapez simplement c+Enter
au terminal.
compilez cette application.
#include <iostream>
#include <cstring>
int main()
{
char str[1000];
memset(str, '\n', 999);
str[999] = 0;
std::cout << str << std::endl;
return 0;
}