Existe-t-il une commande pour afficher un calendrier dans le terminal?

27

Lorsque vous travaillez dans le terminal, il n'est pas commode de remonter dans la barre d'état système pour afficher le calendrier actuel. Existe-t-il une commande qui affichera un calendrier à partir du terminal?

WinEunuuchs2Unix
la source
2
aproposet mansont vos amis. En cas de doute, courez apropos calendaret voyez
phuclv
1
Huh, je ne savais pas aproposjusqu'à présent, +1
kalenpw

Réponses:

40

cal commande de calendrier pour le terminal

Vous pouvez utiliser la calcommande pour afficher un calendrier au format julien ou grégorien. Le format dépend de vos paramètres régionaux mais peut être basculé avec des paramètres.

Comme l'écran ci-dessous montre le calendrier par défaut est le mois en cours. Vous pouvez utiliser le paramètre -A 2pour afficher les deux prochains mois ou 2018pour afficher tous les mois de cette année:

cal

WinEunuuchs2Unix
la source
2
Vous pouvez également afficher un mois spécifique avec, par exemple cal 6 2017.
Michael Hampton
1
Méfiez cal-vous de l'interprétation un peu simple de ses arguments. cal 6 17affichera le calendrier pour juin de l'année 17 (c.-à-d., il y a 2000 ans), et cal 6affichera le calendrier pour l'année 6.
G-Man dit 'Reinstate Monica'
1
@ G-Man calest super sophistiqué. Par exemple, au Canada, en Amérique ou au Royaume-Uni cal 9 1752, vous verrez que septembre 1752 manque les dix jours annulés par le pape Grégoire XIII pour le monde catholique occidental en octobre 1582 . Les gens en Italie et peut-être en Allemagne et en Suède utilisant cal 10 1582verront que le calendrier manque les dix jours. calfonctionne jusqu'à l'année 9 999 et j'ai testé février 2100 n'est pas un mois bissextile et février 2400 est un mois bissextile, il semble donc à l'épreuve du temps car il est historiquement exact.
WinEunuuchs2Unix
On dirait que -Ac'est déprécié? Dans calde util-linux 2.32cette option ne figure pas dans le manuel. Vous pouvez plutôt utiliser cal -3pour afficher trois mois (un avant, actuel, un après).
Mike Pierce
@MikePierce J'ai testé dans Ubuntu 18.04. cal -3affiche un mois avant, en cours et un mois après. Cependant, vous pouvez toujours utiliser cal -A3 -B2pour afficher 2 mois avant, le mois en cours et 3 mois après.
WinEunuuchs2Unix
13

Une alternative est ncal - cela affiche le calendrier dans un format vertical, c'est-à-dire:

    March 2017
Su     5 12 19 26
Mo     6 13 20 27
Tu     7 14 21 28
We  1  8 15 22 29
Th  2  9 16 23 30
Fr  3 10 17 24 31
Sa  4 11 18 25

C'est un peu plus difficile à lire, mais a soi-disant l'avantage que le calendrier de l'année entière, en mettant quatre mois dans chaque rangée, tient dans un terminal de taille standard. En fait, il n'a pas, vous devez supprimer les lignes vides de la sortie pour qu'il convient en 24 lignes: ncal 2017 | grep -v '^$'. La version originale de ncal n'avait pas ces lignes vierges. Dans tous les cas, cela prend moins d'espace vertical que la sortie de calendrier traditionnelle - 26 × 76, contre 35 × 66 pour cal.

Aléatoire832
la source
2

utilisez la calcommande pour le calendrier par défaut. vous pouvez également installer le jcalpackage pour le calendrier jalali.

entrez la description de l'image ici

Mehdico
la source
1
+1 pour votre cool $PSqui montre le répertoire actuel en arrière-plan. Avez-vous un lien pour le faire?
WinEunuuchs2Unix
@ WinEunuuchs2Unix Merci! vous pouvez suivre les instructions de cet essentiel: gist.github.com/renshuki/3cf3de6e7f00fa7e744a
Mehdico
1

Calendriers programmables

Bien qu'il s'agisse de calendriers GUI, vous pouvez toujours les appeler depuis le terminal. Ils vous permettent de naviguer à travers les mois et les années. Ils sont conçus pour être appelés à partir de vos scripts Bash, mais comme toutes les commandes Bash, vous pouvez également les appeler à partir du terminal.

YAD (Encore un autre dialogue) fourche suralimentée de Zenity

calendrier yad

Zenity Fourche GUI de texte dialog

calendrier zenity

Ne vous inquiétez pas du message d'avertissement Gtk. Vous voyez cela beaucoup lorsque vous exécutez des programmes GUI à partir du terminal. par exemple. geditet nautilusafficher des avertissements similaires.

WinEunuuchs2Unix
la source