Je connais la clear
commande qui «efface» l'écran actuel, mais elle le fait simplement en imprimant beaucoup de nouvelles lignes - le contenu effacé est simplement défilé vers le haut.
Existe-t-il un moyen d'effacer complètement toutes les sorties précédentes du terminal afin que je ne puisse pas y accéder même en faisant défiler vers le haut?
Command+K
.Réponses:
Pour effacer le terminal manuellement:
⌘+K
Command+ Kpour les claviers plus récents
Pour effacer le terminal d'un script shell;
la source
clear
pour tous les cas, sauf lorsque vous avez besoin que l'historique de défilement disparaisse, par exemple lorsque vous allez imprimer.)clear
. Je pense cependant qu'ils devraient être inversés. Taperclear
semble plus intentionnel que frapperCommand + K
.Une meilleure façon d'effacer l'écran de l'intérieur d'un script ...
Si vous utilisez l'application OSX Terminal (comme indiqué par l'OP), une meilleure approche (grâce à https://apple.stackexchange.com/a/113168 ) est simplement la suivante:
ou plus concis (pointe du chapeau sur https://stackoverflow.com/users/4834046/qiuyi ):
qui efface le tampon de défilement ainsi que l'écran. Il existe également d'autres options, voir https://apple.stackexchange.com/a/113168 pour plus d'informations.
réponse originale
La réponse AppleScript donnée dans ce fil fonctionne, MAIS elle a l'effet secondaire désagréable d'effacer TOUTE fenêtre de terminal qui se trouve être active. C'est surprenant si vous exécutez le script dans une fenêtre et essayez de faire le travail dans une autre!
Vous évitez cela en affinant l'AppleScript pour effacer l'écran uniquement s'il est au premier plan en faisant cela (extrait de https://apple.stackexchange.com/a/31887 ):
... mais comme quand ce n'est pas la fenêtre courante, la sortie s'empilera jusqu'à ce qu'elle redevienne courante, ce qui n'est probablement pas ce que vous voulez.
la source
.bash_profile
et c'est génial car je n'obtiens plus le tampon glitch parfois lors de l'ouverture d'une nouvelle fenêtre de terminal.La jolie façon est
printf '\33c\e[3J'
la source
alias cls='printf "\33c\e[3J"'
\33c
exécute l'équivalent de laclear
commande, qui fait simplement défiler l'écran jusqu'à ce que vous ne puissiez pas voir son contenu précédent. Il efface l'écran, mais pas le tampon de défilement arrière (c'est-à-dire que vous pouvez toujours utiliser les barres de défilement pour voir l'ancienne sortie). Ajoutez le\e[3J
pour effacer le tampon de défilement.function cls { printf '\33c\e[3J\33c' }
ligne~/.profile
(ou à l'échelle du système/etc/profile
). Cela devrait fonctionner pour les environnements de bureau sous macOS, FreeBSD, Linux etc. Notez que le supplément\33c
est pour effacer le\e[3J
littéral supplémentaire dans non-macOS (essentiellement pour Linux / FreeBSD, nous avons seulement besoinprintf '\33c'
).Mettez ceci dans votre .bash_profile ou .bashrc
la source
Sur Mac OS X Terminal, cette fonctionnalité est déjà intégrée à l'application Terminal comme
View->Clear Scrollback
(la valeur par défaut est CMD+ K).Vous pouvez donc réaffecter cela à votre guise avec les raccourcis clavier d'Apple. Ajoutez simplement un nouveau raccourci pour Terminal avec la commande "Clear Scrollback". (J'utilise CMD+ L, car il est similaire à CTRL+ Lpour effacer le contenu de l'écran actuel, sans effacer le tampon.)
Je ne sais pas comment vous utiliseriez cela dans un script (peut-être AppleScript comme d'autres l'ont souligné).
la source
View->Clear Scrollback
n'est plus présent dans le menu du Terminal. Cependant, le raccourci clavierCMD
+K
fonctionne toujours.Clear Scrollback
vient de passer deView
àEdit
Yosemite.Avec Mac OS X Yosemite (10.10), utilisez
Option + Command + K
pour effacer le défilement dans Terminal.app.la source
Ou vous pouvez envoyer un saut de page (flux de formulaire ASCII) en appuyant sur:
Bien que cela ne démarre techniquement qu'une nouvelle page, cela a le même effet net que toutes les autres méthodes, tout en étant beaucoup plus rapide (sauf pour la solution Apple + K, bien sûr).
Et comme il s'agit d'une commande de contrôle ASCII, elle fonctionne dans tous les shells.
la source
Pour supprimer uniquement la dernière sortie:
⌘+L
Pour effacer complètement le terminal:
⌘+K
la source
Commande + K effacera la sortie précédente
Pour effacer le texte saisi, sautez d'abord à gauche avec " Commande + A " puis effacez le texte à droite du pointeur avec " Contrôle + K" ".
Exemples visuels:
la source
efface tout, fonctionne bien sur osX également. très propre
la source
Faites la bonne chose, faites la bonne chose!
Effacer la marque précédente:
Command-L
Effacer le signet précédent:
Option-Command-L
Clair pour commencer:
Command-K
Aidez vos gars!
la source
Je n'ai pu faire fonctionner aucun des éléments ci-dessus (sur macOS).
Une combinaison a fonctionné pour moi -
Cela efface le tampon et l'écran
la source
IO.write
. Cela devrait fonctionner de la même manière, mais vous décidez d'imprimer ces caractères sur le terminal.Taper ce qui suit dans le terminal effacera votre historique (ce qui signifie que l'utilisation de la flèche vers le haut ne vous apportera rien) - mais n'effacera pas l'écran:
la source
Essayez ceci, si vous êtes submergé par la sortie si vous voulez un filtre
Activité de adb -d shell dumpsys | grep ActivityRecord
la source
CMD + K semble fonctionner tout le temps pour moi.
la source