在Linux世界里,日期与时间不仅是系统运行的脉络,更是众多命令行操作的核心要素。无论是追踪日志、管理备份,还是安排定时任务,对日期和时间的精准操控都是提升工作效率的关键。本期文章将揭示Linux指令中与日期相关的实用技巧和魔法般的组合,助您轻松驾驭时间,让命令行工作如虎添翼。
最基础也最常用的日期时间命令是 date。简单执行 date 即可显示当前系统时间:
In [31]:
!date
Sat 06 Apr 2024 04:48:50 PM UTC
您还可以使用各种格式选项定制输出:
指定格式输出:使用 +FORMAT 参数自定义日期时间格式。例如,输出年月日时分秒:
In [4]:
!date '+%Y-%m-%d %H:%M:%S'
2024-04-06 16:32:34
格式代码:
%Y:四位数年份 %m:两位数月份 %d:两位数日期 %H:24小时制小时数 %M:分钟数 %S:秒数
显示UTC时间:加上 -u 参数显示协调世界时(UTC):
In [6]:
!date -u
Sat 06 Apr 2024 04:33:29 PM UTC
有时,您可能需要计算未来或过去的某个日期,或者将日期转换为不同格式。以下是一些实用工具和方法:
date 的加减运算:使用 date -d 实现日期的加减。例如,获取明天的日期:
In [7]:
!date -d 'tomorrow'
Sun 07 Apr 2024 04:33:59 PM UTC
或者计算指定天数后的日期:
In [8]:
!date -d 'now + 7 days'
Sat 13 Apr 2024 04:34:20 PM UTC
在处理大量文件时,根据文件的创建、修改或访问日期进行筛选尤为实用。以下是一些常见操作:
查找最近修改的文件:使用 find 命令结合 -mtime、-ctime 或 -atime 选项,按修改时间、状态改变时间或访问时间筛选文件。例如,查找过去24小时内修改过的文件:
In [23]:
!touch 1.txt 2.txt 3.txt
In [24]:
!find /home/mw/project -type f -mtime -1
/home/mw/project/1.txt
/home/mw/project/2.txt
/home/mw/project/3.txt
根据日期范围查找文件: 通过组合 -newer 选项与一个参考文件(或日期标记文件)来定位在指定日期之后修改的文件:
In [38]:
!touch -d '2022-04-06 00:49:00' reference_file
In [37]:
!find /home/mw/project -type f -newer reference_file
/home/mw/project/1.txt
/home/mw/project/2.txt
/home/mw/project/3.txt
计划任务是Linux管理中的重要一环,cron 是实现定时任务的瑞士军刀。利用 crontab 命令编辑定时任务列表,您可以精确控制任务的执行时间:
In [40]:
# 打开 crontab 编辑器
!crontab -e
# 添加定时任务(每天凌晨3点执行 backup.sh 脚本)
!0 3 * * * /path/backup.sh
/bin/bash: crontab: command not found
/bin/bash: 0: command not found
此处仅仅作为示例,看起来和鲸镜像并不能设置定时作业
Cron 时间格式: 五个* 分别对应 ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ └───── 星期 (0-7,0和7都代表周日) │ │ │ └─────── 月份 (1-12) │ │ └───────── 日期 (1-31) │ └─────────── 小时 (0-23) └───────────── 分钟 (0-59)
以上仅为个人常用指令,如有异议欢迎补充