2017-07-29 每天2个Linux命令 date命令
date命令是显示或设置系统时间与日期。
(1)用法:
用法: date [选项] [参数]
(2)功能:
功能: 根据指定格式显示当前时间或设置系统时间
很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。
延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。
在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。
(3)选项参数:
1) <+时间日期格式>: 指定显示时使用的日期时间格式;
2) -d<字符串>: 显示字符串所指的日期与时间,字符串前后必须加上双引号;
3) -s<字符串>: 根据字符串来设置日期与时间;(不用加引号)
(4)实例:
1)[root@localhost Document]# date -s 20160530 设置日期和时间(只有root权限才能设置,其他只能查看)
[root@localhost Document]# date -s 20160530
2016年 05月 30日 星期一 00:00:00 PDT
[root@localhost Document]# date -s 09:00:00
2016年 05月 30日 星期一 09:00:00 PDT
2)[root@localhost Document]# date 查看当前时间
[root@localhost Document]# date
2016年 05月 30日 星期一 09:01:05 PDT
3)[root@localhost Document]# date 0819150511 第二种设置日期和时间的方式
[root@localhost Document]# date 0819150511
2011年 08月 19日 星期五 15:05:00 PDT
[root@localhost Document]# date 0530080016
2016年 05月 30日 星期一 08:00:00 PDT
4)[root@localhost Document]# date +%m%d%H%M%S 第二种显示日期的方式
[root@localhost Document]# date +%m%d%H%M%S
0530080137
[root@localhost Document]# date +%y%m%d%H%M%S
160530080158
5)[root@localhost Document]# date -d “+1 day” +”%y/%m/%d” 显示经过加减法过后的日期
复制代码
[root@localhost Document]# date -d "1 day ago" +"%Y-%m-%d"
//等价于date -d "-1 day ago" +"%Y-%m-%d"
2016-05-29
[root@localhost Document]# date -d "1 day ago" +"%y-%m-%d"
16-05-29
[root@localhost Document]# date -d "1 month ago" +"%y/%m/%d"
16/04/30
[root@localhost Document]# date -d "+1 day" +"%y/%m/%d"
16/05/31
[root@localhost Document]# date -d "+1 month" +"%y-%m-%d"
16-06-30
6)[root@localhost Document]# date -s “2016-05-30 09:10:10” 同时设置日期和时间
复制代码
[root@localhost Document]# date -s "2016-05-30 09:10:10"
2016年 05月 30日 星期一 09:10:10 PDT
[root@localhost Document]# date -s "20160530 09:10:10"
2016年 05月 30日 星期一 09:10:10 PDT
[root@localhost Document]# date -s "09:00:00 20160530"
2016年 05月 30日 星期一 09:00:00 PDT
[root@localhost Document]# date -s "09:00:00 2016/05/30"
2016年 05月 30日 星期一 09:00:00 PDT
[root@localhost Document]# date -s "09:00:00 2016-05-30"
2016年 05月 30日 星期一 09:00:00 PDT
7)格式转换后时间游走:
[root@localhost Document]# date -d "Nov 5, 2018 09:00:00 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2016-11-05 09:00.00
[root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"5Y-%m-%d %H:%M"
5Y-08-30 09:10
[root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"%Y-%m-%d %H:%M"
2018-08-30 09:10
8)[root@localhost Document]# echo $diff seconds 记录命令花费的时间
复制代码
[root@localhost Document]# start=$(date +%s)
[root@localhost Document]# ls /home |more -10
sunjimeng
[root@localhost Document]# end=$(date +%s)
[root@localhost Document]# diff=$((end-start))
[root@localhost Document]# echo $diff seconds
40 seconds
(5)日期格式字符串列表
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
月份的英文表示:
【January】 【February】 【March】 【April】 【May】 【June】
【July】 【August】 【September】 【October】 【November】 【December 】
2017-07-29 每天2个Linux命令 cal命令
cal命令用于显示当前日历,或者指定日期的日历。
(1)用法:
用法: cal [选项] [[[日] 月] 年]
(2)功能:
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
(3)选项参数:
1) -1 --one 只显示当前月份(默认)
2) -3 --three 显示上个月、当月和下个月
3) -s --sunday 周日作为一周第一天
4) -m --monday 周一用为一周第一天
5) -j --julian 输出儒略日
6)-y --year 输出整年
(4)实例:
1)[sunjimeng@localhost ~]$ cal 显示当前月份的日历
复制代码
[sunjimeng@localhost ~]$ cal
五月 2016
日 一 二 三 四 五 六
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
[sunjimeng@localhost ~]$
复制代码
2)[sunjimeng@localhost ~]$ cal -1 显示当前月份的日历,与cal -1的参数一样
复制代码
[sunjimeng@localhost ~]$ cal -1
五月 2016
日 一 二 三 四 五 六
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
[sunjimeng@localhost ~]$
3)[sunjimeng@localhost ~]$ cal -3 显示着这个月,上个月和下个月的日历
复制代码
[sunjimeng@localhost ~]$ cal -3
四月 2016 五月 2016 六月 2016
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 1 2 3 4 5 6 7 1 2 3 4
3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
24 25 26 27 28 29 30 29 30 31 26 27 28 29 30
[sunjimeng@localhost ~]$
4)[sunjimeng@localhost ~]$ cal -j 显示某日是今年的第多少天
复制代码
[sunjimeng@localhost ~]$ cal -j
五月 2016
日 一 二 三 四 五 六
122 123 124 125 126 127 128
129 130 131 132 133 134 135
136 137 138 139 140 141 142
143 144 145 146 147 148 149
150 151 152
复制代码
5)[sunjimeng@localhost ~]$ cal -s 将周日作为显示的日历的第一天
复制代码
[sunjimeng@localhost ~]$ cal -s
五月 2016
日 一 二 三 四 五 六
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
[sunjimeng@localhost ~]$
复制代码
6)[sunjimeng@localhost ~]$ cal 11 2099 显示特定某天的日历
复制代码
[sunjimeng@localhost ~]$ cal 11 2099
十一月 2099
日 一 二 三 四 五 六
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
[sunjimeng@localhost ~]$ cal 11 11 1111
十一月 1111
日 一 二 三 四 五 六
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
复制代码
7)[sunjimeng@localhost ~]$ cal -m 以星期一作为一周的开始显示当前月份的日历
复制代码
[sunjimeng@localhost ~]$ cal -m
五月 2016
一 二 三 四 五 六 日
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
复制代码
8)[sunjimeng@localhost ~]$ cal 2016 也可以显示某个特定年份的日历
复制代码
[sunjimeng@localhost ~]$ cal 2016
2016
一月 二月 三月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 1 2 3 4 5 6 1 2 3 4 5
3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12
10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19
17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26
24 25 26 27 28 29 30 28 29 27 28 29 30 31
31
四月 五月 六月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 1 2 3 4 5 6 7 1 2 3 4
3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
24 25 26 27 28 29 30 29 30 31 26 27 28 29 30
七月 八月 九月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 1 2 3 4 5 6 1 2 3
3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10
10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17
17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24
24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30
31
十月 十一月 十二月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 1 2 3 4 5 1 2 3
2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31