Linux Shell编程(22)——时间/日期 命令
date
直接调用, date 就会打印日期和时间到 stdout 上. 这个命令有趣的地方在于它的格式化和分析选项上.
time
输出统计出来的命令执行的时间.
touch
这是一个用来更新文件被存取或修改的时间的工具,这个时间可以是当前系统的时间,也可以是指定的时间, 这个命令也用来产生一个新文件.
Example:使用 date 命令
-u 选项将给出 UTC 时间(Universal Coordinated Time).
date 命令有许多的输出选项. 比如 %N 将以10亿分之一为单位表示当前时间. 这个选项的一个有趣的用法就是用来产生一个6位的随机数.
date +%j
# 显示今天是本年度的第几天(从1月1日开始计算).
date +%k%M
# 显示当前小时数和分钟数.
# 'TZ' 参数允许改变当前的默认时区.
date
TZ=EST date
SixDaysAgo=$(date --date='6 days ago')
OneMonthAgo=$(date --date='1 month ago') # 4周前(不是一个月).
OneYearAgo=$(date --date='1 year ago')
直接调用, date 就会打印日期和时间到 stdout 上. 这个命令有趣的地方在于它的格式化和分析选项上.
time
输出统计出来的命令执行的时间.
touch
这是一个用来更新文件被存取或修改的时间的工具,这个时间可以是当前系统的时间,也可以是指定的时间, 这个命令也用来产生一个新文件.
Example:使用 date 命令
#!/bin/bash # 练习 'date' 命令 echo "The number of days since the year's beginning is `date +%j`." # 需要在调用格式的前边加上一个 '+' 号. # %j 给出今天是本年度的第几天. echo "The number of seconds elapsed since 01/01/1970 is `date +%s`." # %s 将产生从 "UNIX 元年" 到现在为止的秒数,yields number of seconds since "UNIX epoch" began, prefix=temp suffix=$(date +%s) # 'date'命令的 "+%s" 选项是 GNU-特性. filename=$prefix.$suffix echo $filename exit 0
-u 选项将给出 UTC 时间(Universal Coordinated Time).
date 命令有许多的输出选项. 比如 %N 将以10亿分之一为单位表示当前时间. 这个选项的一个有趣的用法就是用来产生一个6位的随机数.
date +%j
# 显示今天是本年度的第几天(从1月1日开始计算).
date +%k%M
# 显示当前小时数和分钟数.
# 'TZ' 参数允许改变当前的默认时区.
date
TZ=EST date
SixDaysAgo=$(date --date='6 days ago')
OneMonthAgo=$(date --date='1 month ago') # 4周前(不是一个月).
OneYearAgo=$(date --date='1 year ago')