当前位置:首页>Linux>007 Linux怎么创建文件?touch、vim、cat三种方法详解

007 Linux怎么创建文件?touch、vim、cat三种方法详解

  • 2026-09-02 17:18:20
007 Linux怎么创建文件?touch、vim、cat三种方法详解

刚接触 Linux 的你,想在当前目录下新建一个文件,是不是只会点鼠标右键?或者在 Windows 里习惯了“新建文本文档”,到了终端突然不知道该怎么“新建”了。别急,Linux 创建文件的方法不止一种,而且每种都有各自的适用场景。本文介绍三种最常用的方法:touch、vim、cat,对比它们的区别,帮你选对工具,避免踩坑。


一、三种方法速览与对比

方法
命令格式
是否可编辑内容
适用场景
touch
touch 文件名
❌ 只能创建空文件,不编辑内容
快速创建空文件、更新文件时间戳
vim
vim 文件名
✅ 功能强大的文本编辑器
编写脚本、配置文件,需要编辑内容的场景
cat
 + 重定向
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 会更新它的修改时间为当前时间(不改变内容)。

常见坑

坑点
错误示例
正确做法
❌ 以为touch 可以编辑内容
运行touch file 后发现是空的
需要编辑内容请用vim 或 cat
❌ 在已有内容的文件上执行touch
误以为会清空内容
touch
 不会清空内容,只更新时间戳

三、方法二:vim —— 功能最强大的文本编辑器

vim 是 Linux 上最经典的文本编辑器之一(Vi IMproved)。它可以创建文件并编辑内容,支持语法高亮、搜索替换、宏录制等高级功能。

用 vim 创建并编辑文件

vim mynote.txt

基础操作流程(新手必看)

  1. 输入 vim 文件名 进入命令模式(此时无法直接输入文字)。
  2. 按 i 键进入插入模式(屏幕底部会显示 -- INSERT --)。
  3. 输入你的内容。
  4. 按 Esc 键退出插入模式,回到命令模式。
  5. 输入 :wq 然后按回车(保存并退出)。
    • :w
       保存
    • :q
       退出
    • :wq
       保存并退出
    • :q!
       不保存强制退出

快速创建并写入一行内容

如果你觉得 vim 步骤太多,也可以直接使用 vim -c 参数:

vim -c "normal iHello World" -c "wq" quick.txt

但这种用法不常用,更推荐直接进入 vim 编辑。

适用场景

  • 编写 Shell 脚本(.sh)
  • 修改配置文件(如 .bashrc、/etc/nginx/nginx.conf)
  • 写代码(支持多种编程语言)
  • 需要长时间编辑、光标移动、复制粘贴的场景

常见坑

坑点
错误做法
正确做法
❌ 进入vim 后无法输入
不知道按i 进入插入模式
按i 或 a 或 o 进入插入模式
❌ 按了Esc 后不知道怎么保存退出
乱按导致卡住
输入:wq 回车
❌ 不小心打开了一个超大文件
vim huge.log 导致卡死
用less 或 head 查看大文件
❌ 忘记sudo 编辑系统文件
vim /etc/hosts,保存时提示只读
用sudo vim /etc/hosts

💡 小技巧:如果你不习惯 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

适用场景

  • 快速创建带几行内容的配置文件
  • 在 Shell 脚本中动态生成配置文件
  • 不需要交互式编辑,内容已知的场景

常见坑

坑点
错误做法
正确做法
❌ 误用单个> 覆盖了重要文件
cat > config.yaml 后才发现原本有内容
养成习惯:追加用>>;覆盖前确认备份
❌ 忘记Ctrl + D 导致终端卡住
以为按回车就结束,光标一直等待
记住结束符是Ctrl + D,或者用 EOF 方式
❌ 在> 后面不小心加了空格
cat > myfile .txt(点前有空格)
确保文件名正确,无多余空格

五、三种方法对比总结

维度
touchvimcat
 重定向
是否需要编辑
不需要
需要(交互式)
需要(非交互式,一次性输入)
是否支持修改已存在文件
只更新时间戳,不改内容
完全支持修改
>
 会覆盖,>> 追加
学习曲线
极低
中等
低
适合创建多行内容
❌
✅
✅(但无法回头修改)
脚本友好性
✅(创建空文件)
❌(交互式,不适合脚本)
✅(可配合 EOF)
最常用场景
占位、锁文件、时间戳
编写代码、修改配置
快速生成配置文件、脚本内创建文件

六、附加方法:echo 和 printf 创建文件

除了以上三种,你还可以用 echo 或 printf 配合重定向快速创建单行文件。

echo"Hello" > greeting.txt          # 创建并写入一行printf"First line\nSecond line\n" > two_lines.txt

这些方法适合创建非常小的文件,但本质上是重定向,和 cat > 类似。


七、总结:选哪个?

  • 只要空文件
     → touch filename
  • 需要输入内容,愿意学编辑器
     → vim filename(功能最强,但有一点学习成本)
  • 临时快速写几行(不修改)
     → cat > filename 然后按 Ctrl+D
  • 在脚本中生成文件
     → cat > filename << EOF ... EOF 或 echo "..." > filename

掌握了这三种方法,你在 Linux 中新建文件就再也没有障碍了。

如果你觉得本文对你有帮助,欢迎点赞、推荐、转发,关注我,后续会分享更多Linux入门干货!

文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章