前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux入门002 | 看日期、时间换算和定时作业

Linux入门002 | 看日期、时间换算和定时作业

作者头像
用户11172986
发布2024-06-20 19:03:20
740
发布2024-06-20 19:03:20
举报
文章被收录于专栏:气python风雨气python风雨

Linux入门002 | 看日期、时间换算和定时作业

前言

在Linux世界里,日期与时间不仅是系统运行的脉络,更是众多命令行操作的核心要素。无论是追踪日志、管理备份,还是安排定时任务,对日期和时间的精准操控都是提升工作效率的关键。本期文章将揭示Linux指令中与日期相关的实用技巧和魔法般的组合,助您轻松驾驭时间,让命令行工作如虎添翼。

一、获取当前日期与时间

最基础也最常用的日期时间命令是 date。简单执行 date 即可显示当前系统时间:

In [31]:

代码语言:javascript
复制
代码语言:javascript
复制
!date
代码语言:javascript
复制
代码语言:javascript
复制
Sat 06 Apr 2024 04:48:50 PM UTC

您还可以使用各种格式选项定制输出:

指定格式输出:使用 +FORMAT 参数自定义日期时间格式。例如,输出年月日时分秒:

In [4]:

代码语言:javascript
复制
!date '+%Y-%m-%d %H:%M:%S'
代码语言:javascript
复制

2024-04-06 16:32:34

格式代码:

%Y:四位数年份 %m:两位数月份 %d:两位数日期 %H:24小时制小时数 %M:分钟数 %S:秒数

显示UTC时间:加上 -u 参数显示协调世界时(UTC):

In [6]:

代码语言:javascript
复制
代码语言:javascript
复制
!date -u
代码语言:javascript
复制
代码语言:javascript
复制
Sat 06 Apr 2024 04:33:29 PM UTC

二、日期运算与转换

有时,您可能需要计算未来或过去的某个日期,或者将日期转换为不同格式。以下是一些实用工具和方法:

date 的加减运算:使用 date -d 实现日期的加减。例如,获取明天的日期:

In [7]:

代码语言:javascript
复制
代码语言:javascript
复制
!date -d 'tomorrow'
代码语言:javascript
复制

Sun 07 Apr 2024 04:33:59 PM UTC

或者计算指定天数后的日期:

In [8]:

代码语言:javascript
复制
代码语言:javascript
复制
!date -d 'now + 7 days'
代码语言:javascript
复制
代码语言:javascript
复制
Sat 13 Apr 2024 04:34:20 PM UTC

三、利用日期筛选文件

在处理大量文件时,根据文件的创建、修改或访问日期进行筛选尤为实用。以下是一些常见操作:

查找最近修改的文件:使用 find 命令结合 -mtime、-ctime 或 -atime 选项,按修改时间、状态改变时间或访问时间筛选文件。例如,查找过去24小时内修改过的文件:

In [23]:

代码语言:javascript
复制
代码语言:javascript
复制
!touch 1.txt 2.txt 3.txt
代码语言:javascript
复制

In [24]:

代码语言:javascript
复制
代码语言:javascript
复制
!find /home/mw/project -type f -mtime -1
代码语言:javascript
复制
代码语言:javascript
复制
/home/mw/project/1.txt
/home/mw/project/2.txt
/home/mw/project/3.txt

根据日期范围查找文件: 通过组合 -newer 选项与一个参考文件(或日期标记文件)来定位在指定日期之后修改的文件:

In [38]:

代码语言:javascript
复制
代码语言:javascript
复制
!touch -d '2022-04-06 00:49:00' reference_file
代码语言:javascript
复制

In [37]:

代码语言:javascript
复制
代码语言:javascript
复制
!find /home/mw/project -type f -newer reference_file
代码语言:javascript
复制
代码语言:javascript
复制
/home/mw/project/1.txt
/home/mw/project/2.txt
/home/mw/project/3.txt

四、调度基于日期的任务

计划任务是Linux管理中的重要一环,cron 是实现定时任务的瑞士军刀。利用 crontab 命令编辑定时任务列表,您可以精确控制任务的执行时间:

In [40]:

代码语言:javascript
复制
# 打开 crontab 编辑器
代码语言:javascript
复制
!crontab -e
代码语言:javascript
复制
# 添加定时任务(每天凌晨3点执行 backup.sh 脚本)
代码语言:javascript
复制
!0 3 * * * /path/backup.sh
代码语言:javascript
复制
代码语言:javascript
复制
/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)

小结

以上仅为个人常用指令,如有异议欢迎补充

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux入门002 | 看日期、时间换算和定时作业
    • 前言
      • 一、获取当前日期与时间
        • 二、日期运算与转换
          • 三、利用日期筛选文件
            • 四、调度基于日期的任务
              • 小结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档