这篇文章教你几种使用命令行创建文件的方法。(注:针对 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。