在 Linux 命令列上使用日曆
透過 Linux 上的日曆,不僅僅可以提醒你今天是星期幾。諸如 date、cal、 ncal 和 calendar 等命令可以提供很多有用資訊。
Linux 系統可以為你的日程安排提供更多幫助,而不僅僅是提醒你今天是星期幾。日曆顯示有很多選項 —— 有些可能很有幫助,有些可能會讓你大開眼界。
日期
首先,你可能知道可以使用 date
命令顯示當前日期。
$ date
Mon Mar 26 08:01:41 EDT 2018
cal 和 ncal
你可以使用 cal
命令顯示整個月份。沒有引數時,cal
顯示當前月份,預設情況下,透過反轉前景色和背景顏色來突出顯示當天。
$ cal
March 2018
Su Mo Tu We Th Fr 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
如果你想以“橫向”格式顯示當前月份,則可以使用 ncal
命令。
$ ncal
March 2018
Su 4 11 18 25
Mo 5 12 19 26
Tu 6 13 20 27
We 7 14 21 28
Th 1 8 15 22 29
Fr 2 9 16 23 30
Sa 3 10 17 24 31
例如,如果你只想檢視特定周幾的日期,這個命令可能特別有用。
$ ncal | grep Th
Th 1 8 15 22 29
ncal
命令還可以以“橫向”格式顯示一整年,只需在命令後提供年份。
$ ncal 2018
2018
January February March April
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
...
你也可以使用 cal
命令顯示一整年。請記住,你需要輸入年份的四位數字。如果你輸入 cal 18
,你將獲得公元 18 年的歷年,而不是 2018 年。
$ cal 2018
2018
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr 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
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 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
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr 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
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr 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 24 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
要指定年份和月份,使用 -d
選項,如下所示:
$ cal -d 1949-03
March 1949
Su Mo Tu We Th Fr 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
另一個可能有用的日曆選項是 cal
命令的 -j
選項。讓我們來看看它顯示的是什麼。
$ cal -j
March 2018
Su Mo Tu We Th Fr 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
你可能會問:“什麼鬼???” OK, -j
選項顯示 Julian 日期 -- 一年中從 1 到 365 年的數字日期。所以,1 是 1 月 1 日,32 是 2 月 1 日。命令 cal -j 2018
將顯示一整年的數字,像這樣:
$ cal -j 2018 | tail -9
November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
305 306 307 335
308 309 310 311 312 313 314 336 337 338 339 340 341 342
315 316 317 318 319 320 321 343 344 345 346 347 348 349
322 323 324 325 326 327 328 350 351 352 353 354 355 356
329 330 331 332 333 334 357 358 359 360 361 362 363
364 365
這種顯示可能有助於提醒你,自從你做了新年計劃之後,你已經有多少天沒有采取行動了。
執行類似的命令,對於 2020 年,你會注意到這是一個閏年:
$ cal -j 2020 | tail -9
November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
306 307 308 309 310 311 312 336 337 338 339 340
313 314 315 316 317 318 319 341 342 343 344 345 346 347
320 321 322 323 324 325 326 348 349 350 351 352 353 354
327 328 329 330 331 332 333 355 356 357 358 359 360 361
334 335 362 363 364 365 366
calendar
另一個有趣但潛在的令人沮喪的命令可以告訴你關於假期的事情,這個命令有很多選項,但我們這裡介紹下你想看到即將到來的假期和值得注意的日曆列表。日曆的 -l
選項允許你選擇今天想要檢視的天數,因此 0
表示“僅限今天”。
$ calendar -l 0
Mar 26 Benjamin Thompson born, 1753, Count Rumford; physicist
Mar 26 David Packard died, 1996; age of 83
Mar 26 Popeye statue unveiled, Crystal City TX Spinach Festival, 1937
Mar 26 Independence Day in Bangladesh
Mar 26 Prince Jonah Kuhio Kalanianaole Day in Hawaii
Mar 26* Seward's Day in Alaska (last Monday)
Mar 26 Emerson, Lake, and Palmer record "Pictures at an Exhibition" live, 1971
Mar 26 Ludwig van Beethoven dies in Vienna, Austria, 1827
Mar 26 Bonne fête aux Lara !
Mar 26 Aujourd'hui, c'est la St(e) Ludger.
Mar 26 N'oubliez pas les Larissa !
Mar 26 Ludwig van Beethoven in Wien gestorben, 1827
Mar 26 Emánuel
對於我們大多數人來說,這慶祝活動有點多。如果你看到類似這樣的內容,可以將其歸咎於你的 calendar.all
檔案,該檔案告訴系統你希望包含哪些國際日曆。當然,你可以透過刪除此檔案中包含其他檔案的一些行來削減此問題。檔案看起來像這樣:
#include <calendar.world>
#include <calendar.argentina>
#include <calendar.australia>
#include <calendar.belgium>
#include <calendar.birthday>
#include <calendar.christian>
#include <calendar.computer>
假設我們只透過移除除上面顯示的第一個 #include
行之外的所有行,將我們的顯示切換到世界日曆。 我們會看到這個:
$ calendar -l 0
Mar 26 Benjamin Thompson born, 1753, Count Rumford; physicist
Mar 26 David Packard died, 1996; age of 83
Mar 26 Popeye statue unveiled, Crystal City TX Spinach Festival, 1937
Mar 26 Independence Day in Bangladesh
Mar 26 Prince Jonah Kuhio Kalanianaole Day in Hawaii
Mar 26* Seward's Day in Alaska (last Monday)
Mar 26 Emerson, Lake, and Palmer record "Pictures at an Exhibition" live, 1971
Mar 26 Ludwig van Beethoven dies in Vienna, Austria, 1827
顯然,世界日曆的特殊日子非常多。但是,像這樣的展示可以讓你不要忘記所有重要的“大力水手雕像”揭幕日以及在慶祝“世界菠菜之都”中它所扮演的角色。
更有用的日曆選擇可能是將與工作相關的日曆放入特殊檔案中,並在 calendar.all
檔案中使用該日曆來確定在執行命令時將看到哪些事件。
$ cat /usr/share/calendar/calendar.all
/*
* International and national calendar files
*
* This is the calendar master file. In the standard setup, it is
* included by /etc/calendar/default, so you can make any system-wide
* changes there and they will be kept when you upgrade. If you want
* to edit this file, copy it into /etc/calendar/calendar.all and
* edit it there.
*
*/
#ifndef _calendar_all_
#define _calendar_all_
#include <calendar.usholiday>
#include <calendar.work> <==
#endif /* !_calendar_all_ */
日曆檔案的格式非常簡單 - mm/dd
格式日期,空格和事件描述。
$ cat calendar.work
03/26 Describe how the cal and calendar commands work
03/27 Throw a party!
注意事項和懷舊
注意,有關日曆的命令可能不適用於所有 Linux 發行版,你可能必須記住自己的“大力水手”雕像。
如果你想知道,你可以顯示一個日曆,遠至 9999 —— 即使是預言性的 2525。
在 Facebook 和 LinkedIn 上加入網路社群,對那些重要的話題發表評論。
via: https://www.networkworld.com/article/3265752/linux/working-with-calendars-on-linux.html
作者:Sandra Henry-Stocker 選題:lujun9972 譯者:MjSeven 校對:wxy
相關文章
- 在 Linux 命令列上擁有一頭奶牛Linux命令列
- 在 Linux 命令列中規劃你的假期日曆Linux命令列
- 在命令列上輸出進度條的原理命令列
- 在Linux中,如何使用logrotate命令管理日誌檔案?Linuxlogrotate
- Cygwin,在windows中使用linux命令WindowsLinux
- 在 Linux中find命令使用技巧Linux
- 在 Linux 命令列下使用“原力”Linux命令列
- 日曆2021年日曆表|2021年日曆表列印版 Excel版Excel
- 在 Linux 命令列中使用 tcpdump 抓包Linux命令列TCP
- 在 Linux 中使用 top 命令的建議Linux
- 在Linux中如何使用at命令安排任務Linux
- C日曆
- 日曆表
- win10 如何桌面顯示日曆 win10怎麼在電腦桌面顯示日曆Win10
- win10在日曆裡顯示天氣和農曆的方法_win10怎麼讓日曆磁貼顯示農曆和天氣Win10
- linux命令大全-linux命令使用和管理Linux
- 日曆外掛
- 日曆計算
- 使用APICloud AVM框架封裝app日曆元件APICloud框架封裝APP元件
- 在 Linux 命令列中使用 nudoku 解決謎題Linux命令列
- 使用 Calcurse 在 Linux 命令列中組織任務Linux命令列
- 在Linux中使用mmv命令批量修改檔名稱Linux
- 使用 xclip 在 Linux 命令列中複製貼上Linux命令列
- 在 Linux 中使用ImageMagick命令列操作影像檔案Linux命令列
- vue之實現日曆----顯示農曆,滾動日曆監聽年月改變Vue
- win10 日曆怎麼顯示農曆_win10日曆不顯示農曆怎麼辦Win10
- js手寫日曆JS
- 學習日曆-初始
- 在 Linux 中不使用 useradd 命令如何建立使用者賬號Linux
- 使用RecycleView實現無限滾動的日曆View
- 使用 Vim 傳送郵件和檢查日曆
- 在 Linux 命令列中使用 ls 列出檔案的技巧Linux命令列
- Outlook for Mac Beta現在支援共享日曆和.ics檔案Mac
- linux命令大全-linux命令使用和管理視訊教程Linux
- 使用 khal 和 vdirsyncer 組織和同步你的日曆
- 【Android】EventReminder使用教程(日曆事件匯出封裝庫)AndroidREM事件封裝
- [轉載] Python日曆模組| 使用示例的weekday()方法Python
- Linux grep命令的使用Linux