安卓系统

Linux date命令及示例

麦子学院-10小时入门大数据-第07章 Hadoop分布式集群搭建

麦子学院-10小时入门大数据-第07章 Hadoop分布式集群搭建

目录:

Anonim

date命令显示或设置系统日期。 它最常用于以不同格式打印日期和时间,并计算将来和过去的日期。

在本教程中,我们将介绍date命令的基础知识。

使用Linux date命令

date 命令的语法如下:

date…

要使用默认格式显示当前系统时间和日期,请调用不带任何选项的命令:

date

输出将包括星期几,月份,月份,时间,时区和年份:

Sat Jun 1 14:31:01 CEST 2019

日期格式选项

可以使用一系列格式控制字符(带 + 号开头)格式化 date 的输出。 格式控件以 % 符号开头,并由其值代替。

date +"Year: %Y, Month: %m, Day: %d"

%Y 字符将替换为年份, %m 将替换为月份, %d 将替换为月份的日期:

Year: 2019, Month: 06, Day: 02

这是另一个示例:

date "+DATE: %D%nTIME: %T"

DATE: 06/02/19 TIME: 01:47:04

以下是一些最常见的格式字符的一小部分:

  • %a a-语言环境的缩写的短工作日名称(例如,星期一) %A 语言环境的缩写的完整工作日名称(例如,星期一) %b 语言环境的缩写的短月份名称(例如,一月) %B 语言环境的缩写的长月份名称(例如,一月) %d -月份中的一天(例如01) %H 小时(00..23) %I 小时(01..12) %j 一年中的一天(001..366) %m 月(01..12 ) %M 分钟(00..59) %S 秒(00..60) %u 星期几(1..7) %Y 全年(例如2019)

要获取所有格式选项的完整列表,请在终端中运行 date --help man date

日期字串

-d 选项允许您在特定日期进行操作。 您可以将日期指定为易于理解的日期字符串,如下所示:

date -d "2010-02-07 12:10:53"

Sun Feb 7 12:10:53 CET 2010

使用自定义格式:

date -d '16 Dec 1974' +'%A, %d %B %Y'

Monday, 16 December 1974

日期字符串还可以接受诸如“明天”,“星期五”,“上周五”,“下周五”,“下个月”,“下周”等值。

date -d "last week"

Sat May 25 14:31:42 CEST 2019

您还可以使用日期字符串选项显示不同时区的本地时间。 例如,要显示下周一星期一在澳大利亚东海岸的当地时间6:30,您可以输入:

date -d 'TZ="Australia/Sydney" 06:30 next Monday'

Sun Jun 2 22:30:00 CEST 2019

覆盖时区

date 命令使用默认系统时区。 要使用其他时区,请将环境变量 TZ 设置为所需时区。

例如,要显示澳大利亚墨尔本时间,请输入:

TZ='Australia/Melbourne' date

Sat Jun 1 22:35:10 AEST 2019

要列出所有可用的时区,可以列出 /usr/share/zoneinfo 目录中的文件,也可以使用 timedatectl list-timezones 命令。

时代转换器

date 命令可以用作纪元转换器。 纪元(Unix时间戳)是自1970年1月1日UTC时间00:00:00起经过的秒数。

要打印从纪元到当前日期的秒数,请使用 %s 格式控件:

date +%s

1559393792

要将纪元以来的秒转换为日期,请将秒设置为以 @ 开头的日期字符串:

date -d @1234567890

Sat Feb 14 00:31:30 CET 2009

将日期与其他命令一起使用

date 命令最常用于创建包含当前时间和日期的文件名。

下面的命令将以以下格式创建Mysql备份文件 database_name-20190601.sql

mysqldump database_name > database_name-$(date +%Y%m%d).sql

您还可以在shell脚本中使用 date 命令。 在下面的示例中,我们将 date 的输出分配给 date_now 变量:

date_now=$(date "+%F-%H-%M-%S") echo $date_now

2019-06-01-15-02-27

显示文件的最后修改时间

-r 选项的 date 命令显示文件的最后修改时间。 例如:

date -r /etc/hosts

Tue Jul 24 11:11:48 CEST 2018

设置系统时间和日期

通常不建议使用 date 命令手动设置系统时间和日期,因为在大多数Linux发行版中,系统时钟是使用 ntp systemd-timesyncd 服务进行同步的。

但是,如果要手动设置系统时钟,则可以使用 --set= 选项。 例如,如果要将日期和时间设置为2019年6月1日下午5:30,则应输入:

date --set="20190601 17:30"

结论

到目前为止,您应该对如何使用Linux date命令有一个很好的了解。

日期终端