前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天学一个 Linux 命令(13):touch

每天学一个 Linux 命令(13):touch

作者头像
民工哥
发布2021-01-12 11:00:26
1.3K0
发布2021-01-12 11:00:26
举报
文章被收录于专栏:民工哥技术之路

推荐:每天学一个 Linux 命令(12):chown

Github地址:

https://github.com/mingongge/Learn-a-Linux-command-every-day

命令简介

touch 命令用来创建新的空文件。touch命令也可以用来修改文件时间戳。如果该文件不存在,则创建具有该名称的空文件。

与文件关联的时间戳

代码语言:javascript
复制
Access time        #上次读取文件的时间,简称atime
Modification time  #最后一次修改文件的内容,简称mtime
Change time        #上次更改文件的元数据(称为“状态”)。状态信息包括文件的权限及其时间戳。每当文件发生任何事件时,其状态的至少一个元素都会更改,并且其ctime将设置为当前系统时间。简称ctime

atime和mtime是文件状态元数据的一部分。因此,当更改文件的atime(-a)或mtime(-m)时,其ctime会自动设置为当前时间。无法手动设置 ctime。

命令语法

代码语言:javascript
复制
touch [选项] [文件名]
touch [option] [filename]

选项说明

代码语言:javascript
复制
-a:或--time=atime或--time=access或--time=use  #只更改读取时间
-c:或--no-create  #不建立任何文件
-d:<时间日期> #更改文件的修改时间,使用指定的日期时间,而非现在的时间
-h,--no-dereference #如果file是符号链接并且指定了此选项,则touch将修改符号链接的时间戳,而不是其引用的文件。 如果未指定此选项,则在进行修改之前触摸将取消引用符号链接。此选项意味着-c:如果文件不存在,则不会创建任何内容。
-f:#此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify  #只更该变动时间;
-r:<参考文件或目录>  #把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间>  #使用指定的日期时间,而非现在的时间;
--help:       #在线帮助;
--version:    #显示版本信息。

应用举例

创建新文件

代码语言:javascript
复制
[root@centos7 testdir]# touch testfile
[root@centos7 testdir]# ls -l
total 0
-rw-r--r-- 1 root root 0 Jan  2 07:55 testfile

如果创建文件时,此文件存在,则会修改这个文件的其访问,修改和更改时间(atime,mtime和ctime)设置为当前系统时间。

代码语言:javascript
复制
[root@centos7 testdir]# date
Sat Jan  2 07:57:00 EST 2021
[root@centos7 testdir]# touch testfile
[root@centos7 testdir]# ls -l
total 0
-rw-r--r-- 1 root root 0 Jan  2 07:57 testfile

修改文件的atime与mtime

代码语言:javascript
复制
[root@centos7 testdir]# touch -d "25 Feb" testfile
[root@centos7 testdir]# ls -l
total 0
-rw-r--r-- 1 root root 0 Feb 25  2021 testfile

复制文件访问时间,把另一个文件的访问时间直接赋予到新创建的文件上

代码语言:javascript
复制
[root@centos7 testdir]# touch -r testfile filetest
[root@centos7 testdir]# ls -l
total 0
-rw-r--r-- 1 root root 0 Feb 25  2021 filetest
-rw-r--r-- 1 root root 0 Feb 25  2021 testfile

touch命令和mkdir命令功能相同,都是用来创建文件或目录所用,touch命令的功能稍多一些,也都是Linux上的基础必备命令。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 命令简介
  • 命令语法
  • 选项说明
  • 应用举例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档