linux shell 用什么命令可以修改脚本中全部日期为当前系统日期?

作者&投稿:弓党 (若有异议请与网页底部的电邮联系)
Linux 修改系统时间为当前日期之前的日期一分钟后自动修改为当前时间,~

touch -t 201510111213.14 test.txt
更改文件的时间为2015年10月11号12点13分14秒

touch 还有个参数-d 这个是以当前时间为基准,几天前这个时候
touch -d "5 days ago" test.txt

在shell脚本里常常需要获取系统时间来处理某项操作,今天系统的学习了一下如何获取系统时间。记录如下:
linux的系统时间在shell里是可以直接调用系统变量的如:
获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)
命令输出结果如下:
[root@centi-C sh]# date +%Y%m%d
20120727
[root@centi-C sh]# date +%F
2012-07-27
[root@centi-C sh]# date +%y%m%d
120727

获取昨天时期:`date -d yesterday +%Y%m%d` 也可以写成`date -d -1day +%Y%m%d`
[root@centi-C sh]# date -d yesterday +%Y%m%d
20120726
[root@centi-C sh]# date -d yesterday +%F
2012-07-26
[root@centi-C sh]# date -d -1day +%y%m%d
120726
[root@centi-C sh]# date -d -1day +%Y%m%d
20120726

获取前天日期:`date -d -2day +%Y%m%d`
依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d`
或n天前的 `date -d "n days ago" +%y%m%d`
明天:`date -d tomorrow +%y%m%d`
注意以上中间有空格

至于你需要什么样的日期时间格式,就需要应用相关的时间域参数来实现咯
相关时间域如下:
% H 小时(00..23)
% I 小时(01..12)
% k 小时(0..23)
% l 小时(1..12)
% M 分(00..59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00..59)
% T 时间(24小时制)(hh:mm:ss)
% X 显示时间的格式(%H:%M:%S)
% Z 时区 日期域
% a 星期几的简称( Sun..Sat)
% A 星期几的全称( Sunday..Saturday)
% b 月的简称(Jan..Dec)
% B 月的全称(January..December)
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
% d 一个月的第几天(01..31)
% D 日期(mm/dd/yy)
% h 和%b选项相同
% j 一年的第几天(001..366)
% m 月(01..12)
% w 一个星期的第几天(0代表星期天)
% W 一年的第几个星期(00..53,星期一为第一天)
% x 显示日期的格式(mm/dd/yy)
% y 年的最后两个数字( 1999则是99)
% Y 年(例如:1970,1996等)
注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。
添加一个练习脚本,功能:
在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。
#/bin/bash
#filebak
#file executable: chmod 755 filebak
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
bakdir="/root/bak/"
filename="`date +%y%m%d`_etc.tar.gz"
if [ ! -x "$bakdir" ];then
mkdir $bakdir
fi
cd $bakdir
tar cvfz $filename /etc
或使用crontab -e 命令添加定时任务:
0 1 * * * /bin/sh /usr/bin/fileback

不过此命令没有改变源文件,可以将命令输出到另一个文件中。

这里认为8个数字的都是日期,如果有不是日期的情况,需要更改正则表达式进行排除。



1、你是要修改test为当前时期,还是想将脚步的结果修改为当前日期
2、如果修改结果可以定义个变量
#!/bin/sh
ymd=`date +%Y%m%d`

cccccc./backup/${ymd}/aaa_${ymd}_aaa.a
/backup/${ymd}/aaa_${ymd}_aaa.a
/backup/${ymd}/aaa_${ymd}_aaa.a
/backup/${ymd}/aaa_${ymd}_aaa.a
/backup//${ymd}/aaa_${ymd}_aa.a
3、如果仅仅修改test可以用vi或sed

sed 或awk 去替换
如果日期已经确定 vi里的替换是否可行。

你学习shell呢还是想解决问题?文件夹名要改吗?


炉霍县13320548042: 在Linux执行shell脚本的命令是什么 -
康饱复方: 如果你shell脚本名字是a.sh 你可以 sh a.sh 或者 . ./a.sh

炉霍县13320548042: Linux的shell命令格式是?
康饱复方: command [arg] 命令 参数

炉霍县13320548042: linux 命令中的sh是什么意思?? -
康饱复方: 1、sh是linux中运行shell的命令,是shell的解释器,shell脚本是linux中壳层与命令行界面,用户可以在shell脚本输入命令来执行各种各样的任务. 要运行shell脚本,首选需要给shell脚本权限,这里里以hello.sh文件为例,首先需要按下“crtl+shift+...

炉霍县13320548042: linux下使用安全shell登录远程主机的命令是哪个 -
康饱复方: linux主机登录另外一台linux服务器,直接在命令行提示符下输入: ssh 账号@IP地址即可比如: ssh oracle@192.168.10.13 然后按照提示输入密码. 一切无误则进入该远程主机.

炉霍县13320548042: 关于linux命令行,shell命令,vi命令 -
康饱复方: shell命令就是你说的终端的命令,vi和vim都是一种编辑器,就是和记事本一样的东西,不过这个编辑器太强打了,能干很多事情,正则表达式(高级字符串匹配替换)搜索替换,语法高亮,等等好多好多功能(还有个emacs和他差不多,都是这样的),以至于有的人说,世界上的程序员分三种,一种用vi一种用emacs,剩下的是一种,嚣张不? shell命令就是终端命令,shell编程其实和windows的批处理差不多,区别的是,shell的语言功能比批处理强大

炉霍县13320548042: linux shell 用什么命令可以修改脚本中全部日期为当前系统日期? -
康饱复方: 1、你是要修改test为当前时期,还是想将脚步的结果修改为当前日期2、如果修改结果可以定义个变量#!/bin/sh ymd=`date +%Y%m%d` cccccc./backup/${ymd}/aaa_${ymd}_aaa.a/backup/${ymd}/aaa_${ymd}_aaa.a/backup/${ymd}/aaa_${ymd}_aaa.a/backup/${ymd}/aaa_${ymd}_aaa.a/backup//${ymd}/aaa_${ymd}_aa.a3、如果仅仅修改test可以用vi或sed

炉霍县13320548042: Linux如何编写shell脚本? -
康饱复方: 一般以#!/bin/sh 开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了.Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序.以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构).当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用 sh ./file.sh 方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他).

炉霍县13320548042: linux shell 命令执行快捷键 -
康饱复方: Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt...

炉霍县13320548042: shell命令是什么 -
康饱复方: shell不是一个程序.他大意是指对系统的操控权,一个操控接口, shell的概念是从Unix继承下来的 shell是分等级的,所以就有了提升权限的概念 Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统.它为...

炉霍县13320548042: shell命令有哪些呢
康饱复方: shell命令有点类似于xp系统下的运行程序命令的作用.shell:Profile该命令可以打开用户的总目录.在常规安装的情况下,位置是c:\users\username.你也可以通过点击系统...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网