0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux cat命令详解

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-14 17:24 次阅读

cat命令是Linux中最常用的命令之一,cat命令的名称来自于concatenate。它可以读取和连接文件,并将其内容写入到标准输出。

如果未指定文件名或者指定连字符-作为参数,则从标准输入读取内容,也就是复制标准输入到标准输出。

cat命令最常用于打印/查看一个或多个文本文件的内容。将一个文件的内容追加到另一个文件的末尾来合并文件,以及创建文件。

在本教程中我们将说明一些cat命令技巧。包括使用cat打印文件内容,重定向文件的内容,打印行号,去除重复的空行。

显示制表符TAB和空格字符,打印不可见字符,用cat连接文件,cat命令创建文件。

cat 命令详解

在讨论如何使用cat命令之前,让我们先回顾一下基本语法。cat命令语法形式是cat [OPTIONS] [FILE_NAMES]

OPTIONS是cat命令的选项,可选参数,可以运行命令cat --help查看所有可用的选项。FILE_NAMES零个或多个文件名,可选参数。

如果FILE_NAMES没有传递给cat命令,请指定指定连字符-作为参数,cat命令从标准输入读取内容。

cat 命令打印/查看文件内容

cat命令最基本和最常见的用法就是读取/查看/打印文件的内容。将打印文件内容写到标准输出。

例如命令cat etc/issue查看etc/issue文件内容,将会输出你当前的Linux发行版的名称。

cat etc/issue

cat 命令重定向文件的内容

默认情况下cat命令将内容写入标准输出。但您可以使用标准输出的重定向操作符>或者>>将标准输出重定向到文件,而不是终端的屏幕。

cat命令与重定向操作符一起使用时,你会发现cat命令也可实现cp命令的复制文件操作。

例如命令cat file1.txt > file2.txtfile1.txt的内容写入标准输出然后使用重定向操作符>重定向到file2.txt,实现复制。

如果file2.txt文件不存在,cat命令将创建该文件。否则,它将被覆盖file2.txt

日过不想被覆盖,还可以使用另一个标准输出重定向操作符>>>>操作符可追加任何内容到指定设备或者文件。

cat file1.txt > file2.txt
cat file1.txt >> file2.txt

cat 命令打印行号

很多VPS的提供商预构建的Linux服务器,基本都不会预装桌面环境Gnome/KDE等。也就是说你不可能在Linux服务器安装带GUI的编辑器。

此时如果需要打印文件的行号,除了使用vim/nano命令行编辑器打开文件显示行号之外,还可以是cat命令。

cat命令的-n选项允许允许查看文件并打印行号。例如命令cat -n etc/lsb-release

cat -n etc/lsb-release
1	DISTRIB_ID=Ubuntu
2	DISTRIB_RELEASE=18.04
3	DISTRIB_CODENAME=bionic
4	DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

cat 命令去除重复的空行

在编写脚本时你可能会在读入文件时,想去除文件中重复出现的空行。也就是说将多个空行删除为一个空行。

cat命令的-s选项可以轻松帮你实现这一点,让省去很多不需要Shell代码。节省你的时间。

例如命令cat -s file.txt删除文件file.txt的空行为一个空行。要完全删除空行可以使用tr命令或者grep命令实现。

cat -s file.txt

cat 命令显示制表符号TAB

如果你为不可见的制表符号感到困扰。cat命令的-T选项可以在视觉上区分制表符和空格,TAB字符将显示为^I

例如命令cat -T etc/hosts将打印etc/hosts文件中的内容,可让你直观的看到制表符。

cat -T etc/hosts
127.0.0.1^Ilocalhost
127.0.1.1^Iubuntu1804.localdomain

cat 命令打印不可见字符

cat命令的-e选项可以在视觉上查看行的结束位置,将在行的结尾处显示为$标记符号。

例如命令cat -e etc/lsb-release打印etc/lsb-release文件中的内容,可让你直观的看到行结束位置。

cat -e etc/lsb-release
DISTRIB_ID=Ubuntu$
DISTRIB_RELEASE=18.04$
DISTRIB_CODENAME=bionic$
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$

cat 命令合并/连接文件

将两个或多个文件名作为参数传递给cat命令时,这会合并文件的内容。cat命令将按其参数中给出的顺序读取文件,并以相同的顺序合并打印文件内容。

这相当于将第二个文件的内容追加到第一个文件中,并在终端中显示两个文件的内容。这对于你想显示两个文件内容那个,但有不想创建文件时非常有用。

在查看两个文件的合并结果后,得到你想要的结果。您可以将合并的结果。使用重定向操作符>写入到文件中。

你也可以使用另一个重定向操作符>>>>操作符可追加任何内容到指定设备或者文件中。如果文件不存在,则将创建该文件。

cat file1.txt file2.txt

cat file1.txt file2.txt > combinedfile.txt
cat file1.txt file2.txt >> file3.txt

cat 命令创建文件

在编写脚本时你可能会想让用户输入非常的长的内容或者让用户可以输入任何字符然后保存到文件中。

此时可能会想到的时使用Vim,Sublime Text,Visual Studio Code或其他文本编辑器,但用户的计算机并一定存在这些编辑器。

如果你使用打开Vim让用户输入内容,但并不是所有用户都会使用这个让新用户不知道从何入手的编辑器。

最简单的解决方式就是使用cat命令作为编辑器,让用户输入任何内容。要做到这一点请在运行命令cat > file1.txt

当用户的完成内容的出入后,可按快捷键CRTL+D保存文件。如果用户不知道如何保存内容时,可在运行cat之前告诉用户保存的快捷键是CRTL+D

cat > file1.txt

结论

你已经知道如何使用cat命令和基础的选项。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11217

    浏览量

    208825
  • cat
    cat
    +关注

    关注

    1

    文章

    75

    浏览量

    21252
  • 命令
    +关注

    关注

    5

    文章

    678

    浏览量

    21976
收藏 人收藏

    评论

    相关推荐

    Linux find命令详解

    find 命令是我们日常工作中比较常用的Linux命令。全面的掌握这个命令可以使很多操作达到事半功倍的效果。如果对find命令有以下这些疑惑
    发表于 11-30 10:11 1564次阅读

    Linux系统命令及其使用详解

    Linux系统命令及其使用详解
    发表于 08-20 13:38

    Linux入门命令详解

    本帖最后由 weidongshan 于 2018-5-15 09:57 编辑 arm裸机1期加强版第3课文字版WiKi(共17节),科普linux入门命令,入门必看,老手请绕道。文章不能完整
    发表于 03-09 10:14

    Linux的chattr与lsattr命令详解

    【转】Linux的chattr与lsattr命令详解
    发表于 04-20 11:38

    Linux关机命令详解

    Linux关机命令详解linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都 可以达到重启
    发表于 01-18 12:52 3620次阅读

    Linux系统命令及其使用详解 _120页

    电子发烧友网站提供《Linux系统命令及其使用详解 _120页.doc》资料免费下载
    发表于 04-18 13:23 3次下载

    linux常用命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解
    发表于 11-03 10:19 5527次阅读

    Linux命令详解 [兼容模式]pdf免费下载

    linux命令详解pdf,希望对大家有帮助!
    发表于 12-15 15:54 10次下载

    Linux常用的100+命令大全详解长文(典藏版)

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解
    的头像 发表于 03-16 10:35 5448次阅读

    简述Linux文本查看命令

    Linux 常用命令中,除了 cat 还有很多其他用于文本查看的命令
    的头像 发表于 08-11 11:17 3499次阅读

    linux的top命令详解

    top命令是UNIX/Linux系统中,用于查看系统详情的第一入口,一般我们查看机器运行状态的时候,总是第一个使用top命令,而实际上top命令展示的数据很多,对于新手来说这些其实并不
    发表于 07-13 11:24 3515次阅读
    <b class='flag-5'>linux</b>的top<b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    Linux系统中EXP命令详解质量汇总

    Linux系统中EXP命令详解质量汇总
    发表于 05-14 09:35 1次下载

    Linux虚拟机之tcpdump命令操作详解

    Linux虚拟机之tcpdump命令操作详解
    发表于 08-12 09:50 23次下载

    Linux bash中的printf命令详解

    Linux 命令行中最简单的打印方法是使用 echo 命令
    的头像 发表于 04-13 16:22 3284次阅读
    <b class='flag-5'>Linux</b> bash中的printf<b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    Linux系统中的10个常用的文本查看命令

    Linux文本查看命令及其详细说明和使用示例。 cat 命令 cat 命令是最基本的读取文本文
    的头像 发表于 06-24 11:44 1.1w次阅读