1、date
# date //显示系统当前日期和时间
上面是date命令默认的输出格式,我们也可以将输出格式显示为英文
# LANG=en //将系统环境变量LANG设置为英文格式
# date //然后执行date命令,结果如下
2、年月日
我们标记日期的方式一般的格式是:20180321 、 180321
# date +%Y //year,输出4位数年
# date +%y //输出2位数的年
# date +%m //m表示month,输出的结果是月份
# date +%d //d表示day,日
# date +%D //D表示特殊格式的日期表示方法,如下当前日期为2018年3月21日
我们还可以将上面的年月日组合在一起输出
# date +%Y%m%d //输出年月日
# date +%F //输出的年月日会用连字符隔开
3、时分秒
# date +%H //H表示hour小时
# date +%M //M表示minute分钟
# date +%S //S表示second秒
# date +%s //输出结果是一个时间戳,表示距离1970年1月1日0时0分过去多少秒
# date +%T //以下面格式输出时分秒
# date +%H:%M:%S //效果跟上条命令一样
4、星期
# date +%w //输出结果为星期几,比如下图表示当前系统时间是星期三
# date +%W //表示当前为今年的第几周,比如我这里为今年的第12周
5、日历
# cal //展示日历
6、从当前时间往前或往后推算
使用场景:比如我们切割日志在今天的0时0分,那么被切割出去的日志应该以昨天的日期来标记,因此需要倒推一天
# date -d "-1day" //当前系统时间为3月21日,输出结果为3月20日
# date -d "-1day" +%F
# date -d "-1 month" +%F //上个月
# date -d "-1 year" +%F //表示去年,year后面也可以加上s,day和month后也可以加上s
其他的时分秒也诸如此类
7、时间戳
# date +%s //获取时间戳
# date -d @1521563928 //将时间戳换算成日期
# date +%s -d "2017-03-21 00:38:48" //将日期换算成时间戳
上图例子,我以前写的nginx日志分隔脚本
简单说就是使用键盘Esc下面的那个键,反引号把date命令引起来调用,当然你也可以调用其他命令,反引号在shell中的优先级比较高,shell会先把反引号中的结果运算出来,再用运算出来的值参与shell
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)