Lavorare con i calendari su Linux

I sistemi Linux possono fornire più aiuto con il tuo programma piuttosto che ricordarti che giorno è oggi. Hai molte opzioni per visualizzare i calendari - alcuni che potrebbero rivelarsi utili e altri che potrebbero solo farti impazzire.

Data

Per cominciare, probabilmente sai che puoi mostrare la data corrente con il Data comando.

$ date lun 26 mar 08:01:41 EDT 2018 

cal e ncal

Puoi mostrare l'intero mese con il cal comando. Senza argomenti, cal visualizza il mese corrente e, per impostazione predefinita, evidenzia il giorno corrente invertendo i colori di primo piano e di sfondo.

$ cal Marzo 2018 Su Lu Ma Me Gi Ve Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 
Leggi anche: 5 migliori distribuzioni di server Linux per le aziende | Iscriviti: ricevi aggiornamenti giornalieri da Network World

Se si desidera visualizzare il mese corrente in un formato "laterale", è possibile utilizzare il NCAL comando.

$ ncal Marzo 2018 Su 4 11 18 25 Lu 5 12 19 26 Lu 6 13 20 27 We 7 14 21 28 Gio 1 8 15 22 29 Ve 2 9 16 23 30 Sa 3 10 17 24 31 

Questo comando può essere particolarmente utile se, ad esempio, vuoi solo vedere le date per un determinato giorno della settimana.

$ ncal | grep gio gio 1 8 15 22 29 

Il comando ncal può anche visualizzare l'intero anno nel formato "lateralmente". Fornisci solo l'anno insieme al comando.

$ ncal 2018 2018 gennaio febbraio marzo aprile Su 7 14 21 28 4 11 18 25 4 11 18 25 1 8 15 22 29 Mo 1 8 15 22 29 5 12 19 26 5 12 19 26 2 9 16 23 30 Tu 2 9 16 23 30 6 13 20 27 6 13 20 27 3 10 17 24 We 3 10 17 24 31 7 14 21 28 7 14 21 28 4 11 18 25 Th 4 11 18 25 1 8 15 22 1 8 15 22 29 5 12 19 26 Fr 5 12 19 26 2 9 16 23 2 9 16 23 30 6 13 20 27 Sa 6 13 20 27 3 10 17 24 3 10 17 24 31 7 14 21 28… 

Puoi anche visualizzare l'intero anno con cal. Ricorda solo che hai bisogno di tutte e quattro le cifre per l'anno. Se digiti "cal 18", otterrai un anno solare per il 18 d.C., non per il 2018.

$ cal 2018 2018 gennaio febbraio marzo Su Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa 1 2 3 4 5 6 1 2 3 1 2 3 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 Aprile Maggio Giugno Su Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa 2 2 3 4 5 6 7 1 2 3 4 5 1 2 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9 15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16 22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23 29 30 27 28 29 30 31 24 25 26 27 28 29 30 Luglio Agosto Settembre Su Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa 1 2 3 4 5 6 7 1 2 3 4 1 8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8 15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15 22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22 29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29 30 ottobre novembre dicembre Su Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa Do Lu Ma Me Gi Ve Sa 1 2 3 4 5 6 1 2 3 1 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 21 22 23 23 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 30 31 

Per un determinato anno e mese, usa l'opzione -d per vincere un comando come questo.

$ cal -d 1949-03 marzo 1949 Su Lu Ma Me Gi Ve Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 

Un'altra opzione di calendario potenzialmente utile è la cal opzione -j del comando. Diamo un'occhiata a ciò che ti mostra.

$ cal -j marzo 2018 Su Lu Ma Me Gi Ve Sa 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 

"Che cosa???" potresti chiedere. OK, quell'opzione -j mostra le date giuliane - il giorno numerico dell'anno che va da 1 a 365 quasi tutti gli anni. Quindi, 1 è il 1 ° gennaio e 32 è il 1 ° febbraio. Il comando cal -j 2018 ti mostrerà tutto l'anno, finendo così:

$ cal -j 2018 | coda -9 novembre dicembre gio lun mar gio ven gio lun mar gio ven mar 305 306 307 335 308 309 310 311 312 313 314 336 337 338 339 340 341 342 315 316 316 317 318 319 320 321 343 344 345 345 346 347 348 349 322 323 324 325 326 327 328 350 350 351 352 353 354 355 356 329 330 331 332 333 334 357 357 358 359 360 361 362 363 364 365 

Questo tipo di display potrebbe aiutarti a ricordare quanti giorni sono trascorsi da quando hai preso la risoluzione di Capodanno a cui non hai ancora agito.

Esegui un comando simile per il 2020 e noterai che è un anno bisestile.

$ cal -j 2020 | coda -9 novembre dicembre gio lun mar gio ven gio lun mar gio ven mar 306 307 308 309 310 311 312 336 337 338 339 340 313 314 315 316 317 318 319 341 342 343 343 344 345 346 347 320 321 322 323 325 326 348 349 350 351 352 353 354 327 328 329 330 330 331 332 333 355 356 357 358 359 360 361 334 335 362 363 364 365 366 

calendario

Un altro comando interessante e potenzialmente travolgente può informarti sulle vacanze. Questo comando ha molte opzioni, ma diciamo solo che ti piacerebbe vedere un elenco delle festività imminenti e dei giorni degni di nota. Il calendario -l L'opzione ti consente di selezionare quanti giorni vuoi vedere oltre oggi, quindi 0 significa "solo oggi".

$ calendar -l 0 marzo 26 Benjamin Thompson nato, 1753, conte Rumford; il fisico David Packard è morto il 26 marzo 1996; di 83 anni 26 marzo Statua di Popeye svelata, Crystal City TX Festival degli spinaci, 1937 26 marzo Festa dell'indipendenza in Bangladesh 26 marzo Principe Jonah Kuhio Kalanianaole Giorno alle Hawaii 26 marzo * Giorno di Seward in Alaska (ultimo lunedì) 26 marzo Emerson, Lago e Palmer registrare "Pictures at an Exhibition" in diretta, il 26 marzo 1971 Ludwig van Beethoven muore a Vienna, in Austria, il 26 marzo 1827 Bonne fête aux Lara! 26 mar Aujourd'hui, c'est la St (e) Ludger. 26 mar N'oubliez pas les Larissa! 26 marzo Ludwig van Beethoven a Vienna gestorben, 1827 marzo 26 Emánuel 

Per la maggior parte di noi, è un po 'più celebrante di quello che possiamo gestire in un solo giorno. Se vedi qualcosa del genere, puoi dare la colpa al tuo calendar.all file che indica al sistema quali calendari internazionali desideri includere. Ovviamente puoi abbattere questo rimuovendo alcune delle righe in questo file che includono altri file. Le linee sono simili a queste:

#include #include #include #include #include #include  

Supponiamo di ridurre il nostro display ai calendari mondiali solo rimuovendo tutti tranne la prima riga #include mostrata sopra. Vedremmo quindi questo:

$ calendar -l 0 marzo 26 Benjamin Thompson nato, 1753, conte Rumford; il fisico David Packard è morto il 26 marzo 1996; di 83 anni 26 marzo Statua del Popeye svelata, Crystal City TX Festival degli spinaci, 1937 26 marzo Festa dell'indipendenza in Bangladesh 26 marzo Principe Jonah Kuhio Kalanianaole Giorno alle Hawaii 26 marzo * Giorno di Seward in Alaska (ultimo lunedì) 26 marzo Emerson, Lago e Palmer registrare "Pictures at an Exhibition" live, 1971, 26 marzo 1971 Ludwig van Beethoven muore a Vienna, Austria, 1827 

Chiaramente, i giorni speciali del calendario mondiale sono piuttosto numerosi. Un display come questo potrebbe, tuttavia, impedirti di dimenticare l'importantissima giornata di inaugurazione della statua di Popeye e il suo ruolo nell'osservazione della "capitale mondiale degli spinaci".

Una scelta di calendario più utile potrebbe essere quella di mettere i calendari relativi al lavoro in un file speciale e utilizzare quel calendario nel file calendar.all per determinare quali eventi verranno visualizzati quando si esegue il comando.

$ cat /usr/share/calendar/calendar.all / * * File di calendario internazionali e nazionali * * Questo è il file principale del calendario. Nella configurazione standard, è * incluso da / etc / calendar / default, quindi è possibile apportare eventuali modifiche a livello di sistema * che verranno mantenute durante l'aggiornamento. Se vuoi * modificare questo file, copialo in /etc/calendar/calendar.all e * modificalo lì. * * / #ifndef _calendar_all_ #define _calendar_all_ #include #include  <== #endif /* !_calendar_all_ */ 

Il formato per i file del calendario è molto semplice: mm / gg per la data, una scheda e la descrizione dell'evento.

$ cat calendar.work 26/03 Descrivi come funzionano i comandi cal e calendar 27/03/03 Organizza una festa! 

note e nostalgia

Si noti che il comando calendar potrebbe non essere disponibile per tutte le distribuzioni Linux. Potresti dover ricordare la statua di Popeye che svela il giorno da solo.

E nel caso ti stia chiedendo, puoi visualizzare un calendario molto più avanti dell'anno 9999, anche per il profetico 2525.

Unisciti alle community di Network World su Facebook e LinkedIn per commentare argomenti che sono importanti.