Linux date 日期 时间

用法:date [选项]... [+格式]

date   展示当前系统时间 

  -d,--date=字符串              显示指定字符串所描述的时间,而非当前时间

  -f,--file=日期文件              类似--date,从日期文件中按行读入时间描述

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

   -R                     以RFC-2822兼容日期格式显示时间

date -s  时间  设置当前系统时间(临时生效)

date的其他参数可以用  date --h 来查看  说明很清楚的


查看时间例子:

date "+%Y-%m-%d"   2018-08-08

date "+%H:%M:%S"   13:13:59

date "+%Y-%m-%d %H:%M:%S"   2018-02-26 21:27:23

date -d today  2018年 02月 26日 星期一 21:27:59 CST (今天 此时此刻)

date -d now  2018年 02月 26日 星期一 21:27:59 CST (今天 此时此刻)

date -d tomorrow  2018年 02月 27日 星期二 21:29:00 CST (明天的这个时刻)

 date -d yesterday 2018年 02月 25日 星期日 21:29:30 CST(昨天的这个时刻)

date -d '8 day ago' '+%Y%m%H%M'  8天前的时间 

date -d 'next monday'  下个星期一

date -f date.txt  从文件date.txt中按行读入的时间


设置时间例子:

date -s 07/13/2018 把系统时间设置成2018年07月13日 

date -s 11:08:00  把系统时间设置成11点08分00秒

注意:这里说的是系统时间,是linux由操作系统维护的。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。
如果要确保修改生效可以执行如下命令。
#clock –w

这个命令强制把系统时间写入CMOS。


了解:

给定的格式FORMAT 控制着输出,解释序列如下:

  %%    一个文字的 %
  %a    当前locale 的星期名缩写(例如: 日,代表星期日)
  %A    当前locale 的星期名全称 (如:星期日)
  %b    当前locale 的月名缩写 (如:一,代表一月)
  %B    当前locale 的月名全称 (如:一月)
  %c    当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
  %C    世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
  %d    按月计的日期(例如:01)
  %D    按月计的日期;等于%m/%d/%y
  %e    按月计的日期,添加空格,等于%_d
  %F    完整日期格式,等价于 %Y-%m-%d
  %g    ISO-8601 格式年份的最后两位 (参见%G)
  %G    ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
  %h    等于%b
  %H    小时(00-23)
  %I    小时(00-12)
  %c    按年计的日期(001-366)
  %k    时(0-23)
  %l    时(1-12)
  %m    月份(01-12)
  %M    分(00-59)
  %n    换行
  %N    纳秒(000000000-999999999)
  %p    当前locale 下的"上午"或者"下午",未知时输出为空
  %P    与%p 类似,但是输出小写字母
  %r    当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
  %R    24 小时时间的时和分,等价于 %H:%M
  %s    自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
  %S    秒(00-60)
  %t    输出制表符 Tab
  %T    时间,等于%H:%M:%S
  %u    星期,1 代表星期一
  %U    一年中的第几周,以周日为每星期第一天(00-53)
  %V    ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
  %w    一星期中的第几日(0-6),0 代表周一
  %W    一年中的第几周,以周一为每星期第一天(00-53)
  %x    当前locale 下的日期描述 (如:12/31/99)
  %X    当前locale 下的时间描述 (如:23:13:48)
  %y    年份最后两位数位 (00-99)
  %Y    年份
  %z +hhmm              数字时区(例如,-0400)
  %:z +hh:mm            数字时区(例如,-04:00)
  %::z +hh:mm:ss        数字时区(例如,-04:00:00)
  %:::z                 数字时区带有必要的精度 (例如,-04,+05:30)

  %Z                    按字母表排序的时区缩写 (例如,EDT)

取字符串:

a="123456"

echo $a; 

echo ${a:2:3}   跳过前2个字符 输出3个字符  

echo ${a%3*}   ${变量名%分隔符*}  屏蔽分隔符后边所有的内容 只显示分隔符前边内容  这里显示12  屏蔽3456

-- find 查找文件

-type  -name -size -mtime 

find -name "*.conf" 查找文件名以conf结尾的文件

find -type 

      b 块设备文件 find -type b

     d 目录  find -type d

     c 字符设备文件  find -type c

     p 管道文件  find -type p

     l 符号链接文件 find -type l

     f 普通文件  find -type f  

 find ~ 查找当前用户宿主目录所有的文件

 find / -name "[a-z][A-Z].txt" 查找根目录下的符合正则的文件

  find / -group cat      //查找在系统中属于group组名cat的文件

   find  /tmp -uid 500       //查找uid是500 的文件  

 find  /tmp -gid 1000      // 查找gid是1000的文件  

find /tmp -name "*.sh" -a -user root   连接两个不同的条件(两个条件必须同时满足)

find /tmp -name "*.sh" -o -user root   -o     连接两个不同的条件(两个条件满足其一即可)

find /tmp -not -user root   -not 对条件取反的 

 根据文件时间戳的相关属性来查找文件
-atime   最近一次访问时间      单位:天
-mtime 最近一次内容修改时间  单位:天
-ctime  最近一次属性修改时间  单位:天
-amin   最近一次访问时间      单位:分钟
-mmin  最近一次内容修改时间  单位:分钟
-cmin   最近一次属性修改时间  单位:分钟

-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件 

find /tmp -atime +5  //表示查找在五天内没有访问过的文件  

find /tmp -atime -5   //表示查找在五天内访问过的文件 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值