Linux命令集-touch

修改文件时间或创建文件

##语法

[root@study ~]# touch [-acdmt] 文件

##参数

-a : 仅修改access_time
-c : 仅修改文件的时间,若文件不存在则不创建新文件;
-d : 后面可以接欲修订的时间而不用目前的日期,也可以使用 --date="日期或时间"
-m : 仅修改mtime;
-t : 后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

##范例

范例一:新建一个空的文件并观察时间

[tucci@study ~]$ cd /tmp
[tucci@study tmp]$ touch testtouch
[tucci@study tmp]$ ls -l testtouch
-rw-rw-r--. 1 tucci tucci 0 Jun 16 00:45 testtouch
# 注意到,这个文件的大小是0,在默认的状态下,如果touch后面有接文件,
# 则该文件的三个时间(atime/ctime/mtime)都会更新为目前的时间。若该文件不存在,
# 则会主动的创建一个新的空的文件

范例二:将~/.bashrc复制为bashrc,假设复制完全的属性,检查其日期

[tucci@study tmp]$ cp -a ~/.basrc bashrc
[tucci@study tmp]$ date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
Tue Jun 16 00:49:24 CST 2015                                <== 这是目前的时间
-rw-r--r--. 1 tucci tucci 231 Mar 6 06:06 bashrc     <== 这是mtime
-rw-r--r--. 1 tucci tucci 231 Mar 15 23:44 bashrc    <== 这是atime
-rw-r--r--. 1 tucci tucci 231 Mar 16 00:47 bashrc    <== 这是ctime

范例三:修改案例二的bashrc文件,将日期调整为两天前

[tucci@study tmp]$ touch -d "2 days ago" bashrc
[tucci@study tmp]$ date:ll -time=atime bashrc; ll --time=ctime bashrc
Tue Jun 16 00:51:52 CST 2015
-rw-r--r--. 1 tucci tucci 231 Jun 14 00:51 bashrc
-rw-r--r--. 1 tucci tucci 231 Jun 14 00:51 bashrc
-rw-r--r--. 1 tucci tucci 231 Jun 16 00:51 bashrc
# 跟上个范例比较看看,本来是16日变成了14日了(atime/mtime), ctime并没有跟着改变

范例四:将上个范例的bashrc日期改为2014/06/15 2:02

[tucci@study tmp]$ touch -t 201406150202 bashrc
[tucci@study tmp]$ date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
Tue Jun 16 00:54:07 CST 2015
-rw-r--r--. 1 tucci tucci 231 Jun 15 2014 bashrc
-rw-r--r--. 1 tucci tucci 231 Jun 15 2014 bashrc
-rw-r--r--. 1 tucci tucci 231 Jun 16 00:54 bashrc
# 注意,日期在atime与mtime都改变了,但是ctime则是记录目前的时间

转载于:https://my.oschina.net/tucci/blog/1068885

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值