linux下的touch命令详解

linux下的touch命令详解在 Linux 中 每个文件都关联一个时间戳 并且每个文件都会存储最近一次访问的时间 最近一次修改的时间和最近一次变更的时间等信息

大家好,欢迎来到IT知识分享网。

在Linux中,每个文件都关联一个时间戳,并且每个文件都会存储最近一次访问的时间、最近一次修改的时间和最近一次变更的时间等信息。所以,无论何时我们创建一个新文件,访问或修改一个已存在的文件,文件的时间戳都会自动地更新。


touch   –   修改文件的时间戳记.  touch命令就可用于创建、变更和修改文件的时间戳。  

总览   


touch
   [-acm][-r   ref_ file
(参照文件)|-t    time
(时间值)]   file(文件名)…     


    


GNU版本:     


touch
   [-acfm]   [-r   file(参照文件)]   [-t   decimtime(时间值)]   [-d   time(时间值)]   [–time={atime,access,use,mtime,modify}]   [– date
=time]   [–refere nc
e=file]   [–no-create]   [–help]   [–version]   [–]  file(文件)…         


    


用法描述   


touch   修改每个指定文件   file   的存取(access)和/或修改(modifi cat
ion)时间戳记.除非使用-r或-t选项,这些时间戳记都将修改为当前的时间.使用-r选项时,这些戳记将按照文件   ref_file   的时间戳记来修改(即变得和ref_file时间戳记值相同).使用-t选项,则这些戳记将按照给定的时间值   time   进行修改.同时使用或同时不使用选项-a和-m,存取和修改两个戳记都将被更改.若只使用选项-a,则只修改存取戳记.同样,只使用选项-m,则只修改修改戳记.若要修改戳记的文件尚不存在,除非使用-c选项,touch   将创建它(作为空文件,并赋予0666的模式且受 umask
值的限制).  
       



POSIX标准定义的选项   


-a     
修改文件   file   的存取时间.只改变访问时间。  

-c     不创建文件   file.    

-m     修改文件   file   file     只改变修改时间。

-r   ref_file     将参照文件   ref_file   相应的时间戳记的数值作为指定文件   file   时间戳记的新值.     

-t   time     
使用指定的时间值   time   作为指定文件   file   相应时间戳记的新值.此处的   time   规定为如下形式 的十进制数∶     


    


[[CC]YY]MMDDhhmm[.SS]   


    


    


这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch   将把年数CCYY限定在1969–2068之内.MM为月数,DD为天将把年数CCYY限定在1969–2068之内.MM为月数,DD为天数,hh为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0–61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时间.由于系统的限制,早于1970年1月1日的时间是错误的.     


        


POSIX标准的细节   


已被废弃的
touch
版本使用时会出现模棱两可的情况:   ugly_time   到底是时间值还是文件名?由于此种版本尚未提供-r或-t选项,所以使用时至少要有两个 命令
行参数,作为时间值,   ugly_time   必须为第一个参数.这里的  ugly_time   是一个形为MMDDhhmm[yy]的八位或十位整数.其中,yy是介于69–99之间表示1969–1999之间某一年的两位数,如果不给,表示当前这一年.         


GNU版本的细节   


如果第一个指定文件   file   的名子从形式上说是选项   -t   的有效参数,并且没有给出选项   -d,   -r   或   -t   -t     


数,也没有给`–‘选项,那么这个文件名将被解释成时间值.     


    


一般情况下,利用   
touch
   修改文件的时间戳记时要求用户时该文件的所有者.除非只是把文件的存取和修改两种时间戳记修改为当前的时刻,这种情况只要求用户拥有对该文件`写’的权利就行了.         


    


GNU版本选项用法简介   


-a,   –time=atime,   –time=access,   –time=use     
只修改存取时间.     


-c,   –no-create     
如果要修改的文件不存在,此选项使touch不去创建它.     


-d,   –date=time     
使用时间值   time   代替指定文件的戳记值.可以包含月份名,时区名以及`am’和   `pm’等    


-f     
此选项用于兼容BSD版本的   touch(1).     


-m,   –time=mtime,   –time=modify     
只修改 修改时间
.     


-r   file,   –reference=file     
使用参照文件   file   的时间戳记值修改指定文件的时间戳记.     


-t   decimtime     
这里时间值   decimtime   的格式为MMDDhhmm[[CC]YY][.ss]   从左至右分别是月份,日期,小时,分钟,可选的世纪和年,以及可选的秒.   touch   将用这组数值修改指定文件的时间戳记.请注意,这个格式与POSIX标准所规定的格式并不一样.     

     

 
 
  1. $ touch effyl 

 
 
  1. $ touch sheffyl myeffyl lueffyl 
 
 
  1. $ touch -a effyl 
 
 
  1. $ touch -c effyl 
 
 
  1. $ touch -m effyl 
 
 
  1. $ touch -c -t YYMMDDHHMM filename 
 
 
  1. $ touch -c -t  effyl 
 
 
  1. $ touch -r myeffyl effyl 



 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144257.html

(0)
上一篇 2025-04-27 21:10
下一篇 2025-04-27 21:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信