您的位置:首页 > 运维架构 > Linux

Linux时间相关的命令

2011-10-04 13:56 134 查看
 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟

。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时

钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统

时钟的设置,然后系统时钟就会独立于硬件运作。

时钟相关命令:cal,date,clock,hwclock,tzselect

1.date

名称:打印或设置系统日期和时间。

总揽:

date[options] [+format]

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

描述:

date命令以指定的格式显示当前时间或者设置系统日期。

options:

-d,--date=String:显示指定字符串所描述的日期而不是当前日期。

-f,--file=DateFile:从指定的文件中读取日期来显示。每个日期一行。

会在最后一行显示当前日期。

-r,--reference=File:显示指定文件的最后修改时间。

-R,--rfc-2822:以RFC 2822格式显示日期和时间。显示格式如:

Sun, 04 Apr 2010 00:47:28 +0800

-s,--set=String:设置时间为String.需要管理员权限。

-u,--utc,--universal:打印或设置时间为Universal时间。

format控制输出格式:

%% 一个文字的%

%a 当前locale的星期名的缩写(如日表示星期日)

%A 当前locale的星期名的全名。(如星期日)

%b,%h 当前locale的月名的缩写(如一代表一月)

%B 当前locale的月的全名(如一月)

%c 当前locale的日期和时间(如:2010年04月04日 星期日 01时05分18秒)

%C 省略年份的后两位数。(如:2010年则显示20)

%d 按月计的日期(如四月则显示04)

%D 按月计的日期,等于%m/%d/%y

%e 按月计的日期(如4代表四月)

%F 完整日期格式,等价于%Y-%m-%d(如2010-04-04)

%g 显示年份的后两位数。(如2009则显示09)

%G ISO-8601格式显示完整的年份。

%H 小时(00-23)

%I 小时(00-12)

%k 小时(0-23)

%l 小时(1-12)

%M 分(00-59)

%S 秒(00-59)

%n 换行

%m 月份(01-12)

%N 纳秒(000000000-999999999)

%p,%P 显示’上午‘或‘下午’。

%r 显示12小时的时间(如:11:11:04 下午)

%R 显示24小时的时和分等价于%H:%M

%s 显示自1970-01-01 00:00:00 以来走过的秒数。

%t 输出制表符

%T 时间等价于%H:%M:%S

%U 显示一年中的第几周,以星期日为每周的第一天。

%V 显示一年中的第几周,以星期一为每周的第一天。

%Y 年份

%w 一星期中的第几日(0-6),0 代表周一

%W 一年中的第几周,以周一为每星期第一天(00-53)

%x 当前locale 下的日期描述 (如:12/31/99)

%X 当前locale 下的时间描述 (如:23:13:48)

%z +hhmm 数字时区(例如,-0400)

%:z +hh:mm 数字时区(例如,-04:00)

%::z +hh:mm:ss 数字时区(例如,-04:00:00)

%:::z 数字时区带有必要的精度 (例如,-04,+05:30)

%Z 按字母表排

默认情况,日期以数字0填充。以下可选标记可以跟在"%"后:

- (连字符)不填充该域

_ (下划线)以空格填充

0 (数字0)以0 填充

^ 如果可能,使用大写字母

# 如果可能,使用相反的大小写

在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。
作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的
表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号。

date的string格式:

--date=String:中的String是自由格式且为易于人类读懂的格式。可以写成:

1.“Sun, 29 Feb 2010 16:21:42 -0800"

2."2010-04-07 16:23:23"

3."next Thursday"

一个String可能包括:年,月,日,星期几,时,分,秒,相对时间,数字,相

对日期。

使用权限:

设置时间和日期时只能为管理员权限

显示时间和日期是为所有者

实例:

date -d "next Thursday" #显示下周四的日期

date #显示当前时间和日期

2.cal,ncal

名称:显示日历和东方日期。

总揽:

cal [-3jmy] [[month] year]

ncal [-jJpwy] [-s country_code] [[month]year]

ncal [-Jeo] [year]

描述:

cal命令以传统格式显示一个简单的日历,ncal提供另一种排版模式和更多选项显示日期

新的格式有一点狭窄但是适合在25*80的终端上显示一年的日历。若未指定参数则之显示当

月的日历。

options:

-3:显示3个月的日历。前一个月,这个月,后一个月。

-j:显示Julian日历。(显示这一年已过的天数)。

-m:以星期一作为一个星期的第一天。

-y:显示当年整年的日历。

使用权限:

所有者

实例:

cal #显示当前月的日历

cal -j #显示这一年已过的天数

cal 3 2009 #显示2009年3月的日历

说明:

若只有一个参数的话,则代表年份(1-9999)显示该年的全年日历。年份必须为完整的

数(1-9999)。

1752年9月3日起改用西洋日历,因此这个月有10天被除去。

3.clock,hwclock

名称:查询和设置硬件时钟(RTC)

用法: hwclock [Functions] [Options...]

Functions:

--help:显示帮助

--show:显示硬件时钟

--set:设置硬件时钟为由--date指定的时钟

--hctosys:设置系统时钟为硬件时钟

--systohc:设置硬件时钟为当前的系统时钟

Options:

--utc:以UTC显示硬件时钟

--localtime:以本地时间显示硬件时钟

--date="MM/DD/YY HH:MM:SS":指定设置的硬件时钟.

实例:

#(1).显示当前的硬件时钟

clock

#(2).设置硬件时钟为指定的时间

clock --set --date="10/04/11 13:27"

#(3).将系统时钟保存为硬件时钟(即设置硬件时钟为当前系统时钟)

clock --systohc

#(4).将硬件时钟保存为系统时钟(即设置当前系统时钟为硬件时钟)

clock --hctosys

4.设置当前系统的时区

#!/bin/bash
CMD=tzselect

zone=$($CMD)
cp /usr/share/zoneinfo/$zone /etc/localtime
echo "将你的系统时区设置为 $zone"本文出自 “黄彦东” 博客,请务必保留此出处http://huangyandong.blog.51cto.com/1396940/679163
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: