`

我使用过的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命令(38):cal命令分享.pdf

    cal 命令是 Linux 系统中一个非常实用的命令,用于显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历...

    Linux命令大全-2024

    ### Linux命令大全-2024:系统管理与设置篇 #### 1. 信息显示命令 **Linux** 是一种广泛使用的开源操作系统,其强大的功能和灵活性使其成为服务器管理和开发人员首选的操作系统之一。了解如何有效地使用 **Linux**...

    Linux操作实验-练习data、cal、pwd等几个常用的Linux命令。

    通过实践,加深对Linux命令的理解与应用能力,为后续深入学习Linux系统管理和开发打下坚实的基础。 #### 实验内容概述 ##### 1. 登录Linux系统 - **命令**: `ssh username@hostname` 或者直接打开终端窗口(如果...

    每天一个linux命令(38):cal命令.rar

    在提供的PDF文件《每天一个linux命令(38):cal命令》中,可能会详细解释这些用法,并通过实例演示如何应用这些参数。这是一份宝贵的资源,可以帮助用户深入理解并熟练使用“cal”命令。通过不断实践和探索,你可以在...

    Linux命令详称--各命令的英文全称

    12. `cal`: 显示日历,可以查看当前月份或指定年份的日期。 13. `case`: 条件执行命令,根据不同的条件执行不同的操作。 14. `cat`: 显示文件内容,常用于查看文本文件。 15. `cd`: 改变当前工作目录,进入指定的...

    最新-Linux常用命令大全-非常实用

    Linux 操作系统是当今最流行的操作系统之一,作为一个 Linux 用户或管理员,掌握常用的 Linux 命令是非常重要的。本文将总结一些常用的 Linux 命令,涵盖系统管理、用户管理、磁盘管理、文件管理、备份与压缩、网络...

    Linux命令有哪些-.docx

    27. `cal`:显示当前月份的日历。 28. `wc -l`:统计文件中的行数,`wc -w`统计单词数。 29. `echo "AaDCbd23" | tr "[A-Z]" "[a-z]"`:将大写字母转换为小写字母。 30. `echo "ADSF" | iconv -f UTF8 -t GBK`:...

    150个常用Linux命令

    - **cal** - 显示日历。 #### 六、搜索文件 - **which** - 查找可执行程序的位置。 - **find** - 在文件系统中查找文件。 - **whereis** - 查找二进制程序、源代码文件和手册页的位置。 - **locate** - 快速查找...

    Linux cal命令的使用

    Linux `cal` 命令是系统自带的一个实用工具,用于在终端中显示日历。这个命令简单易用,能够帮助用户快速查看当前或者特定日期的月历和年历。以下将详细介绍`cal`命令的各个方面。 ### 1. 命令基本介绍 `cal` 命令...

    Linux常用命令大全-非常实用

    Linux命令行是与系统交互的主要方式,熟练掌握常用Linux命令对于系统管理员和开发人员而言是基本功。本篇文章将详细介绍Linux系统管理与设置方面的常用命令,使读者能够通过实战训练深化对这些命令的理解和运用。 ...

    全网最新整理linux常用命令列举-完整版

    本篇文章将详细列举并解释一些Linux系统中最常用的命令,帮助用户更好地理解和使用这个强大的操作系统。 1. **系统信息**: - `arch`:显示系统的处理器架构。 - `uname -m`:同样用于查看处理器架构。 - `uname...

    linux命令学习-新手入门

    - `cal`:显示日历,如`cal 1998`显示1998年的日历。 - `banner`:打印大写字母,如`banner "ABCD"`。 - `bc`:计算器,执行数学计算。 - `passwd`:修改用户密码。 - `who`:查看当前登录系统的用户。 - `who...

    linuxc常用命令

    Linux操作系统采用命令行界面(CLI),因此掌握常用Linux命令对于使用Linux系统来说是基础且至关重要的。下面详细解释一些常见的Linux命令及其用法: 1. 目录结构相关命令: - /:Linux文件系统的根目录,所有目录...

    中文Linux Man 文档

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

    linux实验一 常用命令

    1. **使用简单命令**:通过`date`、`cal`、`who`、`echo`、`clear`等命令熟悉Linux的基本命令格式。 - **示例**:`date` 显示系统当前日期和时间;`echo "Hello, world!"` 打印出"Hello, world!"。 2. **浏览文件...

    Linux基础命令 - 时间相关命令&echo命令&帮助命令&历史命令&产看根目录命令&文件显示命令

    此外,`cal`命令用于显示日历,可以查看当月、指定月份或整年的日历。 **2. echo命令** `echo`命令用于在终端打印文本或者变量的值。例如,`echo $SHELL`显示当前用户的Shell,`echo "hello world"`则打印出字符串...

    Linux基本命令操作实验报告

    - 显示日历:使用`cal`命令显示特定月份或全年日历。 - **用户管理** - 添加用户:使用`useradd`命令创建新用户,如`useradd a1`。 - 设置密码:使用`passwd`命令设置新用户的密码,如`passwd a1`。 - 查看用户...

    linux命令.txt

    ### Linux命令知识点解析 #### 一、ls -al **命令功能:** `ls -al` 命令用于列出当前目录下所有文件及其详细信息(包括隐藏文件)。`ls` 是 Linux 中用来列出文件及目录信息的基本命令,而 `-a` 选项表示列出包括...

    Linux学习笔记二 - Liunx命令(基础篇)

    Linux学习笔记二 - Liunx命令(基础篇) ...* cal:日历,用于显示日历。 * cmp:文件比较,用于比较两个文件的内容。 本篇学习笔记涵盖了 Linux 命令的基础知识,旨在帮助读者快速掌握 Linux 命令的使用技巧。

Global site tag (gtag.js) - Google Analytics