在 Linux 上创建文件的 10 个方法
创始人
2024-03-02 01:57:37
0

我们都知道,在 Linux 上,包括设备在内的一切都是文件。Linux 管理员每天应该会多次执行文件创建活动(可能是 20 次,50 次,甚至是更多,这依赖于他们的环境)。如果你想 在Linux上创建一个特定大小的文件,查看前面的这个链接。

高效创建一个文件是非常重要的能力。为什么我说高效?如果你了解一些高效进行你当前活动的方式,你就可以事半功倍。这将会节省你很多的时间。你可以把这些有用的时间用到到其他重要的事情上。

我下面将会介绍多个在 Linux 上创建文件的方法。我建议你选择几个简单高效的来辅助你的工作。你不必安装下列的任何一个命令,因为它们已经作为 Linux 核心工具的一部分安装到你的系统上了。

创建文件可以通过以下六个方式来完成。

  • >:标准重定向符允许我们创建一个 0KB 的空文件。
  • touch:如果文件不存在的话,touch 命令将会创建一个 0KB 的空文件。
  • echo:通过一个参数显示文本的某行。
  • printf:用于显示在终端给定的文本。
  • cat:它串联并打印文件到标准输出。
  • vi/vim:Vim 是一个向上兼容 Vi 的文本编辑器。它常用于编辑各种类型的纯文本。
  • nano:是一个简小且用户友好的编辑器。它复制了 pico 的外观和优点,但它是自由软件。
  • head:用于打印一个文件开头的一部分。
  • tail:用于打印一个文件的最后一部分。
  • truncate:用于缩小或者扩展文件的尺寸到指定大小。

在 Linux 上使用重定向符(>)创建一个文件

标准重定向符允许我们创建一个 0KB 的空文件。它通常用于重定向一个命令的输出到一个新文件中。在没有命令的情况下使用重定向符号时,它会创建一个文件。

但是它不允许你在创建文件时向其中输入任何文本。然而它对于不是很勤劳的管理员是非常简单有用的。只需要输入重定向符后面跟着你想要的文件名。

$ > daygeek.txt

使用 ls 命令查看刚刚创建的文件。

$ ls -lh daygeek.txt
-rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:00 daygeek.txt

在 Linux 上使用 touch 命令创建一个文件

touch 命令常用于将每个文件的访问和修改时间更新为当前时间。

如果指定的文件名不存在,将会创建一个新的文件。touch 不允许我们在创建文件的同时向其中输入一些文本。它默认创建一个 0KB 的空文件。

$ touch daygeek1.txt

使用 ls 命令查看刚刚创建的文件。

$ ls -lh daygeek1.txt
-rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:02 daygeek1.txt

在 Linux 上使用 echo 命令创建一个文件

echo 内置于大多数的操作系统中。它常用于脚本、批处理文件,以及作为插入文本的单个命令的一部分。

它允许你在创建一个文件时就向其中输入一些文本。当然也允许你在之后向其中输入一些文本。

$ echo "2daygeek.com is a best Linux blog to learn Linux" > daygeek2.txt

使用 ls 命令查看刚刚创建的文件。

$ ls -lh daygeek2.txt
-rw-rw-r-- 1 daygeek daygeek 49 Feb 4 02:04 daygeek2.txt

可以使用 cat 命令查看文件的内容。

$ cat daygeek2.txt
2daygeek.com is a best Linux blog to learn Linux

你可以使用两个重定向符 (>>) 添加其他内容到同一个文件。

$ echo "It's FIVE years old blog" >> daygeek2.txt

你可以使用 cat 命令查看添加的内容。

$ cat daygeek2.txt
2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog

在 Linux 上使用 printf 命令创建一个新的文件

printf 命令也可以以类似 echo 的方式执行。

printf 命令常用来显示在终端窗口给出的字符串。printf 可以有格式说明符、转义序列或普通字符。

$ printf "2daygeek.com is a best Linux blog to learn Linux\n" > daygeek3.txt

使用 ls 命令查看刚刚创建的文件。

$ ls -lh daygeek3.txt
-rw-rw-r-- 1 daygeek daygeek 48 Feb 4 02:12 daygeek3.txt

使用 cat 命令查看文件的内容。

$ cat daygeek3.txt
2daygeek.com is a best Linux blog to learn Linux

你可以使用两个重定向符 (>>) 添加其他的内容到同一个文件中去。

$ printf "It's FIVE years old blog\n" >> daygeek3.txt

你可以使用 cat 命令查看这个文件中添加的内容。

$ cat daygeek3.txt
2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog

在 Linux 中使用 cat 创建一个文件

cat 表示 串联 concatenate 。在 Linux 经常用于读取一个文件中的数据。

cat 是在类 Unix 系统中最常使用的命令之一。它提供了三个与文本文件相关的功能:显示一个文件的内容、组合多个文件的内容到一个输出以及创建一个新的文件。(LCTT 译注:如果 cat 命令后如果不带任何文件的话,下面的命令在回车后也不会立刻结束,回车后的操作可以按 Ctrl-CCtrl-D 来结束。)

$ cat > daygeek4.txt
2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog

使用 ls 命令查看创建的文件。

$ ls -lh daygeek4.txt
-rw-rw-r-- 1 daygeek daygeek 74 Feb 4 02:18 daygeek4.txt

使用 cat 命令查看文件的内容。

$ cat daygeek4.txt
2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog

如果你想向同一个文件中添加其他内容,使用两个连接的重定向符(>>)。

$ cat >> daygeek4.txt
This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

你可以使用 cat 命令查看添加的内容。

$ cat daygeek4.txt
2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog
This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

在 Linux 上使用 vi/vim 命令创建一个文件

vim 是一个向上兼容 vi 的文本编辑器。它通常用来编辑所有种类的纯文本。在编辑程序时特别有用。

vim 中有很多功能可以用于编辑单个文件。

$ vi daygeek5.txt

2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog

使用 ls 查看刚才创建的文件。

$ ls -lh daygeek5.txt
-rw-rw-r-- 1 daygeek daygeek 75 Feb 4 02:23 daygeek5.txt

使用 cat 命令查看文件的内容。

$ cat daygeek5.txt
2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog

在 Linux 上使用 nano 命令创建一个文件

nano 是一个编辑器,它是一个自由版本的 pico 克隆。nano 是一个小且用户友好的编辑器。它复制了 pico 的外观及优点,并且是一个自由软件,它添加了 pico 缺乏的一系列特性,像是打开多个文件、逐行滚动、撤销/重做、语法高亮、行号等等。

$ nano daygeek6.txt

2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog
This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

使用 ls 命令查看创建的文件。

$ ls -lh daygeek6.txt
-rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:26 daygeek6.txt

使用 cat 命令来查看一个文件的内容。

$ cat daygeek6.txt
2daygeek.com is a best Linux blog to learn Linux
It's FIVE years old blog
This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

在 Linux 上使用 head 命令创建一个文件

head 命令通常用于输出一个文件开头的一部分。它默认会打印一个文件的开头 10 行到标准输出。如果有多个文件,则每个文件前都会有一个标题,用来表示文件名。

$ head -c 0K /dev/zero > daygeek7.txt

使用 ls 命令查看创建的文件。

$ ls -lh daygeek7.txt
-rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:30 daygeek7.txt

在 Linux 上使用 tail 创建一个文件

tail 命令通常用来输出一个文件最后的一部分。它默认会打印每个文件的最后 10 行到标准输出。如果有多个文件,则每个文件前都会有一个标题,用来表示文件名。

$ tail -c 0K /dev/zero > daygeek8.txt

使用 ls 命令查看创建的文件。

$ ls -lh daygeek8.txt
-rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:31 daygeek8.txt

在 Linux 上使用 truncate 命令创建一个文件

truncate 命令通常用作将一个文件的尺寸缩小或者扩展为某个指定的尺寸。

$ truncate -s 0K daygeek9.txt

使用 ls 命令检查创建的文件。

$ ls -lh daygeek9.txt
-rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:37 daygeek9.txt

在这篇文章中,我使用这十个命令分别创建了下面的这十个文件。

$ ls -lh daygeek*
-rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:02 daygeek1.txt
-rw-rw-r-- 1 daygeek daygeek 74 Feb 4 02:07 daygeek2.txt
-rw-rw-r-- 1 daygeek daygeek 74 Feb 4 02:15 daygeek3.txt
-rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:20 daygeek4.txt
-rw-rw-r-- 1 daygeek daygeek 75 Feb 4 02:23 daygeek5.txt
-rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:26 daygeek6.txt
-rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:32 daygeek7.txt
-rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:32 daygeek8.txt
-rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:38 daygeek9.txt
-rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:00 daygeek.txt

via: https://www.2daygeek.com/linux-command-to-create-a-file/

作者:Vinoth Kumar 选题:lujun9972 译者:dianbanjiu 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

整治违规吃喝,“口头通知”...
撰文丨于永杰 (图片来源:pixabay) 对于基层干部来说...
2025-06-20 11:42:25
编写CentOS系统下的B...
面对重复繁琐的服务器操作,手动输入命令效率低下且易出错。为了解决这...
2025-06-15 08:43:24
央视解读民生文件:养老金月...
【资料来源于中国政府网、国新办发布会、央视新闻1+1、界面新闻等】...
2025-06-12 17:43:58
苹果 iPadOS 26 ...
IT之家 6 月 10 日消息,在目前正在进行的 WWDC25 中...
2025-06-10 06:40:27
在CentOS Linux...
理解hosts文件在Linux CentOS系统中的核心作用,是网...
2025-06-04 07:41:36
前端-session、jw...
目录:   (1)ses...
2025-06-01 22:54:58

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...