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

因为日期和时间很重要,这或许就是开发网络时间协议(NTP:Network Time Protocol)的原因。让我们了解下date命令是如何工作的。

显示系统日期

要显示系统日期,只要输入:

  1. $ date
  2. Thu Dec 5 22:55:41 WIB 2013

格式化显示日期

日期有很多格式。如果你不喜欢默认的格式,你可以换一种格式。你可能会想"为什么我需要改变格式? 默认的输出对我足够了。"

是的,你说的对,但是当你在编程时,默认输出或许无法满足你的需求,因此需要一些自定义输出。

RFC 2822 的日期与时间输出格式

  1. $ date -R
  2. Thu, 05 Dec 2013 23:40:53 +0700

RFC 2822 的格式像这样 : 星期, 日-月-年, 小时:分钟:秒 时区

时区 +0700 等同于 GMT +7。

默认上date使用的是定义在/etc/localtime的时区。有效时区数据定义在/usr/share/timezones。

显示或者设置协调世界时

在 Wikipedia 上,UTC 意思是

世界上主要的时钟和时间的标准。这是格林位置标准时间几个非常相近的替代者之一。

以UTC形式显示日期和时间, 使用 -u 参数

  1. $ date -u
  2. Thu Dec 5 16:45:58:UTC 2013

使用格式化选项

要自定义你的日期格式, 使用加号 (+)

  1. $ date +”Day : %d Month : %m Year : %Y”
  2. Day: 05 Month: 12 Year: 2013
  1. $ date +%D
  2. 12/05/13

%D 格式是 年/月/日 的格式.

如果你想的话,你可以输出日期的名字。下面是一些例子:

  1. $ date +”%a %b %d %y”
  2. Fri 06 Dec 2013
  3. $ date +”%A %B %d %Y”
  4. Friday December 06 2013
  5. $ date +”%A %B %d %Y %T”
  6. Friday December 06 2013 00:30:37
  7. $ date +”%A %B-%d-%Y %c”
  8. Friday December-06-2013 12:30:37 AM WIB

还有很多的日期格式。只要输入:

  1. $ date –help

或者

  1. $ man date

来显示date命令的语法和参数。

基本上,date命令会翻译所有所有的百分号(%)开头的格式和输出在引号("")内所有的内容。

设置系统日期和时间

通常地,你希望你的系统日期和时间是自动设置的。如果由于一些原因,你想要手动修改它,我们可以使用这个命令。

  1. # date –set=”20140125 09:17:00”

这会设置你当前的系统日期和时间到一月 25, 2014 and 09:17:00 AM。请注意,你必须拥有root特权来这么做。不然你会得到这样一个错误。

  1. date: cannot set date: Operation not permitted
  2. Sat Jan 25 09:17:00 WIB 2014

重置你的时间

如果你希望重置你的系统日期和时间到原始值,你可以用这个技巧。

  1. # hwclock
  2. Fri 06 Dec 2013 03:44:10 AM WIB -0.314082 seconds

这回设置你的系统日期和时间到hwclock命令的输出的样子。

在脚本中使用date命令

还记得我之前说为什么你需要改变date的输出么?一个答案是你或许需要编程。让我们看下bash脚本下的一个例子。

  1. $ vi display.date
  2. #! /bin/bash
  3. DATETIME=$(date +”DATE: %a %b-%d-%Y TIME: %T WEEK NUMBER: %W”)
  4. echo $DATETIME

保存并运行它:

  1. $ ./display.date
  2. DATE : Fri Dec-06-2013 TIME: 03:08:19 WEEK Number :40

如果你发现权限拒绝错误信息,输入:

  1. $ chmod 755 display.date

在备份流程中使用date

另外一个例子是子你备份流程中使用date。

  1. $ date +%F
  2. 2013-12-06
  3. $ tar zcfv /daily_backup/backup-`date +%F`.tar.gz /home/pungki/Documents

它会压缩文件夹/home/pungki/Documents到一个位于/daily_backup folder的文件backup-2013-12-06.tar.gz中。(译注:通过“` 命令 `”来在命令行内嵌其它命令,这个字符不是单引号,而是和波浪号~同一个键位的那个符号。)

总结

date可能被认为在某些方面不重要。但是date扮演了一个重要的角色。要想知道关于date命令更多的细节,在你的控制台下输入man date访问man页面。


via:

  1. http://linoxide.com/linux-command/date-command-linux/

Linux date命令 - 显示和设置系统日期与时间的更多相关文章

  1. CentOS下date命令 - 显示和设置系统日期与时间

    显示系统日期 要显示系统日期,只要输入: $ date Thu Dec 5 22:55:41 WIB 2013 格式化显示日期 日期有很多格式.如果你不喜欢默认的格式,你可以换一种格式.你可能会想&q ...

  2. Android 通过应用设置系统日期和时间的方法

    Android 通过应用设置系统日期和时间的方法 android 2.3 android 4.0 测试可行,不过需要ROOT权限. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  3. date - 打印或设置系统日期和时间

    总览 date [选项]... [+格式] date [选项] [MMDDhhmm[[CC]YY][.ss]] 描述 根据指定格式显示当前时间或设置系统时间. -d, --date=STRING 显示 ...

  4. date:显示与设置系统时间

    功能: date命令用于显示当前的系统时间或设置系统时间 语法格式: date [option] [+format] date [选项] [+日期格式] 参数选项: option 参数选项: -d  ...

  5. 5.6 date:显示与设置系统时间

    date命令 用于显示当前的系统时间或设置系统时间. date [选项] +[日期格式]   date命令的参数选项及说明 OPTION参数选项-d 时间字符串 显示指定字符串所描述的时间,而非当前时 ...

  6. Linux date 命令

    date命令用于打印或设置系统日期和时间,常见用法如下: [root@localhost ~]# date //查看当前时间 [root@localhost ~]# date +"%Y-%m ...

  7. Linux date命令使用方法

    date命令用来显示或设定以及计算系统的日期和时间.本文主要描述date命令的基本语法和工作中常用的使用方法. date命令语法 用法:date [OPTION]... [+FORMAT] 常用参数: ...

  8. 我使用过的Linux命令之date - 显示、修改系统日期时间

    原文地址:http://www.cnblogs.com/diyunpeng/archive/2011/11/20/2256538.html 用途说明 ate命令可以用来显示和修改系统日期时间,注意不是 ...

  9. 我使用过的Linux命令之date - 显示、修改系统日期时间(转)

    用途说明 ate命令可以用来显示和修改系统日期时间,注意不是time命令. 常用参数 格式:date 显示当前日期时间. 格式:date mmddHHMM 格式:date mmddHHMMYYYY 格 ...

随机推荐

  1. Ubuntu下MySQL数据库安装与配置与卸载

    安装: sudo apt-get install mysql-server mysql-client 一旦安装完成,MySQL 服务器应该自动启动.您可以在终端提示符后运行以下命令来检查 MySQL ...

  2. hadoop2的automatic HA+Federation+Yarn配置的教程

    前言 hadoop是分布式系统,运行在linux之上,配置起来相对复杂.对于hadoop1,很多同学就因为不能搭建正确的运行环境,导致学习兴趣锐减.不过,我有免费的学习视频下载,请点击这里. hado ...

  3. AWS 之 S3篇<.NET(c#)批量上传文件>

    第一次知道AWS然后网上就研究了一番,如果也是第一次知道这个的话,或者对这个只知道是干什么,并没有写个相关的程序的话,可以看看这个网址http://docs.aws.amazon.com/zh_cn/ ...

  4. Android软件开发需要学什么

    首先,需要学习哪些Android开发技术? Android的开发技术很多,在开始学习的时候不可能一次性全部学会,也没有必要一开始都全部学会,但是有些技术是非常常用的,需要在开始时打好基础,这些技术时: ...

  5. LinQ综合应用实例

    直接上代码,内容很浅显易懂,在这里就不做更多的解释,解释见代码注释. using System; using System.Collections.Generic; using System.Linq ...

  6. 装个Redmine真是麻烦啊

    弄个大半天终于看到这个界面出来了,不容易啊

  7. Jqgrid入门-显示基本的表格(一)

    首先对Jqgrid网格插件做个简要的说明.在众多的表格插件中,Jqgrid的特点是非常鲜明的.         特点如下: 完整的表格呈现与运算功能,包含换页.栏位排序.grouping.新增.修改及 ...

  8. Fatal NI connect error 12170

    Fatal NI connect error 12170 转载:http://www.xifenfei.com/1812.html 今天在一台服务器的日志文件中,发现如下信息: Fatal NI co ...

  9. [反汇编练习] 160个CrackMe之009

    [反汇编练习] 160个CrackMe之009. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  10. 264分析两大利器:264VISA和Elecard StreamEye Tools

    学了264有将近3个月有余,好多时候都在学习老毕的书和反复看JM86的代码,最近才找到264分析两大利器:264VISA和Elecard StreamEye Tools.不由得感叹,恨不逢同时. 简单 ...