天下网吧 >> 网吧天地 >> 网吧行业 >> 网络追踪 >> 正文

Linux日期和时间的那些事儿

2013-11-10嵌入式Linux中文站佚名
:Linux日期和时间的那些事儿

Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,当Linux启动时,系统时钟会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。

如何查看系统的日期和时间?

$ date

Tue Oct 16 11:18:32 CST 2012

date支持格式化输出,如

$ date +”%r %n%a %b %d, %Y”

11:27:14 AM

Tue Oct 16, 2012

显示指定的日期与时间

$ date -d“+1 month”

Fri Nov 16 11:31:10 CST 2012

详见:http://wiki.51osos.com/wiki/Date

显示日历

$ cal

October 2012

Su Mo Tu We Th Fr Sa

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

详见:http://wiki.51osos.com/wiki/Cal

如何修改系统日期和时间?

使用date命令的-s参数.

#date -s 12/4/2011 #date -s 14:15:00

date -s’2011/12/4 14:15:00′

如何查看硬件时钟?

# hwclock–show

Tue 16 Oct 2012 09:19:57 PM CST -0.844514 seconds

如何设置硬件时钟?

# hwclock–set–date=”09/17/2003 13:26:00″

# hwclock–hctosys //硬件时钟与系统时钟同步

# hwclock–systohc //系统时钟与硬件时钟同步

硬件时钟也可以通过clock命令来查看和设置.

时区

UTC Universal Time Coordinated,世界标准时间

GMT Greenwich Mean Time,格林尼治时间

CST China standard Time,中国标准时间

比如设置设置时区为CST

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

NTP

Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正,且可介由加密确认的方式来防止恶毒的协议攻击。

官方网站: http://www.pool.ntp.org/en/

可使用ntpdate同步,服务器可加crontab

# ntpdate cn.pool.ntp.org

使用time命令获取命令执行时间

$ time ls -Rl dir/*

[...]

real 0m22.156s

user 0m1.652s

sys 0m4.772s

Linux文件的时间概念

(1) modification time (mtime,修改时间),是文件内容修改的时间,用命令ls -l默认显示的就是这个时间.

(2)status time(ctime,状态时间):当一个文件的状态改变时,这个时间就会改变,例如更改了文件的权限与属性等,它就会改变。

(3)access time(atime,访问时间):当读取文件内容时,就会更改这个时间,例如使用cat去读取/etc/man.config,那么该文件的atime就会改变。

可使用ls -l–time=atime–full-time和ls -l–time=ctime–full-time来查看.另外可以用stat命令来查看.

$ stat README.md

File: `README.md’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 809h/2057d Inode: 2755432 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 1000/ diglike) Gid: ( 1000/ diglike)

Access: 2012-09-21 15:36:42.238294913 +0800

Modify: 2012-09-21 15:35:31.626295155 +0800

Change: 2012-09-21 15:35:31.750295154 +0800

Birth: -

$ ls–full-time README.md

-rw-rw-r–1 diglike diglike 25 2012-09-21 15:35:31.626295155 +0800 README.md

$ ls–time=atime–full-time README.md

-rw-rw-r–1 diglike diglike 25 2012-09-21 15:36:42.238294913 +0800 README.md

$ ls–time=ctime–full-time README.md

-rw-rw-r–1 diglike diglike 25 2012-09-21 15:35:31.750295154 +0800 README.md

如何修改Linux文件的访问时间和修改时间?

可以使用touch命令来修改.

-a 参数只修改atime

-m参数只修改mtime

-c参数不创建文件

-t [[CC]YY]MMDDhhmm[.ss] 修改为指定时间

如:

touch -t 1210011224.30 abc

touch -d“5 days ago”abc

定制ls输出的日期和时间格式

每个Linux系统可能不一样,由TIME_STYLE环境变量控制.以下是Ubuntu 12.04的默认输出格式:

$ll README.md

-rw-rw-r– 1 diglike diglike 25 Sep 21 15:35 README.md

我修改后显示为

$ ll README.md

-rw-rw-r–1 diglike diglike 25 2012-09-21 15:35 README.md

因为我在.bashrc中添加了export TIME_STYLE=long-iso

还可以定制如

$ export TIME_STYLE="+%Y-%m-%d %H:%M:%S %z"

本文来源:嵌入式Linux中文站 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行