如何在 Linux 命令行中创建文件?


在深入了解如何使用 Bash 创建文件之前,让我们首先了解 Linux 如何处理其文件。Linux 将其所有数据组织到文件中,文件又组织到目录中。此外,目录被组织成称为文件系统的树状结构。当您必须在Linux 环境中工作时,您肯定需要花费大量时间处理不同类型的文件。

在 Linux 中创建文件有多种方法。您可以从 Bash Shell 创建文件,也可以使用桌面文件管理器来创建文件。在本文中,我们将重点介绍可用于创建文件的不同 Shell 命令。

您可以使用以下五种命令在 Linux 中创建新文件

  • "touch" 命令

  • "cat" 命令

  • 重定向运算符

  • "echo" 命令

  • "printf" 命令

我们将逐一详细介绍这些命令。让我们从 "touch" 命令开始。

使用 "touch" 命令

touch 命令是迄今为止在 Linux 中创建新文件最常用的命令。要创建新文件,您需要运行touch 命令,后跟文件名。例如:

$ touch hello.txt

这将在当前目录中创建一个名为 "hello.txt" 的空文件。使用"ls" 命令验证文件是否已创建。

使用 "cat" 命令

通常我们使用"cat" 命令读取文件内容;但是,我们也可以使用此命令创建新文件。让我们看看如何操作。

要创建新文件,请运行 "cat" 命令,然后使用重定向运算符 ">" 后跟文件名。现在系统将提示您将数据插入到这个新创建的文件中。键入一行,然后按 "Ctrl+D" 保存文件。

$ cat > secondFile.txt
Welcome to Tutorialspoint!

上述命令将创建一个名为 "secondFile.txt" 的新文件,并使用内容 "Welcome to Tutorialspoint" 保存它。

再次使用 "ls" 命令验证新文件是否已创建。

$ ls
hello.txt newdirectory secondFile.txt

接下来,使用 "cat" 命令查看 "secondFile.txt" 的内容。

$ cat secondFile.txt
Welcome to Tutorialspoint!

使用重定向运算符

您可以简单地使用重定向运算符 ">" 在当前目录中创建新的空白文件。运行 ">" 运算符,后跟文件名。

$ > thirdFile.txt

现在再次使用 "ls" 命令进行验证:

$ ls
hello.txt newdirectory secondFile.txt thirdFile.txt

请注意,如果文件已存在,">" 运算符将覆盖文件的内容。例如,以下命令将覆盖 "secondFile.txt" 的内容,因为该文件已存在,并且我们知道它包含行 "Welcome to Tutorialspoint!"。

$ > secondFile.txt

现在使用 "cat" 命令检查 "secondFile.txt" 的内容。

$ cat secondFile.txt

它将不显示任何内容,因为该文件现在为空。

您可以使用重定向运算符 ">>" 将文件的内容追加到另一个文件中。例如:

$ cat hello.txt
This is the first file.
$ cat secondFile.txt
This is the Second File.

现在我们可以使用以下命令将 "secondFile.txt" 的内容追加到 "hello.txt" 的末尾。

$ cat secondFile.txt >> hello.txt
$ cat hello.txt
This is the first file.
This is the Second File.

使用 "echo" 命令

"echo" 命令以字符串作为参数,并将其显示为输出。例如:

$ echo "This is the Fourth File"
This is the Fourth File

我们可以将此输出重定向到新文件,例如:

$ echo "This is the Fourth File" > fourthFile.txt

上述命令将创建一个新文件(如果文件已存在,则覆盖该文件),其中包含作为 "echo" 参数传递的字符串。使用 "cat" 命令进行验证:

$ cat fourthFile.txt
This is the Fourth File

如果您只想创建一个新的空白文件,请在没有任何参数的情况下使用 "echo" 命令:

$ echo > fourthFile.txt

使用 "printf" 命令

"printf" 命令的工作方式与 "echo" 命令相同,唯一的区别是 "printf" 命令提供了其他格式化选项,您可以使用这些选项将格式化后的字符串作为参数传递。

以下 "printf" 命令将输入格式化字符串重定向到新文件 "fifthFile.txt"。如果文件已存在,则将覆盖其内容。

$ printf "First Line.
Second Line.
" > fifthFile.txt $ cat fifthFile.txt First Line. Second Line.

本教程的接下来的两部分提供了有关 Linux 文件系统和 Linux 文件类型概述的补充信息。

Linux 文件系统

Linux 的关键特性之一是其文件系统,它与 Windows 或 MacOS 等其他操作系统中的文件系统不同。

Linux 文件系统以分层方式构建,其所有文件和目录都组织在一个根目录下。根目录由正斜杠 (/) 表示,它是文件系统层次结构中的顶级目录。所有其他目录和文件都位于此根目录中。

Linux 中的目录类似于其他操作系统中的文件夹。它们可以包含文件、子目录或两者兼而有之。在 Linux 中,目录也是文件,但它们与普通文件不同,因为它们包含其他文件和目录的列表。

根目录包含几个重要的目录,例如:

  • /bin - 它包含对系统功能至关重要的可执行文件。这些文件由所有用户(包括 root 用户)使用。
  • /boot - 它包含引导过程所需的 文件,例如 Linux 内核和引导加载程序。
  • /dev - 它包含表示连接到系统的硬件设备(例如磁盘驱动器和打印机)的设备文件。
  • /etc - 它包含系统和应用程序的配置文件。
  • /home - 它包含系统上用户的 home 目录。
  • /lib - 它包含系统和应用程序使用的库。
  • /mnt - 用于临时挂载文件系统,例如 CD-ROM 或 USB 驱动器。
  • /proc - 它包含有关系统上运行的进程的数据。
  • /root - 此目录是 root 用户的 home 目录。
  • /sbin - 它包含系统管理员 (root) 用于执行系统维护任务的可执行文件。
  • /tmp - 用于应用程序或系统创建的临时文件。
  • /usr - 它包含与用户相关的文件,例如应用程序、库和文档。
  • /var - 它包含可变数据文件,例如日志文件和卷轴目录。

Linux 中的文件类型

在 Linux 中,文件根据其用途和内容分为几种类型。Linux 中最常见的文件类型包括:

  • 普通文件 - 这些是包含数据(例如文本文件、图像或音频文件)的普通文件。普通文件可以读取、写入或执行。
  • 目录 - 目录是包含其他文件和目录列表的特殊文件。
  • 符号链接 - 这些文件用于创建到另一个文件或目录的快捷方式或别名。
  • 字符设备 - 这些文件表示一次传输一个字符数据的硬件设备,例如串行端口和终端。
  • 块设备 - 这些文件表示以块为单位传输数据的硬件设备,例如硬盘驱动器和 CD-ROM。
  • 命名管道 - 这些文件用于在进程或程序之间传输数据。
  • 套接字 - 这些文件用于通过网络或本地机器在进程之间进行通信。

为了在 Linux 平台上有效地工作,您必须了解 Linux 文件系统结构以及如何使用不同类型的文件。

结论

在本简短教程中,我们重点介绍了五种不同的方法,您可以使用这些方法从终端在 Linux 中创建新文件。如果您在系统上没有 Linux,则可以使用 Windows 子系统 (WSL) 在 Windows 系统上创建 Linux 环境。此外,我们简要解释了 Linux 文件系统和 Linux 中的文件类型。

更新于:2024年10月18日

93K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告