下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

详解Linux系统中 日期和时间操作的方法

作者:课课家教育     来源: http://www.kokojia.com点击数:957发布时间: 2016-02-23 13:40:39

标签: Linux时间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

  显示日历

  $ 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

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

  使用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.772sLinux 文件的时间概念

  (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"

赞(18)
踩(4)
分享到:
华为认证网络工程师 HCIE直播课视频教程