目录
一、data命令
1.介绍
date命令用于显示或设置系统的时间与日期,语法格式为:“ date [+指定的格式]”。
用户只需在强大的date命令后输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。例如,把打包后的文件自动按照“年-月-日”的格式打包成“backup-2020-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了解到每个文件的备份时间了。
2.常用参数
参数 | 作用 |
---|---|
%S | 秒(00~59 ) |
%M | 分钟(00~59 ) |
%H | 小时(00~23 ) |
%l | 小时(00~12 ) |
%m | 月份(1~12 ) |
%p | 显示出AM或PM |
%a | 缩写的工作日名称(例如: Sun ) |
%A | 完整的工作日名称(例如: Sunday ) |
%b | 缩写的月份名称(例如:Jan ) |
%B | 完整的月份名称(例如:January ) |
%q | 季度( 1~4 ) |
%y | 简写年份(例如∶20 ) |
%Y | 完整年份(例如∶2020 ) |
%d | 本月中的第几天 |
%j | 今年中的第几天 |
%n | 换行符(相当于按下回车键) |
%t | 跳格(相当于按下Tab键) |
%V | 显示当前日期的周数 |
- 按照默认格式查看当前系统时间的date命令如下所示:
[user@redhathost20230911 ~]$ date
Sat Apr 6 20:33:36 CST 2024
- 按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
[user@redhathost20230911 ~]$ date "+%Y-%m-%d %H:%M:%S"
2024-04-06 20:43:51
- date命令中的参数%j可用来查看今天是当年中的第几天。这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间。该参数的使用方式以及显示结果如下所示:
[root@redhathost20230911 ~]# date "+%j"
097
3.常用选项
选项 | 功能 |
---|---|
-s | 设置系统的日期和时间 |
- -s
将系统的当前时间设置为2025年10月11日1点35分30秒的date命令如下所示:
有两种方法:
1.月日时分年点秒
[root@redhathost20230911 ~]# date 101101352025.30
Sat Oct 11 01:35:30 CST 2025
2.-s
[root@redhathost20230911 ~]# date -s "2025-10-11 1:35:30"
Sat Oct 11 01:35:30 CST 2025
二、timedatectl命令
1.介绍
timedatectl 命令用于设置系统的时间,英文全称为: “time date control” ,语法格式为: “timedatectl [参数 ]” 。
发现电脑时间跟实际不符?如果只差几分钟的话,我们可以直接调整,但如果差几个小时,那么除了调 整当前的时间,还有必要检查下时区了。
2.常用子命令
- 查看系统时间与时区:
[root@redhathost20230911 ~]# timedatectl status
Local time: Sat 2024-04-06 21:57:22 CST
Universal time: Sat 2024-04-06 13:57:22 UTC
RTC time: Sat 2024-04-06 13:57:22
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
- 如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:
[root@redhathost20230911 ~]# timedatectl set-timezone Asia/Shanghai
- 如果时间还是不正确,我们可以手动的修改系统日期:
[root@redhathost20230911 ~]# timedatectl set-time 2024-04-06
Failed to set time: NTP unit is active
- 而如果想修改时间的话,也很简单:
timedatectl set-time 9:30
- localectl set-locale LANG=en_US
三、练习
1.题目
-
使用
date
命令显示当前的日期和时间。 -
使用
date
命令将当前日期和时间格式化为YYYY-MM-DD HH:MM:SS的形式。 -
使用
date
命令显示当前月份的日历。 -
使用
date
命令将系统时间设置为指定的日期和时间。 -
使用
date
命令计算两个日期之间的天数差。 -
使用
date
命令显示当前时区。 -
使用
date
命令显示当前日期的Unix时间戳。 -
使用
date
命令显示当前日期的年份。 -
使用
date
命令将日期和时间转换为指定格式。 -
使用
date
命令显示当前日期的周数。
2.参考答案
- 使用
date
命令显示当前的日期和时间。[root@redhathost20230911 ~]# date Sun Apr 7 08:56:51 CST 2024 [root@redhathost20230911 ~]#
-
使用
date
命令将当前日期和时间格式化为YYYY-MM-DD HH:MM:SS的形式。[root@redhathost20230911 ~]# date "+%Y-%m-%d %H:%M:%S" 2024-04-07 08:59:44 [root@redhathost20230911 ~]#
-
使用
date
命令显示当前月份的日历。[root@redhathost20230911 ~]# date +%m 04 [root@redhathost20230911 ~]#
-
使用
date
命令将系统时间设置为指定的日期和时间。 -
使用
date
命令计算两个日期之间的天数差。 -
使用
date
命令显示当前时区。[root@redhathost20230911 ~]# date +%Z CST [root@redhathost20230911 ~]#
-
使用
date
命令显示当前日期的Unix时间戳。[root@redhathost20230911 ~]# date +%s 1712452726 [root@redhathost20230911 ~]#
时间戳是一种表示日期和时间的方式,通常以秒数的形式表示自1970年1月1日00:00:00 UTC以来的时间间隔。这个特定的时间点被称为UNIX纪元(Unix Epoch),是计算机系统中广泛使用的时间起点。
使用时间戳的主要优势是它们是与时区无关的,因为它们是以UTC时间为基础的。这使得时间戳在跨越不同的时区或在计算机系统中进行时间计算时非常方便。
Unix时间戳是一种常见的时间表示方法,在许多编程语言和操作系统中都有内置支持。它被广泛用于记录文件的创建时间、处理时间相关的数据、计算时间间隔等各种场景。
-
使用
date
命令显示当前日期的周数。[root@redhathost20230911 ~]# date +%V 14 [root@redhathost20230911 ~]#