Linux命令之touch详解程序员

touch [选项] … 文件 …

说明:将每个文件的访问时间和修改时间改为当前时间。如果文件不存在则会创建空文件,除非使用-c或-h选项。如果文件名为”-”则特殊处理,更改与标准输出相关的文件的访问时间。

(1).选项

-a 只更改访问时间 
-c,--no-create 不创建任何文件 
-d,--date=字符串 使用指定字符串表示时间而非当前时间 
-f 忽略 
-h,--no-dereference 只影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者时,此选项才有用) 
-m 只更改修改时间 
-r,--reference=文件 使用指定文件的时间属性而非当前时间 
-t STAMP 使用[[CC(世纪)]YY]MMDDhhmm[.ss]格式的时间而非当前时间 
--time=WORD使用WORD指定的时间:access/atime/use都等于-a选项的效果,而modify/mtime等于-m选项的效果

补充:文件的三种时间

[[email protected] ~]$ ll /etc/passwd    //只能查看文件的修改时间 
-rw-r--r--. 1 root root 2310 12月 16 13:52 /etc/passwd 
[[email protected] ~]$ stat /etc/passwd    //查看文件属性,其中包含文件时间属性 
  文件:"/etc/passwd" 
  大小:2310      	块:8          IO 块:4096   普通文件 
设备:802h/2050d	Inode:8988703     硬链接:1 
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root) 
环境:system_u:object_r:passwd_file_t:s0 
最近访问:2018-12-23 15:19:41.520000727 +0800 
最近更改:2018-12-16 13:52:20.673021532 +0800 
最近改动:2018-12-16 13:52:20.675021532 +0800 
创建时间:-

访问时间:atime  查看内容,例cat a.xtx

修改时间:mtime  修改内容,例vim a.txt

改变时间:ctime  修改文件属性,例如chmod +x a.sh

注意:使用touch修改的时间只有访问时间和修改时间,不涉及改变时间

(2).实例

用touch创建文件

[[email protected] ~]$ mkdir newDir 
[[email protected] ~]$ cd newDir/ 
[[email protected] newDir]$ ll 
总用量 0 
[[email protected] newDir]$ touch touch_test_file  //在当前目录下创建文件 
[[email protected] newDir]$ ll 
总用量 0 
-rw-rw-r--. 1 xf xf 0 12月 23 20:17 touch_test_file 
[[email protected] newDir]$ mkdir mydir 
[[email protected] newDir]$ touch mydir/touch_test_file  //在指定目录下创建文件 
[[email protected] newDir]$ ls -l mydir/ 
总用量 0 
-rw-rw-r--. 1 xf xf 0 12月 23 20:18 touch_test_file 
[[email protected] newDir]$ touch a.txt  //可以指定文件格式 
[[email protected] newDir]$ touch file1 file2  //一次可以创建多个文件 
[[email protected] newDir]$ touch file{3..5}  //创建file3到file5的文件 
[[email protected] newDir]$ ls 
a.txt  file1  file2  file3  file4  file5  mydir  touch_test_file

使用-t选项更改文档时间

[[email protected] newDir]$ stat touch_test_file  
文件:"touch_test_file" 
大小:0         	块:0          IO 块:4096   普通空文件 
设备:802h/2050d	Inode:9536585     硬链接:1 
权限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf) 
环境:unconfined_u:object_r:user_home_t:s0 
最近访问:2018-12-23 20:17:28.678222307 +0800 
最近更改:2018-12-23 20:17:28.678222307 +0800 
最近改动:2018-12-23 20:17:28.678222307 +0800 
创建时间:- 
[[email protected] newDir]$ touch -t 06061806 touch_test_file  
[[email protected] newDir]$ stat touch_test_file  
文件:"touch_test_file" 
大小:0         	块:0          IO 块:4096   普通空文件 
设备:802h/2050d	Inode:9536585     硬链接:1 
权限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf) 
环境:unconfined_u:object_r:user_home_t:s0 
最近访问:2018-06-06 18:06:00.000000000 +0800  //可以看到访问时间和修改时间都进行了修改 
最近更改:2018-06-06 18:06:00.000000000 +0800 
最近改动:2018-12-23 20:23:28.804018774 +0800  //因为文件属性包含时间属性,所以更改时间变为当时时间 
创建时间:-

 接着上面继续,将一个文档时间同步到另一个文档

[[email protected] newDir]$ touch -r a.txt touch_test_file  
[[email protected] newDir]$ stat touch_test_file  
文件:"touch_test_file" 
大小:0         	块:0          IO 块:4096   普通空文件 
设备:802h/2050d	Inode:9536585     硬链接:1 
权限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf) 
环境:unconfined_u:object_r:user_home_t:s0 
最近访问:2018-12-23 20:18:37.360425684 +0800 
最近更改:2018-12-23 20:18:37.360425684 +0800 
最近改动:2018-12-23 20:27:32.307375916 +0800 
创建时间:-

以当前时间为参照,将将对过去的时间更改为文档时间

[[email protected] newDir]$ touch -d "10 days ago" touch_test_file  
[[email protected] newDir]$ stat touch_test_file  
文件:"touch_test_file" 
大小:0         	块:0          IO 块:4096   普通空文件 
设备:802h/2050d	Inode:9536585     硬链接:1 
权限:(0664/-rw-rw-r--)  Uid:( 1000/      xf)   Gid:( 1000/      xf) 
环境:unconfined_u:object_r:user_home_t:s0 
最近访问:2018-12-13 20:29:11.197681782 +0800 
最近更改:2018-12-13 20:29:11.197681782 +0800 
最近改动:2018-12-23 20:29:11.196988185 +0800 
创建时间:-

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/2855.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论