Linux命令行上如何使用日歷詳解
前言
通過(guò) Linux 上的日歷,不僅僅可以提醒你今天是星期幾。諸如 date、cal、 ncal 和 calendar 等命令可以提供很多有用信息。
Linux 系統(tǒng)可以為你的日程安排提供更多幫助,而不僅僅是提醒你今天是星期幾。日歷顯示有很多選項(xiàng) —— 有些可能很有幫助,有些可能會(huì)讓你大開(kāi)眼界。
日期
首先,你可能知道可以使用 date 命令顯示當(dāng)前日期。
$ date Mon Mar 26 08:01:41 EDT 2018
cal 和 ncal
你可以使用 cal 命令顯示整個(gè)月份。沒(méi)有參數(shù)時(shí),cal 顯示當(dāng)前月份,默認(rèn)情況下,通過(guò)反轉(zhuǎn)前景色和背景顏色來(lái)突出顯示當(dāng)天。
$ 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
如果你想以“橫向”格式顯示當(dāng)前月份,則可以使用 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
例如,如果你只想查看特定周幾的日期,這個(gè)命令可能特別有用。
$ 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 命令顯示一整年。請(qǐng)記住,你需要輸入年份的四位數(shù)字。如果你輸入 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 選項(xiàng),如下所示:
$ 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
另一個(gè)可能有用的日歷選項(xiàng)是 cal 命令的 -j 選項(xiàng)。讓我們來(lái)看看它顯示的是什么。
$ 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
你可能會(huì)問(wèn):“什么鬼???” OK, -j 選項(xiàng)顯示 Julian 日期 -- 一年中從 1 到 365 年的數(shù)字日期。所以,1 是 1 月 1 日,32 是 2 月 1 日。命令 cal -j 2018 將顯示一整年的數(shù)字,像這樣:
$ 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
這種顯示可能有助于提醒你,自從你做了新年計(jì)劃之后,你已經(jīng)有多少天沒(méi)有采取行動(dòng)了。
運(yùn)行類(lèi)似的命令,對(duì)于 2020 年,你會(huì)注意到這是一個(gè)閏年:
$ 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
另一個(gè)有趣但潛在的令人沮喪的命令可以告訴你關(guān)于假期的事情,這個(gè)命令有很多選項(xiàng),但我們這里介紹下你想看到即將到來(lái)的假期和值得注意的日歷列表。日歷的 -l 選項(xiàng)允許你選擇今天想要查看的天數(shù),因此 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
對(duì)于我們大多數(shù)人來(lái)說(shuō),這慶祝活動(dòng)有點(diǎn)多。如果你看到類(lèi)似這樣的內(nèi)容,可以將其歸咎于你的 calendar.all 文件,該文件告訴系統(tǒng)你希望包含哪些國(guó)際日歷。當(dāng)然,你可以通過(guò)刪除此文件中包含其他文件的一些行來(lái)削減此問(wèn)題。文件看起來(lái)像這樣:
#include <calendar.world> #include <calendar.argentina> #include <calendar.australia> #include <calendar.belgium> #include <calendar.birthday> #include <calendar.christian> #include <calendar.computer>
假設(shè)我們只通過(guò)移除除上面顯示的第一個(gè) #include 行之外的所有行,將我們的顯示切換到世界日歷。 我們會(huì)看到這個(gè):
$ 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
顯然,世界日歷的特殊日子非常多。但是,像這樣的展示可以讓你不要忘記所有重要的“大力水手雕像”揭幕日以及在慶?!笆澜绮げ酥肌敝兴缪莸慕巧?。
更有用的日歷選擇可能是將與工作相關(guān)的日歷放入特殊文件中,并在 calendar.all 文件中使用該日歷來(lái)確定在運(yùn)行命令時(shí)將看到哪些事件。
$ 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_ */
日歷文件的格式非常簡(jiǎn)單 - mm/dd 格式日期,空格和事件描述。
$ cat calendar.work 03/26 Describe how the cal and calendar commands work 03/27 Throw a party!
注意事項(xiàng)和懷舊
注意,有關(guān)日歷的命令可能不適用于所有 Linux 發(fā)行版,你可能必須記住自己的“大力水手”雕像。
如果你想知道,你可以顯示一個(gè)日歷,遠(yuǎn)至 9999 —— 即使是預(yù)言性的 2525。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Windows系統(tǒng)下Apache服務(wù)器無(wú)法啟動(dòng)的問(wèn)題解決
這篇文章主要介紹了Windows系統(tǒng)下Apache服務(wù)器無(wú)法啟動(dòng)的問(wèn)題解決,大多數(shù)情況下還是端口被占用的問(wèn)題,需要的朋友可以參考下2015-07-07linux nand flash驅(qū)動(dòng)編寫(xiě)
這篇文章主要介紹了linux nand flash驅(qū)動(dòng)編寫(xiě),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04詳解阿里云Linux啟動(dòng)tomcat并能外網(wǎng)訪問(wèn)
本篇文章主要介紹了詳解阿里云Linux啟動(dòng)tomcat并能外網(wǎng)訪問(wèn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03CenterOS 中安裝Redis及開(kāi)機(jī)啟動(dòng)設(shè)置詳解
這篇文章主要介紹了CenterOS 中安裝Redis及開(kāi)機(jī)啟動(dòng)設(shè)置詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12Linux虛擬機(jī)修改ip地址,查看網(wǎng)關(guān),網(wǎng)絡(luò)環(huán)境配置的教程
這篇文章主要介紹了Linux虛擬機(jī)修改ip地址,查看網(wǎng)關(guān),網(wǎng)絡(luò)環(huán)境配置的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Linux解決Unknown filesystem問(wèn)題
當(dāng)Linux系統(tǒng)出現(xiàn)「Unknown filesystem」錯(cuò)誤,通常是GRUB引導(dǎo)問(wèn)題,首先在GRUB命令行輸入ls查看信息,記錄返回的分區(qū)信息,使用PE系統(tǒng),如「微PE」,并利用「顯示隱藏分區(qū)」工具查看所有分區(qū),在文件資源管理器中找到「boot」文件夾所在的分區(qū)2024-10-10Linux centos7環(huán)境下tomcat安裝教程
這篇文章主要為大家詳細(xì)介紹了Linux centos7環(huán)境下tomcat的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03