【Linux 每日一令】Ep.8:touch —— 凭空造物的“指尖魔法” ✨

在 Linux 的荒野中,如果你想凭空创造一个文件,或者赋予一个旧文件“重生的日期”,那么 touch 就是你指尖的魔法。

它是最轻量的命令之一,不涉及复杂的内容编辑,仅仅关乎“存在”与“时间”。🧐


🧐 它是做什么的?

touch 的本意是“触摸”。

  1. 如果文件不存在,它会创建一个空文件

  2. 如果文件已存在,它会更新该文件的访问时间 (atime)修改时间 (mtime) 为当前系统时间。

🚀 基础用法

1. 凭空造物:
创建一个名为 new_note.txt 的空文件:

bash

touch new_note.txt

请谨慎使用此类代码。

你会发现目录下多了一个 0 字节的文件,干净利落。 🍃

2. 批量生产:
一次性创造多个文件:

bash

touch file1.txt file2.txt file3.txt

请谨慎使用此类代码。

⚠️ 常见误区与解决方案

误区:用 touch 写入内容
touch 只能创建文件,不能往里面写字。如果你想创建并写入内容,应该使用 echo "hello" > file.txt 或者 vim
提醒: 如果你只想确认一个文件是否存在而不小心 touch 了它,它的“修改时间”会被改掉,这可能会影响某些依赖时间的备份脚本。🛠️

🛠️ 必知参数(实用等级:中高)

1. -a (Access time) —— 只动嘴不动手 🕒
只更改“访问时间”,而不改变“修改时间”。

2. -m (Modification time) —— 伪造修改记录 📝
只更改“修改时间”。这在某些需要触发自动构建工具(如 make)时非常有用。

3. -t (Timestamp) —— 穿越时空
你可以手动指定一个过去或未来的时间戳。
格式:[[CC]YY]MMDDhhmm[.ss]

bash

# 将文件时间改为 2026 年 1 月 1 日 中午 12 点
touch -t 202601011200 file.txt

请谨慎使用此类代码。

4. -c (No-create) —— 拒绝创造 🚫
如果文件不存在,不要创建它。这通常用于只想更新已有文件时间戳的情况。

💣 进阶骚操作:大括号连招

想快速生成一整年的日志模板?

bash

touch log_{1..12}.txt

请谨慎使用此类代码。

瞬间生成 log_1.txt 到 log_12.txt,强迫症的福音。

🛡️ 保命技巧:配合通配符 🛡️

当你需要批量“刷新”某个目录下所有脚本的状态,让它们看起来像是刚刚被处理过:

bash

touch *.sh

请谨慎使用此类代码。

这样做可以让某些增量备份软件重新扫描这些文件。

📝 总结 📋

  • touch 文件:不存在则建,存在则刷时间。

  • touch -t:自定义文件的“生辰八字”。

  • touch {1..n}:批量造物的捷径。

重要提示:在自动化运维中,touch 常用于创建“锁文件(lock file)”来防止程序重复运行! 🛑


下集预告:
Ep.9:cat —— 窥探文件灵魂的“猫眼” 🐱


【Linux 每日一令】Ep.8:touch —— 凭空造物的“指尖魔法” ✨
https://lg.409601.xyz//archives/linux-mei-ri-yi-ling-ep.8-touch------ping-kong-zao-wu-de-zhi-jian-mo-fa
作者
Administrator
发布于
2024年12月30日
许可协议