Linux环境shell脚本获取时间的常用命令总结
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本篇内容介绍了"Linux环境shell脚本获取时间的常用命令总结"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能
千家信息网最后更新 2025年01月28日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安全错误
数据库的锁怎样保障安全
服务器管理在哪点开
湖南运营网络技术服务哪家好
华为和安卓是一个服务器的吗
网络安全教案初二ppt
数据库建模书
svn服务器创建仓库
数据库通讯录c 课程设计
怎么取数据库字段名
适合搬砖的梦幻西游服务器
网吧服务器可以搬服吗
武汉网络安全周
数据库中如何修改表的编码
加密狗服务器
为什么数据库要保持完整性
智慧党建软件开发专业制作
数据库ip修改
nsf是什么数据库
黄浦区节能软件开发定制价格
数据库迁移过程中又有新数据
江苏交友软件开发费用是多少
数据库系统答案专升本
basetech软件开发
了解网络安全技术有什么好处
汽车网络安全中国峰会
连接到官方服务器失败是什么意思
传播病毒是网络安全吗
银河服务器管理系统
浏览器连接服务器无法显示网页
怎么连接sqlyog数据库
x86服务器处理器