Linux学习笔记18cal显示日历

上周末与朋友一起取逛书店的时候,发现鸟哥的一本Linux书籍《鸟哥的Linux私房菜基础学习篇(第二版)》,
二话不说,拿下了。
今天就跟着鸟哥从头开始学习Linux.
显示日期命令:date
CAL(1)                   BSD General Commands Manual                   CAL(1)

NAME
     cal - displays a calendar

SYNOPSIS
     cal [-smjy13] [[month] year]

DESCRIPTION
     Cal displays a simple calendar.  If arguments are not specified, the
     current month is displayed.  The options are as follows:

     -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      Display Julian dates (days one-based, numbered from January 1).
        显示儒略日(从元旦开始编号,日前一直向后+1格式显示)
     -y      Display a calendar for the current year.
        显示当前年的日历

--显示当前月:
[root@CentOS4 ~]# cal  --或者使用cal -1
    November 2007
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

--指定某一年某一月份的日历:
[root@CentOS4 ~]# cal 7 2007 --2007年7月
      July 2007
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


[root@CentOS4 ~]# cal -1 7 2007
      July 2007
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


--显示上月当月和下月的日历:
[root@CentOS4 ~]# cal -3
    October 2007          November 2007         December 2007    
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 
 

--要是指定某一年某一月的相邻日历情况可以使用 ,如:
[root@CentOS4 ~]# cal -3 2 2008  --2008年1-3月的日历
    January 2008          February 2008          March 2008      
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                  1  2                     1
 6  7  8  9 10 11 12   3  4  5  6  7  8  9   2  3  4  5  6  7  8
13 14 15 16 17 18 19  10 11 12 13 14 15 16   9 10 11 12 13 14 15
20 21 22 23 24 25 26  17 18 19 20 21 22 23  16 17 18 19 20 21 22
27 28 29 30 31        24 25 26 27 28 29     23 24 25 26 27 28 29
                                            30 31

--以星期日为每周的第一天格式显示(默认):
[root@CentOS4 ~]# cal -s
    November 2007
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


--以星期一为每周的第一天格式显示:
[root@CentOS4 ~]# cal -m
    November 2007
Mo Tu We Th Fr Sa Su
          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

-- -j参数的使用,日历显示格式是日期从元旦1号开始编号到12月31结束:

[root@CentOS4 ~]# cal -j3 2 2007 --显示2007年1到3月份的日历
        January 2007                February 2007                  March 2007         
Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat
      1   2   3   4   5   6                   32  33  34                   60  61  62
  7   8   9  10  11  12  13   35  36  37  38  39  40  41   63  64  65  66  67  68  69
 14  15  16  17  18  19  20   42  43  44  45  46  47  48   70  71  72  73  74  75  76
 21  22  23  24  25  26  27   49  50  51  52  53  54  55   77  78  79  80  81  82  83
 28  29  30  31               56  57  58  59               84  85  86  87  88  89  90


--显示2007年12个月的情况:
root@CentOS4 ~]# cal 2007
                               2007                                

       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


或者使用 [root@CentOS4 ~]# cal -y 命令
当要显示某一年12个月的日历时候可以使用如:
[root@CentOS4 ~]# cal -y 2008
或者直接:
[root@CentOS4 ~]# cal 2008
都可以。

原文地址:https://www.cnblogs.com/wghao/p/980440.html