如何在 Ubuntu 中创建文件:终端、图形界面、模板和权限(初学者指南)

目次

1. 本文将学习的内容

在 Ubuntu 上工作时,你不可避免会遇到想要“创建一个新文件”的情形。
比如,你可能会为笔记创建一个文本文件,生成一个新的配置文件,或准备一个 shell 脚本——用例非常多。

如果你习惯了 Windows,往往会想:“右键就能新建文件吗?”或者“哪种方法才是正确的?”——这正是经典的 Ubuntu 时刻。

在本文中,我们将整理并讲解 在 Ubuntu 中创建文件的最常见方法,让即使是初学者也能毫不迷茫地跟随。

1.1 Ubuntu 中创建文件的常见方式(命令行 / GUI)

在 Ubuntu 中创建文件主要有两种方式:

使用命令(终端)

一旦熟悉,使用终端的速度极快,而且在实际工作中使用频繁。

  • 创建空文件touch
  • 创建文件并同步写入内容echoprintf + 重定向(>
  • 一次性创建多行文件cat(heredoc)

对于服务器操作或编辑配置文件等任务,命令行是标准做法。

使用 GUI(文件管理器)

在 Ubuntu 的桌面环境下,你也可以使用文件应用(Nautilus)进行可视化操作。

  • 打开文本编辑器,使用 “新建文件 → 保存”
  • 使用 模板 功能(Templates)从右键菜单创建文件

即使你主要使用 GUI,这也是一种舒适的选择。

1.2 应该选哪种方法?(按使用场景快速参考)

很多人会卡在“到底该用哪种?”——下面直接给出结论。

What you want to doRecommended methodWhy
Create an empty file as fast as possibletouchFastest and reliable
Create a file with just one lineecho + >Easy to copy/paste
Create a multi-line configuration filecat (heredoc)Create in one shot, fewer mistakes
Create while viewing on screenSave from a text editorBeginner-friendly
Create from right-clickTemplatesUbuntu-specific solution

如果你是初学者,只需要掌握 “从 GUI 保存”“touch” 两种方式就足够。
当你熟练后,加入重定向和 heredoc 到你的工具箱中,工作流会更加顺畅。

1.3 目标受众(从入门到轻度实用)

本文面向以下人群:

  • 刚开始使用 Ubuntu,却不知道如何创建文件
  • 对终端不熟悉,但想学习最基本的命令
  • 正在逐步编写配置文件或脚本
  • 因右键无法新建文件而卡住
  • 遭遇 “Permission denied” 等错误被卡住

后文还会介绍创建后检查(权限与所有者)以及常见故障排除,
因此它将成为你日常 Ubuntu 使用时 “随时翻阅的参考手册”

2. Ubuntu 中“创建文件”到底是什么意思

在 Ubuntu 中,“创建文件”仅指 “准备一个可以保存数据的容器”
但在实际工作中,初学者常常因为以下情况混淆概念:

  • 以为自己创建了文件,实际上创建的是目录(文件夹)
  • 记不清自己把文件放在哪儿了
  • 创建时没有加文件扩展名,导致不知道文件用途
  • 创建后无法编辑(权限问题)

下面我们将 整理 你在 Ubuntu 中需要了解的文件创建基础。

2.1 文件与目录的区别(常被混淆)

首先,在 Ubuntu(Linux)中,“文件”“目录(文件夹)” 是不同的概念。

  • 文件:包含内容(文本、设置、数据等)的实体
  • 目录:用于组织文件的容器

举例:

  • memo.txt → 文件
  • Documents/ → 目录
  • config.ini → 文件
  • project/ → 目录

初学者最常犯的错误是本想创建文件,却误用了创建目录的命令。

  • 创建目录的命令:mkdir
  • 创建文件的命令:touch(以及其他方式)

本文聚焦于 创建文件,因此主要使用 touch> 等重定向方式。

2.2 扩展名不是必须的,但在实际使用中很重要

(此节后续内容将在后文展开)

在 Windows 上,文件扩展名(.txt、.jpg、.exe 等)非常重要,
人们常常觉得扩展名“定义”了文件是什么。

在 Ubuntu(Linux)中,另一方面,扩展名不是必需的。
在极端情况下,像这样的文件可以存在而没有任何问题:

  • memo
  • config
  • run

话虽如此,在实际使用中添加扩展名通常更清晰
特别是对于初学者,推荐使用扩展名以使用途明显。

常见示例包括:

  • memo.txt : 文本笔记
  • script.sh : shell 脚本
  • settings.conf : 配置文件
  • data.csv : CSV 数据
  • README.md : 文档(Markdown)

此外,在 Ubuntu 中,“文件内容”和“权限(是否可以执行)”往往比扩展名更重要。
这就是为什么本文后面我们还将涉及 chmod(执行权限)。

2.3 通过考虑保存位置(路径)来减少错误(主目录 / 工作目录)

这是 Ubuntu 上创建文件时初学者最常见的问题之一:

“我创建了文件,但找不到它在哪里……”

这通常是因为你没有注意你是在哪个目录中创建的它

在 Ubuntu 中,创建文件的位置有两种常见模式。

在你的主目录下创建(推荐给初学者)

你登录的用户通常有一个个人工作空间。
这被称为你的主目录

示例路径:

  • /home/username/

在终端中,它由符号 ~ 表示。

示例:

  • ~/Documents
  • ~/Downloads
  • ~/Desktop

作为初学者,通常在你的主目录下工作是最安全的。

在你的工作目录中创建(熟悉后理解)

当你从终端创建文件时,它会创建在“你现在所在的地方”。
这被称为当前目录

检查当前位置的命令是 pwd

pwd

示例:如果输出是:

/home/user/Documents

那么运行 touch test.txt 将在这里创建文件:

  • /home/user/Documents/test.txt

所以文件创建不仅仅是“动作”——你需要将位置(路径)理解为其一部分。

3. 最快的选项:创建空文件 (touch)

当你在 Ubuntu 上想,“我现在只是想创建一个文件”时,最简单和最可靠的方法是 touch 命令。

touch 常用于以下情况:

  • 为笔记创建一个空文件并稍后编辑
  • 为配置文件首先准备一个“空容器”
  • 为项目一次性创建多个文件
  • 在运行另一个进程之前准备一个必须存在的文件

对于“创建空文件”的目标,touch 接近于最佳答案。

3.1 touch filename 的基础(创建空文件)

基本形式极其简单。

touch filename

例如,要创建一个名为 memo.txt 的空文件:

touch memo.txt

要确认它是否创建,使用 ls 列出文件。

ls

你应该看到你创建的文件:

memo.txt

如果你想确认“它真的是空的吗?”,你可以用 cat 显示其内容。

cat memo.txt

如果没有显示任何内容,文件就是空的。

3.2 如果对现有文件运行 touch 会发生什么?(时间戳更新)

touch 不仅仅创建不存在的文件。
如果你对已经存在的文件运行它,它通常表现如下:

  • 文件内容不变
  • 修改时间(时间戳)变得更新

例如,如果 memo.txt 已经存在并且你运行:

touch memo.txt

内容保持不变,但文件的“修改时间”被更新。

在许多日常任务中这无关紧要,但要小心以下情况:

  • 备份/同步工具将其视为“已更新”
  • 构建或自动化进程依赖时间戳
  • 监控系统可能将其误解为更改

作为初学者,记住 “touch = 创建一个空文件” 已经足够。
随着经验的积累,最好再记住它还能 “更新时间戳”。

3.3 一次创建多个文件(示例:touch a.txt b.txt

你也可以在一次命令中创建多个文件。

touch a.txt b.txt c.txt

这一行会同时创建 a.txtb.txtc.txt

在需要准备一个基本项目骨架时,这也非常方便。

touch index.html style.css script.js

在 Web 开发和学习场景中,这种一次性创建多个文件的做法非常常见。

3.4 常见错误:拼写错误导致意外文件 / 错误位置

touch 使用起来很便利,但正因为它太容易,就可能导致 “意外”。
以下是初学者常犯的错误。

没注意到文件名的拼写错误

例如,你本想创建 config.txt,却不小心敲成了:

touch confgi.txt

于是系统会创建一个名为 confgi.txt 的不同文件。
touch 不会报错——它直接创建文件——所以很容易被忽视。

技巧:创建文件后立即运行 ls,确认实际生成了哪些文件。

在错误的目录下创建(找不到文件)

这种情况非常常见。

当你在终端里创建文件时,它会出现在当前所在的目录中。

查看 “我现在在哪儿?” 的命令是 pwd

pwd

如果不在预期的目录,请先使用 cd 切换到正确位置,再创建文件。

示例:切换到 Documents 目录后再创建文件

cd ~/Documents
touch memo.txt

至此,你已经掌握了在 Ubuntu 上创建空文件的最简方法:touch

4. 创建并写入内容:使用重定向(echo / printf / cat)

touch 适合创建空文件。
但在实际工作中,你更常需要下面这种情况:

  • 不仅要创建文件,还要 同时写入内容
  • 只写入一行后结束
  • 批量生成配置文件

这时 重定向(使用 >>>)就非常有用了。

重定向需要一点练习,但一旦掌握,你的工作流会快很多。

4.1 使用 > 创建(并说明覆盖风险)

在 Ubuntu 上,你可以把命令的输出保存到文件中。
用于此目的的操作符是 >

基本语法如下:

command > filename

例如,将 hello 写入并创建 memo.txt

echo "hello" > memo.txt

如果 memo.txt 不存在,会被创建;如果已经存在,内容会被替换掉。

关键点如下:

> 可以创建新文件,但它也会 覆盖已有文件

因此,如果对已经有重要内容的文件使用 >,原有内容会被删除。

作为安全的初学者准则:

  • > 表示 替换(覆盖)
  • >> 表示 追加(添加)

4.2 使用 >> 追加(配置文件的常见写法)

如果想在不覆盖的情况下添加内容,请使用 >>

echo "second line" >> memo.txt

这会在 memo.txt 的末尾添加新的一行。

在处理配置文件或日志时,追加往往是更安全的选择。

例如,向配置文件添加一行可以这样写:

echo "export PATH=\$PATH:/opt/tools/bin" >> ~/.bashrc

>> 的优势在于:它 保留已有内容并在其后追加新内容

4.3 使用 printf 更安全(换行和转义)

echo 简单易用,但在实际环境中,printf 往往更可靠。

主要原因包括:

  • echo 在不同环境下的行为可能略有差异
  • printf 更容易精确处理 \n(换行)和 \t(制表符)等转义字符

例如,使用显式换行一次性写入多行:

printf "line1\nline2\n" > memo.txt

这会一次性创建 memo.txt,其中恰好包含两行内容。

printf 在需要插入空行或更复杂的格式时也非常好用。

4.4 一次写入多行:Heredoc(cat << 'EOF' > file 的工作原理)

在创建配置文件时,使用 echo 一行行追加会非常繁琐。
这时 heredoc(here‑document)就显得非常实用。

使用下面的语法,你可以一次性把多行内容保存到文件中:

cat << 'EOF' > sample.conf
server_name example.com;
root /var/www/html;
index index.html;
EOF

关键点如下:

  • EOF 是一个标记,表示“输入在此结束”(你也可以使用其他单词)
  • 将其写成 'EOF' 的形式可以防止变量展开,使其更安全

Heredoc 常用于服务器搭建和配置工作。
起初可能看起来有点高级,但一旦熟悉后,它极其方便。

4.5 小技巧——防止误覆盖的“事故预防”

重定向最可怕的地方在于不小心覆盖了文件。

例如,下面的操作就很危险:

echo "test" > important.conf

如果 important.conf 中保存着关键设置,内容将会全部丢失。

为了在实际操作中减少失误,请记住以下两点:

1) 覆盖前先创建备份

例如,对一个配置文件进行备份:

cp important.conf important.conf.bak

2) 用 catless 检查内容后再编辑

养成编辑前先检查的习惯,可以避免很多意外事故。

cat important.conf

5. 用编辑器创建文件(新手友好:nano / GUI 文本编辑器)

到目前为止,我们已经介绍了 touch 和重定向,这两者在熟练使用后非常强大。
但如果你是 Ubuntu 新手,可能会有以下感受:

  • 终端仍然让人望而生畏
  • 要是误删了文件怎么办?
  • 想边看屏幕边编辑

在这种情况下,使用 编辑器来创建文件 是最安全的做法。
有了编辑器,流程就是“新建 → 保存”,直观易懂。

5.1 在终端中编辑:nano file(如何保存与退出)

Ubuntu 上最适合新手的终端编辑器是 nano
它使用简单,快捷键会显示在屏幕底部,避免了迷失方向的情况。

例如,创建并编辑 memo.txt

nano memo.txt

如果 memo.txt 不存在,nano 会自动创建并打开它。
编写完文本后保存并退出——完成。

基础 nano 快捷键(新手应先掌握的 3 件事)

nano 通过快捷键操作。
基本思路是按住 Ctrl 再按另一个键。

  • 保存Ctrl + O(Write Out)
  • 回车:确认文件名
  • 退出Ctrl + X

如果尝试在未保存的情况下退出,nano 会询问是否确认,这正是它对新手友好的原因。

5.2 vim 适用于进阶用户(仅需最小的保存/退出)

很多 Ubuntu 用户习惯使用 vim,但对新手来说可能有点难上手。
因为它有多种模式,容易出现“我打不出字”或“我退出不了”的情况。

不过,掌握最基本的——“打开”以及“保存并退出”——在紧急情况下已经足够。

打开文件(若文件不存在则会创建):

vim memo.txt

保存并退出的基本步骤:

  1. Esc
  2. 输入 :wq 并回车(write + quit)

不保存直接退出:

  1. Esc
  2. 输入 :q! 并回车

对新手而言,nano 通常已经足够。
把 vim 当作“进阶工具”,仅在需要时逐步学习即可。

5.3 使用 GUI 创建文件(文本编辑器 → 保存)

如果不想使用终端,也可以完全通过图形界面创建文件。

最简便的做法是:

  1. 打开文本编辑器(例如 “Text Editor” 或 “GNOME Text Editor”)
  2. 新建文件
  3. 点击 “保存” 并选择保存位置

final answer.这与 Windows 非常相似,所以初学者通常会感到很舒适。

此外,由于你明确选择了保存位置,文件创建位置不容易丢失。

5.4 推荐编辑器(Ubuntu 默认 / VS Code)

在 Ubuntu 上,根据你的用途有多种编辑器可供选择。

Ubuntu 默认:文本编辑器(简洁轻量)

Ubuntu 通常默认预装了一个简易的文本编辑器。
它非常适合快速记笔记、小型配置编辑和简单脚本。

VS Code(编程最佳)

如果你编写代码或管理大量文件,强烈推荐使用 Visual Studio Code(VS Code)

  • 语法高亮(易于阅读)
  • 自动格式化
  • 集成终端
  • 支持多语言的扩展

对于初学者来说,先使用“默认文本编辑器”已经足够。
如果你觉得需要更舒适的开发环境,之后可以切换到 VS Code。

6. 在 Ubuntu 上右键“新建文件”:使用模板

许多从 Windows 转到 Ubuntu 的用户会期待以下工作流程:

“右键 → 新建 → 创建文件”

在 Ubuntu 上,文件管理器默认并不总是显示“新建文件”。
这常常导致初学者认为,“Ubuntu 不能通过右键新建文件”。

但解决方案是存在的:Templates

6.1 什么是 Templates 文件夹?(工作原理)

Ubuntu 有一个名为 Templates 的功能,允许你通过右键菜单从模板创建新文件。

原理很简单:

  • 如果你把文件放入 Templates 文件夹
  • 它们会在右键菜单中显示为“新建文档”选项

这就是 Ubuntu 风格的在 GUI 中创建“新文件”的方式。

6.2 启用右键“新建文档”(创建空白模板)

要使用 Templates,你至少需要一个模板文件。

首先,检查你的主目录下是否有 Templates 文件夹。

ls ~

如果看到名为 Templates 的文件夹,那就是它。

如果不存在,创建它:

mkdir -p ~/Templates

现在在其中创建一个空白模板文件。
例如,一个空白文本文件模板:

touch ~/Templates/Empty\ Text\ File.txt

完成后,打开文件管理器,在文件夹中右键,你应该会看到类似以下内容:

  • 新建文档
  • 空白文本文件.txt

选择它,Ubuntu 将基于该模板创建一个新文件。

6.3 添加多个模板(文本 / Markdown / Shell 脚本)

了解概念后,你可以根据需求添加多个模板。

示例:

touch ~/Templates/README.md
touch ~/Templates/script.sh
touch ~/Templates/config.conf

现在你也可以通过右键创建这些常用文件。

如果你想让 script.sh 创建后立即可执行,也可以准备一个可执行的模板文件(后面的权限章节会介绍)。

6.4 故障排除:“Templates 未显示”

如果右键菜单中没有出现“新建文档”,请检查以下几点:

  • Templates 文件夹位于你的主目录下
  • Templates 中至少有一个文件
  • 你使用的是默认的 Ubuntu 文件管理器(Nautilus)

在多数情况下,仅创建一个模板文件就足以让菜单出现。

7. 创建文件时的常见错误(权限被拒绝、只读等)

此时,你已经可以通过多种方式创建文件。
但许多初学者仍会遇到另一道障碍:

“我尝试创建文件,但提示权限被拒绝。”

这是因为 Ubuntu 拥有严格的权限系统。它可以防止系统被意外更改,但起初会让初学者感到困惑。

7.1 为什么会出现“权限被拒绝”(所有者 / 权限)

在 Ubuntu 上,每个文件和目录都有:

  • 一个 所有者(谁拥有它)
  • 一个 (它属于哪个组)
  • 权限(允许的操作)

如果你的用户账户没有在某个目录中创建文件的权限,Ubuntu 将阻止该操作。

例如,像下面这样的系统目录通常需要管理员权限:

  • /etc
  • /usr
  • /var

因此,如果你以普通用户尝试直接在 /etc 下创建文件,可能会收到错误。

7.2 使用 ls -l 检查权限

当你看到权限错误时,首先要做的就是检查文件/目录的权限。

最常用的命令是 ls -l

ls -l

示例输出:

-rw-r--r-- 1 user user  120 Jan 24 10:30 memo.txt

此行包含重要信息:

  • -rw-r--r-- : 权限
  • user user : 所有者和组

对于目录,你可能会看到类似如下的输出:

drwxr-xr-x 2 user user 4096 Jan 24 10:20 Documents

首字符告诉你它的类型:

  • - = 文件
  • d = 目录

因此你可以快速判断它是文件还是目录。

7.3 你需要的最基本权限知识(r / w / x)

Linux 权限看起来很复杂,但拆解后基本概念其实很简单。

权限字母的含义:

  • r = 读取(可以查看内容)
  • w = 写入(可以编辑/创建/删除)
  • x = 执行(可以运行 / 可以进入目录)

它们适用于三个类别:

  • 所有者(用户)
  • 其他人(其他所有用户)

因此像下面这样的权限字符串:

-rw-r--r--

可以解读为:

  • 所有者:rw-(允许读取/写入)
  • 组:r--(只读)
  • 其他人:r--(只读)

这些知识足以帮助你理解作为初学者会遇到的大多数权限问题。

7.4 安全地修复权限问题(使用正确的目录,避免随意使用 sudo)

当你看到 “Permission denied” 时,初学者常会立刻尝试以下操作:

sudo touch something

这可能有效,但在不了解的情况下使用 sudo 会在以后导致更大的问题(所有权错误、意外的系统修改)。

因此,这里提供一种更安全的初学者做法:

  1. 尽可能在你的 home 目录下创建文件
  2. 如果必须编辑系统文件,仅在特定任务中使用 sudo

例如,编辑 /etc 下的文件通常这样操作:

sudo nano /etc/example.conf

这比在未知位置以 root 身份随意创建文件更安全。

7.5 常见陷阱:使用 sudo 创建的文件会变成 “root 所有”

如果你使用 sudo 创建或编辑文件,它可能会归 root 所有。

示例:

sudo touch myfile.txt

如果你用 ls -l 检查它,可能会看到:

-rw-r--r-- 1 root root 0 Jan 24 11:00 myfile.txt

这意味着普通用户以后可能无法自由编辑它。

如果需要修复所有权(针对 home 目录下的文件),可以使用 chown

sudo chown $USER:$USER myfile.txt

重要提示: 不要随意更改 /etc/usr 下系统文件的所有权。
此操作主要用于应属于你的用户账户的文件(尤其是 ~ 目录下的文件)。

8. 创建可执行文件(Shell 脚本)并设置权限

在 Ubuntu 上,你可能想创建一个文件然后“运行它”。
典型的例子是 shell 脚本(.sh 文件)。

但许多初学者创建脚本后会遇到以下问题:

“我创建了文件,但无法执行它。”

这是因为在 Ubuntu 上,执行取决于权限(x 标志)。

8.1 创建一个简单的脚本文件(示例)

首先,创建脚本文件。下面是使用 heredoc 的快速示例:

cat << 'EOF' > hello.sh
#!/bin/bash
echo "Hello from Ubuntu!"
EOF

现在你有一个名为 hello.sh 的文件。

此时文件已存在,但可能尚未可执行。

8.2 使用 chmod +x 使其可执行

要直接运行脚本文件,需要添加执行权限。

使用如下方式的 chmod +x

chmod +x hello.sh

现在你可以这样运行它:

./hello.sh

预期输出:

Hello from Ubuntu!

这是 Ubuntu 的关键概念:

.

文件可以存在,但如果没有执行权限(x),它是无法运行的。

8.3 为什么需要 ./ 来运行它(初学者解释)

初学者常常会好奇,为什么不能直接这样运行脚本:

hello.sh

以及为什么 Ubuntu 必须这样写:

./hello.sh

原因在于出于安全考虑,Ubuntu 不会自动在当前目录(.)中搜索可执行命令。

所以 ./ 的含义是:

  • “在当前目录下运行该文件”

这可以防止误运行与系统命令同名的恶意脚本。

8.4 更安全的脚本创建方式:使用 Scripts 文件夹

如果你经常编写脚本,创建一个专用文件夹会更方便。

mkdir -p ~/scripts

然后把脚本放在该文件夹中:

mv hello.sh ~/scripts/

这样可以保持主目录整洁,也更易于管理脚本。

9. 确认文件创建的实用命令(ls / file / cat / stat)

创建文件后,确认以下几点会很有帮助:

  • 文件是否存在
  • 文件类型是否正确
  • 内容是否符合预期
  • 权限是否正确

下面列出最常用的确认命令。

9.1 使用 lsls -l 确认存在性

最基本的检查是 ls

ls

如果想查看权限、时间戳等详细信息,使用 ls -l

ls -l memo.txt

它会显示所有者、权限、大小以及最后修改时间。

9.2 使用 file 检查文件类型

如果不确定文件到底是什么类型,使用 file 命令。

file memo.txt

示例输出:

memo.txt: ASCII text

在处理没有扩展名的文件时,这非常有用。

9.3 使用 catless 查看内容

要快速显示文件内容,使用 cat

cat memo.txt

如果文件较长,less 更易阅读:

less memo.txt

less 中可以滚动查看,按 q 退出。

9.4 使用 stat 查看详细元数据

想获取更详细的信息(时间戳、inode 等),使用 stat

stat memo.txt

在调试“文件为何看起来被更新”或“某些功能为何失效”时,这尤其有帮助。

10. 总结:在 Ubuntu 中创建文件的最佳方式(初学者清单)

最后,让我们概括在 Ubuntu 中创建文件的最实用方法。

10.1 按需求推荐的创建方式

  • 快速创建空文件touch file.txt
  • 创建单行文件echo "text" > file.txt
  • 安全追加echo "text" >> file.txt
  • 创建多行文件:heredoc(cat << 'EOF' > file
  • 使用编辑器创建nano file.txt 或图形化编辑器
  • 右键创建:Templates 文件夹

记住这些方法,就能轻松应对 Ubuntu 中的大多数“创建文件”场景。

10.2 初学者安全工作流(避免错误)

对于新手来说,以下工作流最安全、最实用:

  1. 检查当前所在目录(pwd
  2. 创建文件(touch 或编辑器)
  3. 确认文件已存在(ls
  4. 如有需要,检查权限(ls -l

熟练后即可开始使用重定向和 heredoc 提高效率。

10.3 最后建议:别怕终端——一步步来

Ubuntu 强大之处在于同时提供 GUI 与终端两种方式,你不必一次性掌握全部。

先从以下操作入手:

  • touch 创建空文件
  • 用图形化编辑器编写内容
  • 用 Templates 文件夹实现右键新建

等你准备好后,再加入重定向和 heredoc,以实现更快捷的工作流。

有了这些工具,无论是初学者还是逐步进阶的用户,都能在 Ubuntu 上顺畅地创建文件。