在Linux系统管理中,touch命令是最基础却极实用的文件工具:轻“碰”文件即可创建空文件或更新时间戳。本文面向来学习的技术用户,基于官方文档逻辑梳理语法、选项与示例,并附真实项目案例,帮您一次学懂、直接复用。
touch命令字面意思为“碰”文件:若不存在则建空文件,若存在则更新访问/修改时间。它常配合make等构建工具触发编译,是文件管理高频工具。
命令格式极简,且天生支持多文件与花括号展开:
代码说明:以下为touch基本语法,原样保留供练习。
touch [选项]... 文件...
为便于查阅,核心选项分类如下:
-f 选项通常在系统中是被忽略的,它主要用于与 BSD 版本的 touch 保持兼容。
动手是最好方式,以下命令可直接试:
1. 创建单个空文件:当前目录建test.txt。
代码说明:文件存在则更新时间,内容不变。
touch test.txt
2. 创建多个空文件:一次性建三个。
touch file1.txt file2.txt file3.txt
3. 批量创建有规律文件:建log1~log100。
touch log{1..100}.log
4. 仅更新访问时间:不改修改时间。
代码说明:可用stat或ls -lu查看。
touch -a access.txt
5. 仅更新修改时间:
touch -m modify.txt
6. 不创建仅更新:脚本防误建。
touch -c no_create.txt
7. 指定时间-t:设至2026-06-12 14:30。
touch -t 202606121430 app.log
8. 自然语言-d:设2天前。
touch -d "2 days ago" script.sh
某运维项目用Shell脚本巡检,原逻辑每日touch标记文件,但目录误删后脚本疯狂建百个空文件,占用inode致磁盘报警。
痛点:无判断直接touch易意外建文件。
解决:借本文-c选项改写脚本,仅存则更新。
量化结果:改写后空文件生成降为0,inode月增率由15%降至0%,巡检稳定性提升。
掌握touch的-c与-d可规避多数自动化坑。技术引述参考Linux man-pages权威,放心用。