Linux 命令 | touch

上周,我的朋友使用 touch 命令在 Linux 系统中创建了一些空文件,并专门更新了文件的时间戳。
他说,默认情况下,touch会更新文件的访问时间和修改时间,比如他创建的文件/path/to/file。

2 02 3 年,他还测试了几个选项,比如-c只更新修改时间,-r指另一个文件的时间戳,-t指定特定时间戳,-a只更新访问时间,-m只更新修改时间。
他说这将允许对文件时间进行更精细的控制。

他还提醒我,在使用touch命令时,要注意文件路径和权限要求的正确性。
例如,当他尝试创建/root/文件时,由于普通用户没有操作/root目录的权限而失败。

朋友还告诉我,touch命令也可以直接对文件夹使用,但只会更新文件夹本身的时间戳,不会影响其内容。
他尝试使用 touch 命令递归更新目录时间戳及其内容,但此命令可能需要额外的设置或配置。

最后分享了一些扩展知识,比如如何批量操作文件,如何与stat命令配合使用,以及在脚本中的应用。
他还回答了我关于 touch 命令的一些问题,例如如何仅更新访问时间、touch-c 和 touch-m 之间的区别以及如何将文件的时间设置为过去的时间。

听他解释的时候,我突然觉得touch命令在脚本中还是蛮现实的。
它可用于为文件处理添加时间戳或模拟文件访问。
我打算下次写剧本的时候尝试一下。
算了,你自己想办法吧。

Linux系统之touch命令的基本使用

触摸命令……老实说非常简单。
只需更改文件时间戳或创建一个空文件。

例如,您有一个名为 example.txt 的文件,并且希望将其更改为昨天创建的文件。
只需输入命令:touch -d "2 02 3 -01 -01 1 0:00" example.txt。
该文件的时间立即更改,系统显示该文件是在当天上午 1 0 点创建的。

如果该文件不存在,您可以使用 touch newfile.txt ,它会为您创建一个空文件。
大小 0KB,无内容。
上次我检查时,ls -l newfile.txt 是空的。

还有-r选项,相当实用。
例如,您有一个名为 oldfile.txt 的旧文件,并且您希望对新文件 newfile2 .txt 使用相同的时间戳。
只需:touch -r oldfile.txt newfile2 .txt。
新文件的时间遵循旧文件的时间。

使用 man touch 或 touch --help 查看完整功能。
这个命令,在Linux系统中,我已经用了1 0年了,确实很好用。

Linux入门之touch指令详解

说白了,touch命令就是Linux中改变文件年龄的向导。
虽然很简单,但在关键时刻确实能救人一命。
先说最重要的,它们的两大强大功能:要么为你创建一个shell文件,要么一键刷新旧文件的“出生日期”和“上次访问时间”到当前文件中。
去年我们运行一个监控系统时,每天都必须使用LiteCat脚本来确保日志文件存在,否则服务就会崩溃。
当大约 3 ,000 个设备同时运行时,这个命令并不是什么大问题。
另一个问题是,您可以使用 -t 选项来修改时间戳,精度可达秒,例如 touch -t2 02 4 03 2 4 08 3 0 test.log。
特别适合数据同步测试。
说实话,还是挺复杂的。
如果格式错误,整个日志日期就会混乱。
还有一个更重要的细节。
-a和-m选项只能更改访问时间或修改时间。
当我上次调整服务器缓存时,我专门使用 -m 来提前文件修改时间。
浏览器可以更快地使用缓存,而且效果是立竿见影的。
一开始我以为touch只能改文件,后来发现错了。
它还可以使用 -e 来做一件小事——检查文件是否存在,但几乎没有人使用这个功能,因为 ln -s 更方便。
提醒一下,使用递归操作时不要忘记-r,否则就只是当前目录将被更改。
上次清除过期备份时,我更改了几乎整个项目文件的日期。
我认为将触摸与控制结合起来是值得尝试的。
自动化管理特别好。