首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux命令 第16节 touch创建新文件或修改文件的时间属性

跟我一起学嵌入式linux开发之常用命令:touch创建新文件或修改文件的时间属性

1.命令功能

touch 用来创建新文件或修改文件的时间属性。touch 命令的主要功能并不是为了创建一个空文件哦。

2.命令格式

touch [options] file-list

3.命令参数

-a:或--time=atime或--time=access或--time=use 只更改存取时间;-c:或--no-create 不建立任何文件;-d: 使用指定的日期时间,而非现在的时间;-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;-m:或--time=mtime或--time=modify 只更该变动时间;-r: 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;-t: 使用指定的日期时间,而非现在的时间;4.使用场景

如果创建一个新文件有很多种方法,比如:

vimfilecat>fileecho"hello">filetouchfile等等方法。。。。

touch 命令不仅可以创建新文件,而且可以修改文件的时间属性。

什么时候需要修改时间属性呢?我先讲个故事。

在很久以前,我们在某台服务器上开发了某款程序,当时服务器时区是系统安装默认配置,时间也不对,但是一直在本地使用makefile 编译程序,所以也没发现问题。后来我们设备升级,时间调整为正常时间之后,再次使用makefile编译时,出现了很多错误,提示文件修改时间为未来的N多秒!这时候就是 touch 出场的时候了!

如果不加参数的对一个已经存在的文件执行 touch 命令,那么该文件的所有时间戳都会变成当前时间,如下:

$ lshello hello.c$ file=zicreate.txt$ touch $file && stat $file ; sleep5; touch $file && stat $file File: ‘zicreate.txt’ Size:Blocks:IO Block:4096regular empty fileDevice:802h/2050d Inode:6553615Links:1Access: (0644/-rw-r--r--) Uid: (/ root) Gid: (/ root)Context: unconfined_u:object_r:user_tmp_t:s0Access:2018-01-1014:43:33.692235966-0500Modify:2018-01-1014:43:33.692235966-0500Change:2018-01-1014:43:33.692235966-0500Birth: - File: ‘zicreate.txt’ Size:Blocks:IO Block:4096regular empty fileDevice:802h/2050d Inode:6553615Links:1Access: (0644/-rw-r--r--) Uid: (/ root) Gid: (/ root)Context: unconfined_u:object_r:user_tmp_t:s0Access:2018-01-1014:43:38.695236304-0500Modify:2018-01-1014:43:38.695236304-0500Change:2018-01-1014:43:38.695236304-0500Birth: -

由于 touch 的其他使用方法使用机会太少,不再一一列举。发现一张很好的图,来源不明,整理如下:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180115G05U0400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券