Linux环境shell脚本获取时间的常用命令总结
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"Linux环境shell脚本获取时间的常用命令总结"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能
千家信息网最后更新 2026年11月03日Linux环境shell脚本获取时间的常用命令总结
本篇内容介绍了"Linux环境shell脚本获取时间的常用命令总结"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1. 相关概念
Linux的系统时间在shell里是可以直接调用系统变量date的,如:
获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d) 获取昨天时期:`date -d yesterday +%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 "n days ago" +%y%m%d` 获取明天日期:`date -d tomorrow +%y%m%d` 获取上个月日期:date -d last-month +%Y%m 获取下个月日期:date -d next-month +%Y%m
至于你需要什么样的日期时间格式,就需要应用相关的时间域参数来实现了:
相关时间域如下:
% H 小时(00..23) % I 小时(01..12) % k 小时(0..23) % l 小时(1..12) % M 分(00..59) % p 显示出AM或PM % r 时间(hh:mm:ss AM或PM),12小时 % s 从1970年1月1日00:00:00到目前经历的秒数 % S 秒(00..59) % T 时间(24小时制)(hh:mm:ss) % X 显示时间的格式(%H:%M:%S) % Z 时区 日期域 % a 星期几的简称( Sun..Sat) % A 星期几的全称( Sunday..Saturday) % b 月的简称(Jan..Dec) % B 月的全称(January..December) % c 日期和时间( Mon Nov 8 14:12:46 CST 1999) % d 一个月的第几天(01..31) % D 日期(mm/dd/yy) % h 和%b选项相同 % j 一年的第几天(001..366) % m 月(01..12) % w 一个星期的第几天(0代表星期天) % W 一年的第几个星期(00..53,星期一为第一天) % x 显示日期的格式(mm/dd/yy) % y 年的最后两个数字( 1999则是99) % Y 年(例如:1970,1996等) %F 输出日期为2019-10-20 这种格式的日期
注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。
2. 获取时间脚本--DateTime.sh
#!/bin/bash echo "===================================================" echo "show linux original format date and time:" echo DateTime: $(date) echo "===================================================" echo "show date time like format: YYYY-MM-DD HH:MM:SS" NOW_DATE_TIME=$(date "+%Y-%m-%d %H:%M:%S") echo $NOW_DATE_TIME echo "===================================================" echo "show date time like format: YYYYMMDD-HHMMSS" NOW_TIME=$(date "+%Y%m%d-%H%M%S") echo $NOW_TIME echo "===================================================" echo "show last year:" LAST_YEAR=$(date "+%Y-%m-%d %H:%M:%S" --date="-1 years") echo $LAST_YEAR echo "===================================================" echo "show next year:" NEXT_YEAR=$(date "+%Y-%m-%d %H:%M:%S" --date="1 years") echo $NEXT_YEAR echo "===================================================" echo "show last month:" LAST_MONTH=$(date "+%Y-%m-%d %H:%M:%S" --date="-1 months") echo $LAST_MONTH echo "===================================================" echo "show next month:" NEXT_MONTH=$(date "+%Y-%m-%d %H:%M:%S" --date="1 months") echo $NEXT_MONTH echo "===================================================" echo "show last day:" LAST_DAY=$(date "+%Y-%m-%d %H:%M:%S" --date="-1 days") echo $LAST_DAY echo "===================================================" echo "show next day:" NEXT_DAY=$(date "+%Y-%m-%d %H:%M:%S" --date="1 days") echo $NEXT_DAY echo "===================================================" echo "show last hour:" LAST_HOUR=$(date "+%Y-%m-%d %H:%M:%S" --date="-1 hours") echo $LAST_HOUR echo "===================================================" echo "show next hour:" NEXT_HOUR=$(date "+%Y-%m-%d %H:%M:%S" --date="1 hours") echo $NEXT_HOUR echo "===================================================" echo "show last minute:" LAST_MINUTE=$(date "+%Y-%m-%d %H:%M:%S" --date="-1 minutes") echo $LAST_MINUTE echo "===================================================" echo "show next minute:" NEXT_MINUTE=$(date "+%Y-%m-%d %H:%M:%S" --date="1 minutes") echo $NEXT_MINUTE echo "===================================================" echo "show last second:" LAST_SECOND=$(date "+%Y-%m-%d %H:%M:%S" --date="-1 seconds") echo $LAST_SECOND echo "===================================================" echo "show next second:" NEXT_SECOND=$(date "+%Y-%m-%d %H:%M:%S" --date="1 seconds") echo $NEXT_SECOND echo "==================================================="
运行结果:
3. 练习脚本
在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。
#/bin/bash #filebak bakdir="/root/bak/" filename="`date +%y%m%d`_etc.tar.gz" if [ ! -x "$bakdir" ];then mkdir $bakdir fi cd $bakdir tar cvfz $filename /etc #使用crontab -e 命令添加定时任务: 0 1 * * * /bin/sh /usr/bin/fileback
"Linux环境shell脚本获取时间的常用命令总结"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
时间
日期
小时
星期
命令
脚本
格式
内容
目录
常用
环境
全称
时期
更多
用户
知识
系统
输出
实用
相同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网产品
科技赋能下的互联网金融
奇士达互联网科技
易通互联网络科技有限公司
互联网科技公司介绍
人人互联网科技是培训
华中科技有哪些互联网大佬
互联网时代科技改变生活
岳阳华臻互联网科技有限公司
搜狐科技互联网
畅思互联网科技
东莞新华互联网科技学校
西安小鹰速贷互联网科技有限公司
互联网科技快讯热点
宁波跨境商互联网科技有限公司
容联科技互联网电商
美国五大互联网科技公司市值多少
上海互联网科技园景观
优雇互联网科技有限公司
广东猫王互联网科技有限公司电话
上海挚品互联网科技有限公司
有格互联网科技
上海挚品互联网科技
深圳天众互联网科技公司
互联网 视角下的科技创新
苏州大垚互联网科技
郑州华宇互联网科技
多迪互联网科技有限公司
群盈汇互联网科技有限公司
互联网科技企业商标注意事项