如何在 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 中的文件类型。