【linux】touch的基本使用

碎碎念

刚接触linux时候的几个最基础的命令之一,用来创建文件。如果使用touch --help的时候会发现作者对于touch的简介:Update the access and modification times of each FILE to the current time.用于修改文件的访问和时间戳

带我的leader属于那种累不死的铁人,一个人同时管理好几个项目,虽然也亲自上一线写代码,但是用的库可能不超过50个。(比如他做DB2的人居然没有听说过db2haicu)偶然看到他情急之下用touch来判断一个文件存不存在,存在则继续看创建时间,突然有一种用小树枝也能当兵器的超酷的感觉

基本使用

touch <filename> 创建一个新的文件(或更新时间)

这里创建了一个新的文件 newfile.txt

如果 newfile.txt 已经存在的话,就会把修改时间和访问时间都更新到当前时间戳。已经存在的文件重复touch只会修改时间但是不会新建一个新的文档覆盖旧的

touch -a <filename> 只更新访问时间

看红色的部分发生了变化,但是其他时间不变

(写的时候才感觉grep + 正则表达真的好优美)

touch -m <filename> 只更新修改时间

但是不能够修改创建时间,在linux中创建时间是由第一次创建文件的时候由文件系统记录的

touch -t <timestamp> <filename> 更改到指定时间

不特定指示 -m 或者 -a 的话默认就是同时操作修改时间和访问时间

touch $(date + 时间格式).log 日志文件的经典写法

比如用一个年月日时分秒作为日志的名字,每次发生问题或者特定情况下生成一个日志文件

这里的%Y%m%d%H%M%S就是时间格式,当然还可以自定义

比如只要年月日,年和月日之间用 - 分开

也就是

%Y-%m%d

时间的表达是可以自定义的,先挖坑在shell的笔记中填

touch newfile{1..3}.log 批量创建文件

也可以写作

touch newfile1.log newfile2.log newfile3.log

虽然我也只是刚入行一个月的菜鸟,但是看过别人的日志文件后有一点未来体验:在设计的阶段就要把变量名都按照某种好写的规范敲定的话,运用保守的时候绝对会感谢设计时的自己

touch -r file1 file2 复制另一个文件的时间使他们一致

具体来说是file2的时间和file1保持一致

祝大家玩得开心

相关推荐
风吹落枫10 分钟前
银河麒麟V10 P1左下角不显示时间问题解决
linux
让我上个超影吧15 分钟前
Cluade code:上下文压缩
java·服务器·ai
江华森17 分钟前
深入 Linux 性能调试 —— BPF 与 BCC 工具实战指南
linux·运维·服务器
qq_1631357517 分钟前
Linux 【06-cp命令超详细教程】
linux
翼龙云_cloud24 分钟前
阿里云代理商:部署 DeepSeek V4-Flash解析 快速部署与性能优化
运维·阿里云·性能优化·云计算·ai智能体
正经教主25 分钟前
【docker基础】 第七课:Docker Compose 多容器实战
运维·docker·容器
ElevenS_it18828 分钟前
网络设备配置合规审计自动化实战:用Nornir+Netmiko自动比对华为/Cisco/H3C配置基线+合规报告自动生成
运维·网络·自动化
wangyadong31733 分钟前
重新安装k3s,因为我安装jenkins 的时候报错了。不知道为啥rancher 访问不了了。
linux·服务器·rancher
施努卡机器视觉36 分钟前
SNK施努卡 | 电子油泵自动化生产线:精密制造的技术跃迁与产业价值
运维·自动化·制造
♛识尔如昼♛38 分钟前
Linux 设备驱动程序(3)- 字符驱动(2)
linux·驱动开发·字符设备驱动