Ils disent qu'une image vaut mille mots, c'est pourquoi avant de vous expliquer quelque chose, je vais vous montrer quel est le résultat de la commande que je mettrai plus tard:
Remarquez comment, dans le coin supérieur droit, nous voyons le jour de la semaine (dimanche, dimanche), le mois (décembre), le jour (22) ainsi que l'heure, la minute, la seconde et l'année.
C'est quelque chose qui est mis à jour en temps réel, c'est-à-dire chaque seconde que les informations sont mises à jour, et ce sera toujours dans le coin supérieur droit du terminal.
C'est quelque chose d'utile car, nous pouvons éditer un fichier avec nano ou vi, nous pouvons installer n'importe quel type de service ou gérer quoi que ce soit, et nous n'aurons pas besoin d'arrêter ce que nous faisons, d'exécuter la date dans le terminal pour connaître le date ou heure, avec cette astuce que je vous montre, nous la garderons toujours à l'esprit.
Pour y parvenir dans un terminal, mettons ce qui suit:
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &
Ceci en tant que tel n'est pas une simple commande ou instruction, mais plutôt une union entre eux ... allez, un script pourrait aussi l'être. L'expliquer est un peu complexe, mais je ferai de mon mieux 🙂
- pendant le sommeil 1; faire : Cela signifie que toutes les secondes ce qui suit sera exécuté
- tput sc : Cela signifie que la position actuelle sera enregistrée, c'est-à-dire que la position de ce qui suivra sera enregistrée, il ne sera pas nécessaire de la spécifier après une fois.
- tasse tput 0$ (($ (tput cols) -29)) : Cela peut sembler compliqué cependant, ce n'est pas si difficile. En gros, c'est ce que dit la position, c'est-à-dire le coin supérieur droit. Le paramètre cup spécifie l'espace vertical qui existera, puisque nous mettons 0 donc cela signifie "juste au-dessus, en haut". Une fois la position verticale définie, nous pouvons voir la position horizontale, qui est prise en charge par le reste des paramètres, ce qui pour le dire simplement… il calcule les colonnes existantes et s'assure qu'elle est juste sur le bord droit. Si vous le souhaitez, changez le nombre 29 pour les autres et vous remarquerez la différence.
- données : Eh bien c'est simple, la date nous montre les informations que nous voyons ... jour, mois, heure, etc.
- tput rc : Ils sont tput sc on sauvegarde la position, maintenant avec tput rc on la restaure.
- fait : Ici, nous finissons tout, ce que nous avons commencé avec le temps.
Comme vous pouvez le voir, le terminal est sans aucun doute un espace merveilleux, si une commande ne fait pas exactement ce que nous voulons ... nous pouvons en rejoindre plusieurs et réaliser ce que nous voulons. Voir chaque commande comme un outil, un outil (marteau) ne peut pas faire de nous une belle statue, cependant, en joignant cet outil (marteau) avec d'autres (bois et ciseau), nous pouvons atteindre le résultat du rêve 🙂
Oh, au fait ... si vous voulez que cela apparaisse toujours dans le terminal sans avoir à l'exécuter à chaque fois que vous ouvrez une console, vous devez le mettre dans .bashrc, c'est-à-dire:
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
Puis si vous voulez le supprimer, exécutez ce qui suit:
sed -i "s/while sleep 1/#while sleep 1/" $HOME/.bashrc
Eh bien rien d'autre à ajouter, j'espère que cela a été utile
salutations
STRONG
echo "while sleep 1; do tput sc; tput cup 0 \ $ ((\ $ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc
Merci mais ça ne marche pas pour moi ... Ni à Konsole ni à Yakuake, j'ai tout fait comme dans le post. 🙁
Désolé ... c'était de ma faute ... maintenant que j'ai redémarré ça marche !!!
C'était étrange pour moi que cela ne fonctionne pas, car while… date et tput sont des commandes du paquet Bash 😀
Je ne sais pas ... quelque chose d'étrange est arrivé ... mettez dans un terminal:
echo "while sleep 1; do tput sc; tput cup 0 $ (($ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc
Et le résultat était:
bash: /home/ghermain/.bashrc: ligne 115: erreur syntaxique près de l'élément `do 'inattendu
bash: /home/ghermain/.bashrc: ligne 115: `PS1 = '$ {debian_chroot: + ($ debian_chroot)} [33 [01; 34m] u [33 [01; 32m] @ [33 [01; 32m] h [33 [00m]: [33 [01; 34m] w [33 [00m] $ 'pendant le sommeil 1; do tput sc; tput cup 0 64; date; tput rc; done &'
Ensuite, j'ai directement copié les commandes que vous donnez dans le .bashrc à la fin et j'obtiens plusieurs lignes avec la date et l'heure.
Supprimez toutes les lignes que vous avez mises dans le fichier .bashrc à la date et remettez manuellement la ligne sans utiliser l'écho que si cela ne donne pas d'erreur
Très interessant!
Merci d'avoir lu 🙂
Cela fait longtemps que je cherche des moyens de "décorer" le terminal efficace mais cool, et cette commande est très bonne, pas aussi baroque que d'autres solutions, mais quand j'entre une longue commande, il y a une certaine confusion. La commande mange la date, puis la date semble manger la commande. Quelqu'un sait-il s'il est possible que l'invite apparaisse une ligne plus bas par défaut?
Bref, merci!
Excellent conseil?
Merci mon frère 😀
Merci pour l'ami de pointe, cela fonctionne correctement. Cordialement.
Merci à vous de nous lire 🙂
Génial 😀
Ou vous pouvez créer un alias et l'utiliser en cas de besoin 😀
Intéressant, je l'essayerai plus tard
Très bon
Pourriez-vous faire un article expliquant comment installer zsh dans Debian / Ubuntu / Mint / Elementary et comment configurer les thèmes?
Uff, je n'ai jamais utilisé zsh, désolé 🙁
KZKG ^ Gaara lorsque vous exécutez la commande, cela donne une erreur car je suppose qu'il essaie de reconnaître les $ qui n'ont pas de valeur, de sorte qu'il ne les interprète pas, en mettant \ them fixes.
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
Je suppose que de cette façon, il n'y aura pas de problème, rectifiez-le avant de donner une erreur à quelqu'un. Bon message, je vais l'utiliser. Cordialement.
Uff droit, mon erreur 😀
Je l'ai déjà corrigé dans le post, merci beaucoup pour la correction 🙂
Je l'ai modifié et laissé comme ça
while sleep 1; do tput sc; tput cup 0 $ (($ (tput cols) -16)); date + »% R% d /% m /% Y»; tput rc; done &
Il n'affiche que les heures: minutes Date au format JJ / MM / AAAA
Excellent ami j'ai travaillé 100 merci