我已经介绍了windows环境获取时间常用命令总结。今天主要分享一些Linux环境下shell脚本获取时间的常用命令。1、相关概念Linux的系统时间可以在shell中直接调用系统变量date,如:获取今天的时间:`date+%Y%m%d`或`date+%F`或$(date+%y%m%d)获取昨天的日期:`date-dyesterday+%Y%m%d`也可以写成`date-d-1day+%Y%m%d`获取前天的日期:`date-d-2day+%Y%m%d`获取10天前的日期:`date-d-10day+%Y%m%d`或n天前:`date-d"ndaysago"+%y%m%d`获取明天的date:`date-dtomorrow+%y%m%d`获取上月日期:date-dlast-month+%Y%m获取下月日期:date-dnext-month+%Y%m至于你需要的日期时间格式,需要应用相关的时域参数实现:相关的时域如下:%Hhour(00..23)%Ihour(01..12)%khour(0..23)%l小时(1..12)%M分钟(00..59)%p显示AM或PM%r时间(hh:mm:ssAM或PM),12小时%s从一月开始经过的秒数1、1970年00:00:00到现在%S秒(00..59)%T时间(24小时制)(hh:mm:ss)%X显示时间格式(%H:%M:%S)%Z时区日期字段%a星期几缩写(Sun..Sat)%星期几的全称(Sunday..Saturday)%b月份的缩写(Jan..Dec)%B月份的全称(January..December)%c日期和时间(MonNov814:12:46CST1999)%d月份的日期(01..31)%D日期(mm/dd/yy)%h与%boption%jdayoftheyear(001..366)%mMonth(01..12)%wdayoftheweek(0代表Sunday)%W相同一年中的第几周(00..53,星期一为第一天)%x显示日期格式(mm/dd/yy)%y年份的最后两位(1999为99)%Y年份(例如:1970,1996等)%F输出日期为2019-10-20这种格式的日期注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间.2.获取时间脚本--DateTime.sh#!/bin/bashecho"==================================================="echo"showlinuxoriginalformatdateandtime:"echoDateTime:$(date)echo"==================================================="echo"showdatetimelikeformat:YYYY-MM-DDHH:MM:SS"NOW_DATE_TIME=$(date"+%Y-%m-%d%H:%M:%S")echo$NOW_DATE_TIMEecho"==================================================="echo"showdatetimelikeformat:YYYYMMDD-HHMMSS"NOW_TIME=$(date"+%Y%m%d-%H%M%S")echo$NOW_TIMEecho"==================================================="echo"showlastyear:"LAST_YEAR=$(date"+%Y-%m-%d%H:%M:%S"--date="-1years")echo$LAST_YEARecho"==================================================="echo"shownextyear:"NEXT_YEAR=$(date"+%Y-%m-%d%H:%M:%S"--date="1years")echo$NEXT_YEARecho"==================================================="echo"showlastmonth:"LAST_MONTH=$(date"+%Y-%m-%d%H:%M:%S"--date="-1months")echo$LAST_MONHecho"===================================================“回声”shownextmonth:"NEXT_MONTH=$(date"+%Y-%m-%d%H:%M:%S"--date="1months")echo$NEXT_MONTHecho"==================================================="echo"showlastday:"LAST_DAY=$(date"+%Y-%m-%d%H:%M:%S"--date="-1days")echo$LAST_DAYecho"===========================================================================================================================================================================================================================================================再显示:“下一天=$(日期”+%Y-%m-%d%H:%M:%S"--date="1days")echo$NEXT_DAYecho"==================================================="echo"showlasthour:"LAST_HOUR=$(date"+%Y-%m-%d%H:%M:%S"--date="-1hours")echo$LAST_HOURecho"==================================================="echo"shownextthour:"NEXT_HOUR=$(date"+%Y-%m-%d%H:%M:%S"--date="1hours")echo$NEXT_HOURecho"======================================================“echo”showlastminute:“last_minute=$(日期”%Y-%m-%d%H:%M:%S"--date="-1minutes")echo$LAST_MINUTEecho"=====================================================================================================================================================================================再下一分钟显示:”下一分钟=$(日期”+%Y-%m-%d%H:%M:%S"--date="1minutes")echo$NEXT_MINUTEecho"======================================================"echo"showlastsecond:"LAST_SECOND=$(date"+%Y-%m-%d%H:%M:%S"--date="-1seconds")echo$LAST_SECONDecho"====================================================="echo"shownextsecond:"NEXT_SECOND=$(date"+%Y-%m-%d%H:%M:%S"--date="1seconds")echo$NEXT_SECONDecho"====================================================="运行结果:3.练习脚本在每个月的第一天备份压缩/etc目录下的所有内容,存放在/root/bak目录下,文件名为:yymmdd_etc,yy类型,mm类型,dd类型的shell程序fileback存放在/usr/bin目录下d`_etc.tar.gz"if[!-x"$bakdir"];thenmkdir$bakdirficd$bakdirtarcvfz$filename/etc#使用crontab命令添加定时任务:01***/bin/sh/usr/bin/fileback
