`

我使用过的Linux命令之cal - 显示日历

阅读更多

我使用过的Linux命令之cal - 显示日历

本文链接:http://codingstandards.iteye.com/blog/807962   (转载请注明出处)

 

用途说明

  cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。我国从辛亥革命后即自民国元年采用阳历,故又名曰“国历”。为与我国旧有之历相对称,故又名曰“新历”。1949年正式规定公元纪年。

  公历的前身是古罗马凯撒修订的儒略历。根据儒略历的规定,每4年有1个闰年,闰年为366日,其余3年(称为平年)各有365日。公元年数能被4除得尽的是闰年。儒略历1年平均长365.25 日,比实际公转周期的365.2422日长11分14秒,即每400年约长3日。这样到公元16世纪时已经积累了有10天误差。可以明显感觉到两至两分提前了。在此情况下,教皇格列高里十三世于1582年宣布改历。先是一步到位把儒略历1582年10月4日的下一天定为格列历10月15日,中间跳过10 天。同时修改了儒略历置闰法则。除了保留儒略历年数被4除尽的是闰年外。增加了被100除得尽而被400除不尽的则不是闰年的规定。这样的做法可在400 年中减少3个闰年。在格列高里历历法里,400年中有97个闰年(每年366日)及303个平年(每年365日),所以每年平均长365.2425日,与公转周期的365.2422日十分接近。可基本保证到公元5000年前误差不超过1天。

常用参数

cal命令不带参数只显示当前月份的日历。

-1      显示一个月的月历(Display single month output. This is the default.)
-3      显示系统前一个月,当前月,下一个月的月历(Display prev/current/next month output.)
-s       显示星期天为一个星期的第一天,默认的格式(Display Sunday as the first day of the week. This is the default.)
-m     显示星期一为一个星期的第一天(Display Monday as the first day of the week.)
-j       显示儒略日(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)(Display Julian dates (days one-based, numbered from January 1).)
-y      显示当前年份的日历(Display a calendar for the current year.)

使用示例

示例一 显示当前月份的日历

请见谅,JavaEye显示的比较乱,要是能显示等宽字体就好了。

[root@new55 ~]# cal
    十一月 2010    
日 一 二 三 四 五 六
    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


[root@new55 ~]# cal -j
        十一月 2010       
  日   一   二   三   四   五   六
    305 306 307 308 309 310
311 312 313 314 315 316 317
318 319 320 321 322 323 324
325 326 327 328 329 330 331
332 333 334
注:此处显示自1月1日的天数。
[root@new55 ~]# cal -m
    十一月 2010    
一 二 三 四 五 六 日
 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
注:此处星期一显示在第一列。
[root@new55 ~]#

示例二 显示当前月份及前后月份的日历

[root@new55 ~]# cal -3
     十月 2010            十一月 2010           十二月 2010    
日 一 二 三 四 五 六  日 一 二 三 四 五 六  日 一 二 三 四 五 六
                1  2      1  2  3  4  5  6            1  2  3  4
 3  4  5  6  7  8  9   7  8  9 10 11 12 13   5  6  7  8  9 10 11
10 11 12 13 14 15 16  14 15 16 17 18 19 20  12 13 14 15 16 17 18
17 18 19 20 21 22 23  21 22 23 24 25 26 27  19 20 21 22 23 24 25
24 25 26 27 28 29 30  28 29 30              26 27 28 29 30 31  
31                                                             
[root@new55 ~]#

 

示例三 显示今年的日历

[root@new55 ~]# cal -y
                               2010                               

        一月                   二月                   三月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
                1  2       1  2  3  4  5  6       1  2  3  4  5  6
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    7  8  9 10 11 12 13
10 11 12 13 14 15 16   14 15 16 17 18 19 20   14 15 16 17 18 19 20
17 18 19 20 21 22 23   21 22 23 24 25 26 27   21 22 23 24 25 26 27
24 25 26 27 28 29 30   28                     28 29 30 31
31
        四月                   五月                   六月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
             1  2  3                      1          1  2  3  4  5
 4  5  6  7  8  9 10    2  3  4  5  6  7  8    6  7  8  9 10 11 12
11 12 13 14 15 16 17    9 10 11 12 13 14 15   13 14 15 16 17 18 19
18 19 20 21 22 23 24   16 17 18 19 20 21 22   20 21 22 23 24 25 26
25 26 27 28 29 30      23 24 25 26 27 28 29   27 28 29 30
                       30 31
        七月                   八月                   九月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
             1  2  3    1  2  3  4  5  6  7             1  2  3  4
 4  5  6  7  8  9 10    8  9 10 11 12 13 14    5  6  7  8  9 10 11
11 12 13 14 15 16 17   15 16 17 18 19 20 21   12 13 14 15 16 17 18
18 19 20 21 22 23 24   22 23 24 25 26 27 28   19 20 21 22 23 24 25
25 26 27 28 29 30 31   29 30 31               26 27 28 29 30

        十月                  十一月                 十二月       
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
                1  2       1  2  3  4  5  6             1  2  3  4
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    5  6  7  8  9 10 11
10 11 12 13 14 15 16   14 15 16 17 18 19 20   12 13 14 15 16 17 18
17 18 19 20 21 22 23   21 22 23 24 25 26 27   19 20 21 22 23 24 25
24 25 26 27 28 29 30   28 29 30               26 27 28 29 30 31
31

[root@new55 ~]#

 

示例四 显示指定年月的日历

[root@new55 ~]# cal 10 2009
     十月 2009     
日 一 二 三 四 五 六
             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

[root@new55 ~]# cal 9 1752
     九月 1752     
日 一 二 三 四 五 六
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

注:1752年9月比正常情况少了11天。1582年2月,罗马教廷要求从1582 年10月中减去10天,因此1852年10月4日后面紧跟着就是15日。在意大利、西班牙等国家都这样处理了。其他天主教国家也很快跟着这么做了,但是新 教国家不愿意修改,而且希腊等东正教国家直到20世纪初才修改,所以这个改革在英国及其殖民地(包括美国)在1752年9月才被执行。这样1752 年9月2日后面跟着的就是1752年9月14日。这就是为什么cal会生成上面输出的原因了。

[root@new55 ~]#

问题思考

1. 只显示公历,对于中国人来说,还有点不足。Linux下有没有既显示公历也显示农历的日历呢?

相关资料

【1】百度百科 公历

【2】百度空间 Linux cal日历指令

【3】51CTO Linux cal命令了解人类时间改革

 

返回 我使用过的Linux命令系列总目录

 

0
0
分享到:
评论
1 楼 向左走向右走 2012-12-18  
能不能高亮当天的日期呢

相关推荐

    中文Linux Man 文档

    中文Linux Man 文档 ac--输出用户连接时间  access--确定文件是否可以存取访问  ali--list mail aliases  apm--查询高级电源管理(APM)BIOS ... cal--显示一个日历  cat--连接文件并在标准输出上输出

    Linux基础笔记命令 Centos6.5

    cal 【年份】:显示所输年份所以日历(示例:cal 2019) bc:使用计算器 使用bc计算器结果默认不保留小数点后任何一位 如需保留小数点 输入命令 scale=4(保留小数点后4位) 使用quit退出(快捷键:Ctrl+C) ...

    kali linux命令.txt

    cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) ...

    Linux基本命令的使用

    • cal命令显示指定月份或年份的日历 • clock命令显示系统时钟 • ps命令查看系统进程 • kill命令向进程发送强制终止信号 • killall命令根据进程名发送终止信号 • nice命令指定运行程序优先级 • renice命令根据...

    Linux常用命令大全

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) ...cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS

    Linux查看系统配置常用命令.pdf

    Linux查看系统配置常用命令.pdf 一些常用的基本命令: uname -a 查看内核版本 ls -al 显示所有文件的属性 ...cal 显示日历 cal 2006 bc 计算器具 man & info 帮助手册 locale 显示当前字体 locale -a 所有可用字体

    linux常用命令

    linux常用命令,cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 ...

    linux常用指令

    linux常用指令集合 系统信息  arch 显示机器的处理器架构(1)  uname -m 显示机器的...cal 2007 显示2007年的日历表  date 041217002007.00 设置日期和时间 - 月日时分年.秒  clock -w 将时间修改保存到 BIOS 

    Linux黑客命令行.docx

    Linux必会命令行大全,新手必看 系统信息 arch 显示机器的处理器架构 dmidecode -q 显示硬件系统部件-(SMBIOS/DMI) ...cal 2007 显示2007年的日历表 date 04127002007.00 设置日期和时间-月日时分年.秒

    常用linux命令及服务器配置大全 工作中收集的linux常用命令。

    本人在工作中收集的linux常用命令。 acctcom 搜索并显示进程记帐文件 ar 维护可移植的档案或库 at 定时执行某个命令 awk 模式扫描和处理语言 batch 对at命令的调用 banner 显示大尺寸字符 ...cal 显示日历

    Linux命令行上如何使用日历详解

    前言 通过 Linux 上的日历,不仅仅可以提醒你今天是星期几。诸如 date、cal、 ncal ...你可以使用 cal 命令显示整个月份。没有参数时,cal 显示当前月份,默认情况下,通过反转前景色和背景颜色来突出显示当天。 $ cal

    Linux命令大全

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) ...cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS

    Linux_UNIX 下的命令大全

    Linux UNIX命令大全 常用命令 acctcom 等于进程记帐文件 accton 启动或中止记帐进程 adb 汇编语言调试工具 admin 创建和管理SCCS文件 ar 档案文件和库文件管理程序 as 汇编器 asa 回车控制 at 在指定时间执行...

    Linux操作系统实验一.doc

    ()cal命令:显示某年内指定的日历 (5) uname命令:查看当前操作系统的信息 (6)wc命令:统计文件中的文件行数、字数和字符数 (7) clear命令:清屏 3、在线帮助命令 ()man命令名:显示该命令的功能、选项等说明() whatis...

    Linux-commands:Linux命令和Shell脚本编写说明

    Linux命令有用Linux命令有多少用户登录: who 当前用户是谁: whoami 打印日期: date 显示日历: cal 打印工作目录: pwd 打印文件和当前目录的目录: ls 手动帮助: man whoami 创建一个新目录: mkdir directory...

    【Linux】linux常用基本命令总结(推荐)

    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题。 1、显示日期的指令: date 2...

    CommandLine-Terminal-Guide-MacAndLinux:为Mac和Linux用户编译必要的终端命令

    cal >显示当前月份的日历。目录管理: cd [dir] ->输入目录,对名称加空格使用撇号。 cd .. >上移到父目录。 cd ../.. >上移两个目录。 ls - >子目录和文件的显示列表: -a - >同时显示隐藏的项目, -l - >长列表,...

    linux.chm文档

    cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) ...

    Linux 常用命令

    显示日期的指令∶ date 显示日历的指令∶ cal 简单好用的计算机∶ bc ......

Global site tag (gtag.js) - Google Analytics