用 Linux 命令行创建文件的四种方法

这篇文章教你几种使用命令行创建文件的方法。(注:针对 Beginner 的小文,老司机不用点进来了)

如果你用过像 Windows 这种面向桌面的操作系统,创建文件可能是小菜一碟,只需要鼠标点几下就 OK 了。但如果你正在使用命令行,就不能使用鼠标点了。那如何创建一个文件呢?这里介绍 4 种方法。

使用 touch 创建空文件

最常用的可能就是使用 touch 命令来创建一个空文件了。用起来超级简单:

touch filename

如果该文件不存在,touch 就会创建一个新的空文件;但如果已经存在了,touch 只会更新这个文件的时间戳。

使用 cat 命令创建文件

还有一个常用的方法是使用 cat 命令,配合重定向一起使用,可以直接向文件里写一些文本数据,当然你也可以不写入任何数据:

cat > filename.txt 

在回车之后,这个命令会等待你的键盘输入。如果你需要输入,就在输入一些数据之后按 Ctrl-D 来结束;如果不需要,就直接按 Ctrl-D 结束。

需要注意的是,如果原来已经存在该文件,你这样做会覆盖原来的文件。如果担心覆盖,把 > 换成 >> 吧。

使用 echo 命令

同样需要配合重定向一起使用。echo 命令的用途是向屏幕输出一段文本。如果配合重定向,我们就可以将这段文本直接写入文件中。如果文件不存在,就会新建:

echo "This is a sample text" > filename.txt

如果你同样只想创建一个空白文件,则可以:

echo > file.txt

注意:这实际上不算是一个空白文件,因为它有一个空行

使用 vi/nano 这样的编辑器

所有的命令行编辑器,如 vi,nano,emacs 等等都可以创建一个新文件。如果你想创建一个空白文件,打开文件后就直接退出,否则可以输入一些文本后再退出。因为 nano 对新手比较友好,你可以使用 nano 来尝试:

nano file.txt

注:nano 使用 Ctrl-X 来退出编辑器,如果你修改了文件内容,它会提示你是否保存,输入 y 来选择保存,否则它将丢弃修改直接退出;在选择保存之后,它会让你输出要保存到哪个文件里,对于我们的例子,自己回车即可。

总结

对于上面 4 种方法,可以把它们归结为两类,一类是使用重定向;另一类是命令本事打开文件并写入。

比如,cat 和 echo 的例子,其实都是重定向符 > 或者 >> 新建的文件(是当前 shell 进程),而对于重定向符最简单的创建一个空文件的方法是 > file.txt;而 touch 和 nano 的例子,都是命令本身新建的文件。

写在后面

这篇小文的原内容主要来自 4 Ways to Create a File in Linux Terminal

hah
Copyleft - All rights reversed. The internet is free and so is my content.