一、命令作用
touch 全称 touch file,主要用于创建空白普通文件、修改文件时间属性,是Linux入门最常用文件操作命令之一,区别mkdir创建目录,touch仅操作文件。
二、基本语法
touch [选项] 文件名称
三、常用参数详解
1.-c
不创建新文件;仅修改已有文件的时间属性,文件不存在则无任何操作、不报错。
补充:不加参数时,文件不存在则新建空白文件,文件存在则更新文件修改时间。
2.-t
自定义修改文件时间戳,格式:YYYYMMDDhhmm.ss(年月日时分.秒)。
3.-a
仅修改文件访问时间,不改动文件修改、更改时间。
4.-m
仅修改文件内容修改时间,不改动文件访问时间。
5.-v
可视化输出,执行命令后打印操作提示信息,便于排查操作结果。
四、实战示例
1. 基础用法:创建单个空白文件
touch test.txt # 在当前工作目录,新建名为 test.txt 的空白普通文件
2. 存在则改时间、不存在不创建文件(重点)
touch -c demo.txt # demo.txt存在:更新文件时间;demo.txt不存在:不新建文件、无报错
3. 自定义修改文件时间戳
touch -t 202506011030 note.log # 将note.log时间修改为2025年06月01日10点30分
4. 单独修改文件访问/修改时间
touch -a read.md # 仅更新read.md文件访问时间 touch -m edit.md # 仅更新edit.md文件内容修改时间
5. 可视化执行操作
touch -v app.conf # 执行后输出:touch: 已创建 'app.conf'
6. 花括号扩展:批量创建文件(高频实用技巧)
touch log_{01..12}.txt # 一次性批量创建 log_01.txt 至 log_12.txt 12个空白文件 touch {java,python,go}_code.md # 一次性创建java_code.md、python_code.md、go_code.md三个业务文件
五、新手常见问题&踩坑
touch 无法创建目录,执行touch 文件夹名只会生成同名空白文件,创建目录必须使用mkdir;
文件已存在,直接执行touch 文件名,会直接刷新文件时间,不会改动文件原有内容;
普通用户无法在 /、/root、/etc 等系统保护目录下创建文件,会提示权限不足,需加sudo提权;
批量创建带层级文件时,上级目录不存在会报错,需先mkdir -p建好目录,再用touch创建目录内文件。