刚接触 Linux 的你,想在当前目录下新建一个文件,是不是只会点鼠标右键?或者在 Windows 里习惯了“新建文本文档”,到了终端突然不知道该怎么“新建”了。别急,Linux 创建文件的方法不止一种,而且每种都有各自的适用场景。本文介绍三种最常用的方法:touch、vim、cat,对比它们的区别,帮你选对工具,避免踩坑。
一、三种方法速览与对比
📌 一句话总结:只想建一个空文件 → touch;需要编辑内容 → vim;快速塞几行文字 → cat。
二、方法一:touch —— 创建空文件 + 更新时间戳
touch 的本职工作是修改文件的时间戳(访问时间、修改时间)。但如果文件不存在,它会自动创建一个空文件。
基础用法
touch filename.txt
创建多个空文件
touch file1.txt file2.txt file3.txt
批量创建带数字编号的文件(结合大括号扩展)
touch log_{1..5}.txt# 会创建 log_1.txt, log_2.txt, ..., log_5.txt
验证文件是否创建成功
ls -l filename.txt
touch 的典型应用场景
- 快速占位:创建一个空文件,表示某个配置或数据文件即将存在。
- 触发自动化任务:有些程序通过检测文件是否存在来决定是否执行(如
*.lock 锁文件)。 - 更新时间戳:
touch existing_file 会更新它的修改时间为当前时间(不改变内容)。
常见坑
三、方法二:vim —— 功能最强大的文本编辑器
vim 是 Linux 上最经典的文本编辑器之一(Vi IMproved)。它可以创建文件并编辑内容,支持语法高亮、搜索替换、宏录制等高级功能。
用 vim 创建并编辑文件
vim mynote.txt
基础操作流程(新手必看)
- 输入
vim 文件名 进入命令模式(此时无法直接输入文字)。 - 按
i 键进入插入模式(屏幕底部会显示 -- INSERT --)。
快速创建并写入一行内容
如果你觉得 vim 步骤太多,也可以直接使用 vim -c 参数:
vim -c "normal iHello World" -c "wq" quick.txt
但这种用法不常用,更推荐直接进入 vim 编辑。
适用场景
- 修改配置文件(如
.bashrc、/etc/nginx/nginx.conf)
常见坑
💡 小技巧:如果你不习惯 vim,可以使用 nano(更简单,界面下方有提示)。大部分 Linux 发行版都预装了 nano。
四、方法三:cat + 重定向 —— 快速写入几行内容
cat 通常用于查看文件内容,但配合重定向 > 或 >> 也可以创建文件并写入内容。
基本用法(创建文件并写入内容)
cat > filename.txt
执行后光标会等待你输入内容。输入完成后,按 Ctrl + D 结束输入。
示例:
$ cat > hello.txtHello WorldThis is a test.[按 Ctrl+D]$ cat hello.txtHello WorldThis is a test.
使用 EOF 标记(多行字符串,适合脚本)
cat > config.txt << EOFserver { listen 80; server_name example.com;}EOF
<< EOF 表示遇到单独的 EOF 行停止输入。可以换成任何其他标记(如 END、STOP)。
追加内容(不覆盖原文件)
使用 >> 而不是 >:
echo"new line" >> filename.txt # 追加一行cat >> filename.txt << EOFanother lineEOF
适用场景
常见坑
| | |
|---|
| cat > config.yaml 后才发现原本有内容 | |
| | 记住结束符是Ctrl + D,或者用 EOF 方式 |
| | |
五、三种方法对比总结
| touch | vim | cat |
|---|
| 是否需要编辑 | | | |
| 是否支持修改已存在文件 | | | > |
| 学习曲线 | | | |
| 适合创建多行内容 | | | |
| 脚本友好性 | | | |
| 最常用场景 | | | |
六、附加方法:echo 和 printf 创建文件
除了以上三种,你还可以用 echo 或 printf 配合重定向快速创建单行文件。
echo"Hello" > greeting.txt # 创建并写入一行printf"First line\nSecond line\n" > two_lines.txt
这些方法适合创建非常小的文件,但本质上是重定向,和 cat > 类似。
七、总结:选哪个?
- 只要空文件
- 需要输入内容,愿意学编辑器 →
vim filename(功能最强,但有一点学习成本) - 临时快速写几行(不修改) →
cat > filename 然后按 Ctrl+D - 在脚本中生成文件 →
cat > filename << EOF ... EOF 或 echo "..." > filename
掌握了这三种方法,你在 Linux 中新建文件就再也没有障碍了。
如果你觉得本文对你有帮助,欢迎点赞、推荐、转发,关注我,后续会分享更多Linux入门干货!
文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎