Linux命令之touch
touch [选项] … 文件 …
说明:将每个文件的访问时间和修改时间改为当前时间。如果文件不存在则会创建空文件,除非使用-c或-h选项。如果文件名为”-”则特殊处理,更改与标准输出相关的文件的访问时间。
(1).选项
1 2 3 4 5 6 7 8 9 | -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选项的效果 |
补充:文件的三种时间
1 2 3 4 5 6 7 8 9 10 11 12 | [xf@xuexi ~]$ ll /etc/passwd //只能查看文件的修改时间 -rw-r--r--. 1 root root 2310 12月 16 13:52 /etc/passwd [xf@xuexi ~]$ 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创建文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [xf@xuexi ~]$ mkdir newDir [xf@xuexi ~]$ cd newDir/ [xf@xuexi newDir]$ ll 总用量 0 [xf@xuexi newDir]$ touch touch_test_file //在当前目录下创建文件 [xf@xuexi newDir]$ ll 总用量 0 -rw-rw-r--. 1 xf xf 0 12月 23 20:17 touch_test_file [xf@xuexi newDir]$ mkdir mydir [xf@xuexi newDir]$ touch mydir/touch_test_file //在指定目录下创建文件 [xf@xuexi newDir]$ ls -l mydir/ 总用量 0 -rw-rw-r--. 1 xf xf 0 12月 23 20:18 touch_test_file [xf@xuexi newDir]$ touch a.txt //可以指定文件格式 [xf@xuexi newDir]$ touch file1 file2 //一次可以创建多个文件 [xf@xuexi newDir]$ touch file{3..5} //创建file3到file5的文件 [xf@xuexi newDir]$ ls a.txt file1 file2 file3 file4 file5 mydir touch_test_file |
使用-t选项更改文档时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [xf@xuexi 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 创建时间:- [xf@xuexi newDir]$ touch -t 06061806 touch_test_file [xf@xuexi 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 //因为文件属性包含时间属性,所以更改时间变为当时时间 创建时间:- |
接着上面继续,将一个文档时间同步到另一个文档
1 2 3 4 5 6 7 8 9 10 11 | [xf@xuexi newDir]$ touch -r a.txt touch_test_file [xf@xuexi 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 创建时间:- |
以当前时间为参照,将将对过去的时间更改为文档时间
1 2 3 4 5 6 7 8 9 10 11 | [xf@xuexi newDir]$ touch -d "10 days ago" touch_test_file [xf@xuexi 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 创建时间:- |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性