Linux日期和时间的那些事儿

http://embeddedlinux.org.cn/emb-linux/entry-level/201311/09-2672.html

自己还是稚嫩啊..

除了年龄

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"

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/entry-level/201311/09-2672.html

[转帖]Linux日期和时间的那些事儿的更多相关文章

  1. linux date 格式化时间和日期

    [root@108test ~]# date -d today +"%Y-%m-%d" 2008-05-07   [root@108test ~]# date -d today + ...

  2. (Linux基础学习)第四章:Linux系统中的日期和时间介绍和ntpdate命令

    第1节:日期和时间1.Linux的两种时钟:系统时钟:由Linux内核通过CPU的工作频率进行的硬件时钟:主板2.相关命令date 显示和设置系统时间hwclock,clock 显示硬件时钟-s,-- ...

  3. linux 实用指令时间日期类

    linux 使用指令时间日期类 data 显示当前日期 基本语法 date 显示当前时间 date+%Y 显示当前年份 date+%m 显示当前月份 date+%d 显示当前是哪一天 date &qu ...

  4. Linux date命令 - 显示和设置系统日期与时间

    操作系统上的时间也许只是当做一个时钟.特别在控制台下, 我们通常并不认为时间有什么重要的.但是对于管理员,这种认识是错误的.你知道错误的日期和时间会导致你不能编译程序么? 因为日期和时间很重要,这或许 ...

  5. Linux C 中获取local日期和时间 time()&localtime()函数

    1.  time() 函数 /* time - 获取计算机系统当前的日历时间(Calender Time) * 处理日期时间的函数都是以本函数的返回值为基础进行运算 * * 函数原型: * #incl ...

  6. Linux命令应用大词典-第8章 日期和时间

    8.1 cal:显示日历信息 8.2 date:显示和设置系统日期和时间 8.3 hwclock:查看和设置硬件时钟 8.4 clock:查看和设置硬件时钟 8.5 clockdiff:主机之间测量时 ...

  7. python笔记7:日期和时间

    Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示. 时间 ...

  8. 查看修改Linux时区和时间

    查看/修改Linux时区和时间 一.时区 1. 查看当前时区 date -R 2. 修改设置时区 方法(1) tzselect 方法(2) 仅限于RedHat Linux 和 CentOS timec ...

  9. 如何查看、修改Linux的系统时间

    如题: 如何修改Linux的系统时间? date -s 05/27/2011 date -s 10:24:00 clock -w 就这三条命令就OK了! 查看/修改Linux时区和时间 一.时区 1. ...

随机推荐

  1. 五十.KVM简介、 Virsh管理 、 自定义虚拟机、虚拟设备管理

    1.virsh基本管理操作 列出当前正在运行的虚拟机 查看虚拟机的信息 管理虚拟机 设置虚拟机开机自动运行   1.1 virsh基本操作   查看kvm节点(服务器)信息 ] virsh nodei ...

  2. Gradle 如何打包 Spring Boot 如何不添加版本代码

    在 Gradle 中如何在打包的 Jar 中不包含版本代码? 在 bootJar 中,使用下面的代码进行打包不包含版本代码. archiveFileName = "${archiveBase ...

  3. gopub自动化发布平台安装

    1.软件配置 centos7 mysql5.7.26 gopub1.1.3 2.硬件配置 4核8G aws rds aws 3.数据库配置 #这个不执行,执行下面一句 --CREATE DATABAS ...

  4. Tomcat部署时war和war exploded区别以及如何实现热部署

    war和war exploded的区别       使用IDEA配置Tomcat服务的时候,在 Select Artifacts to Deploy 选项中相同项目名有war和 war explode ...

  5. php 图片格式转换-亲测ok

    代码如下 /** * 图片格式转换 * @param string $image_path 文件路径或url * @param string $to_ext 待转格式,支持png,gif,jpeg,w ...

  6. grindtest 测试

    性能工程的性能测试 测试的关键趋势之一是将性能测试角色不断转变为成熟的性能工程角色.性能工程现在不仅包括测试方面,还包括监控系统性能.资源的自动伸缩.A/B 测试.ELB.数据库优化.瓶颈识别和监控. ...

  7. 一文教你读懂Python中的异常信息

    正文共:11813 字 2 图 预计阅读时间: 30 分钟 原文:https://realpython.com/python-traceback/ 译者:陈祥安 原文有所改动. 在写 Python 代 ...

  8. BufferedWriter中write与close函数使用

    BufferedWriter 是一个缓冲字符输出流,可以将要输出的内容先缓冲到一个字符数组中,等字符数组满了才一次性写到输出流内,默认的字符数组长度为8192.使用BufferedWriter 时需要 ...

  9. arcgis python获得别名

    import arcpy # Create a Describe object from the GDB table. # desc = arcpy.Describe(r"C:\Users\ ...

  10. 分组背包---P1757 通天之分组背包

    P1757 通天之分组背包 题解 分组背包板子题 k组物品,每组之间相互矛盾,也就是一组里面只能选一个或者不选 分组背包其实和01背包差不多,就是多加一维枚举组数 f[k][j] 前k组中,体积不超过 ...