命令行大全

date

rose1 发表于 2020-08-28 09:03浏览次数:

在类似Unix的操作系统上,date命令用于打印出系统的时间和日期信息或更改其值。 本文档介绍了日期的GNU / Linux版本。

查看英文版

目录:

1 date 运行系统环境

2 date 语法

3 date例子

date 运行系统环境

Linux

date 语法

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

选件

-d--date=STRING 显示字符串 STRING所描述的时间,而不是默认值“ now ”。
-f--file=DATEFILE --date类似,但对文件DATEFILE的每一行处理一次。
-I[TIMESPEC], --iso-8601[=TIMESPEC] 以ISO 8601格式输出日期/时间。对于TIMESPEC的值,请将 “ date ”仅用于日期(默认值),将“ hours ”,“ minutes ”,“ seconds ”“ ns ”用于日期和时间到指定的精度。
-r--reference=FILE 显示文件FILE的最后修改时间。
-R--rfc-2822 以RFC 2822格式输出日期和时间。示例:2006年8月7日星期一12:34:56 -0600
--rfc-3339=TIMESPEC 以RFC 3339格式输出日期和时间。可以将TIMESPEC的日期和时间设置为“ date ”,“ seconds ”“ ns ”以达到指定的精度。日期和时间部分用单个空格分隔,例如:2006-08-07 12:34:56-06:00
-s--set=STRING 设置时间,由字符串STRING描述。
-u--utc--universal 打印或设置世界标准时间。
--help 显示帮助消息并退出。
--version 显示版本信息并退出。

日期格式

FORMAT是一系列字符,用于指定输出的显示方式。它包含以下序列的某种组合:

%% 文字百分号(“ % ”)。
%a 工作日的缩写名称(例如Sun)。
%A 工作日的完整名称(例如,周日)。
%b 缩写的月份名称(例如Jan)。
%B 语言环境的完整月份名称(例如January)。
%c 日期和时间(例如,Thu Mar 3 23:05:25 2005)。
%C 本世纪;像%Y一样,除了省略后两位数字(例如20)。
%d 一个月中的某天(例如01)。
%D 日期; 与%m /%d /%y相同。
%e 一个月中的某天,空间已填充;与%_d相同。
%F 完整日期;与%Y-%m-%d相同。
%g ISO周编号的年份的后两位数字(请参见%G)。
%G ISO周编号的年份(请参见%V);通常仅对%V有用。
%h %b相同。
%H 小时(00 .. 23)。
%I 小时(01 .. 12)。
%j 一年中的某天(001 .. 366)。
%k 小时,填充空格(0 .. 23); %_H相同。
%l 小时,填充空格(1 .. 12); %_I相同。
%m (01 .. 12)。
%M 分钟(00 .. 59)。
%n 一个换行符。
%N 纳秒(000000000 .. 999999999)。
%p 相当于AMPM的语言环境;如果未知,则为空白。
%P 类似于%p,但小写。
%r 语言环境的12小时制时钟时间(例如11:11:04 PM)。
%R 24小时时分;与%H:%M相同。
%s 自1970-01-01 00:00:00 UTC以来的秒数。
%S (00 .. 60)。
%t 一个选项卡。
%T 时间; 与%H:%M:%S相同。
%u 星期几(1 .. 7); 1是星期一。
%U 一年中的第几周,以星期日为一周的第一天(00 .. 53)。
%V ISO周编号,星期一为一周的第一天(01 .. 53)。
%w 星期几(0 .. 6); 0是星期日。
%W 一年中的第几周,星期一为一周的第一天(00 .. 53)。
%x 语言环境的日期表示形式(例如12/31/99)。
%X 语言环境的时间表示(例如23:13:48)。
%y 年份的后两位数字(00 .. 99)。
%Y 年。
%z + hhmm数字时区(例如-0400)。
%:z + hh:mm数字时区(例如-04:00)。
%::z + hh:mm:ss数字时区(例如-04:00:00)。
%:::z 带有“ : ”的数字时区必须达到必要的精度(例如-04,+05 :30)。
%Z 字母时区缩写(例如EDT)。

默认情况下,日期填充数字字段为零。以下可选标志可能位于' % '之后:

- (连字符)不要填充字段。
_ 用空格填充。
0 用零填充。
^ 如果可能,请使用大写字母。
# 如果可能,请使用相反的大小写。

在任何标志之后是可选的字段宽度,以十进制数表示;然后是一个可选的修饰符,如果可能,可以使用E来使用语言环境的替代表示形式,或者可以使用O来使用语言环境的替代数字符号。

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

Options

-d--date=STRING Display time described by string STRING, as opposed to the default, which is 'now'.
-f--file=DATEFILE Like --date, but processed once for each line of file DATEFILE.
-I[TIMESPEC], --iso-8601[=TIMESPEC] Output date/time in ISO 8601 format. For values of TIMESPEC, use 'date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision.
-r--reference=FILE Display the last modification time of file FILE.
-R--rfc-2822 Output date and time in RFC 2822 format. Example: Mon, 07 Aug 2006 12:34:56 -0600
--rfc-3339=TIMESPEC Output date and time in RFC 3339 format. TIMESPEC can be set to 'date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space, for example: 2006-08-07 12:34:56-06:00
-s--set=STRING Set time described by string STRING.
-u--utc--universal Print or set Coordinated Universal Time.
--help Display a help message and exit.
--version Display version information and exit.

Date format

FORMAT is a sequence of characters which specifies how output will appear. It comprises some combination of the following sequences:

%% A literal percent sign ("%").
%a The abbreviated weekday name (e.g., Sun).
%A The full weekday name (e.g., Sunday).
%b The abbreviated month name (e.g., Jan).
%B Locale's full month name (e.g., January).
%c The date and time (e.g., Thu Mar 3 23:05:25 2005).
%C The current century; like %Y, except omit last two digits (e.g., 20).
%d Day of month (e.g., 01).
%D Date; same as %m/%d/%y.
%e Day of month, space padded; same as %_d.
%F Full date; same as %Y-%m-%d.
%g Last two digits of year of ISO week number (see %G).
%G Year of ISO week number (see %V); normally useful only with %V.
%h Same as %b.
%H Hour (00..23).
%I Hour (01..12).
%j Day of year (001..366).
%k Hour, space padded ( 0..23); same as %_H.
%l Hour, space padded ( 1..12); same as %_I.
%m Month (01..12).
%M Minute (00..59).
%n A newline.
%N Nanoseconds (000000000..999999999).
%p Locale's equivalent of either AM or PM; blank if not known.
%P Like %p, but lowercase.
%r Locale's 12-hour clock time (e.g., 11:11:04 PM).
%R 24-hour hour and minute; same as %H:%M.
%s Seconds since 1970-01-01 00:00:00 UTC.
%S Second (00..60).
%t A tab.
%T Time; same as %H:%M:%S.
%u Day of week (1..7); 1 is Monday.
%U Week number of year, with Sunday as first day of week (00..53).
%V ISO week number, with Monday as first day of week (01..53).
%w Day of week (0..6); 0 is Sunday.
%W Week number of year, with Monday as first day of week (00..53).
%x Locale's date representation (e.g., 12/31/99).
%X Locale's time representation (e.g., 23:13:48).
%y Last two digits of year (00..99).
%Y Year.
%z +hhmm numeric time zone (e.g., -0400).
%:z +hh:mm numeric time zone (e.g., -04:00).
%::z +hh:mm:ss numeric time zone (e.g., -04:00:00).
%:::z Numeric time zone with ":" to necessary precision (e.g., -04+05:30).
%Z Alphabetic time zone abbreviation (e.g., EDT).

By default, date pads numeric fields with zeroes. The following optional flags may follow '%':

- (Hyphen) do not pad the field.
_ Pad with spaces.
0 Pad with zeros.
^ Use uppercase if possible.
# Use opposite case if possible.

After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available.

查看英文版

查看中文版

date例子

date

不带任何选项的运行日期将输出系统日期和时间,如以下输出所示:

Thu Feb 8 16:47:32 MST 2001
date -s "11/20/2003 12:48:00"

将系统日期和时间设置为2003年11月20日下午12:48。

date "+DATE: %m/%d/%y%nTIME: %H:%M:%S"

以以下格式输出日期和时间:

DATE: 02/08/01
TIME: 16:44:55
ls -al > output_$(date +"%m_%d_%Y")

在bash中,此命令将生成一个带有ls的目录,并将输出重定向到一个文件,该文件在文件名中包括当前日,月和年。它使用bash 命令替换来执行此操作,在子shell中运行date命令并将该输出插入到原始命令中。

date

Running date with no options will output the system date and time, as in the following output:

Thu Feb 8 16:47:32 MST 2001
date -s "11/20/2003 12:48:00"

Set the system date and time to November 20, 2003, 12:48 PM.

date "+DATE: %m/%d/%y%nTIME: %H:%M:%S"

Outputs the date and time in the following format:

DATE: 02/08/01
TIME: 16:44:55
ls -al > output_$(date +"%m_%d_%Y")

In bash, this command will generate a directory listing with ls, and redirect the output to a file which includes the current day, month, and year in the file name. It does this using bash command substitution, running the date command in a subshell and inserting that output into the original command.

查看英文版

查看中文版