Linux 常用命令 - cat 【快速显示文件内容】

简介

cat 命令源于 “concatenate” 的缩写,意为“连接”或“串联”。这个命令用于将文件的内容显示在标准输出(通常是终端),并且可以将多个文件的内容连接起来显示。其基本原理是通过读取文件内容并输出,使用户能够快速查看文件的内容。

使用方式

cat [选项...] [文件...]

常用选项

  • -A, --show-all:等同于 -vET,显示所有的控制字符。

  • -b, --number-nonblank:为非空行输出行号,该选项会覆盖 -n 选项。

  • -e:等同于 -vE

  • -E, --show-ends:在每行的末尾显示一个 $ 符号。

  • -n, --number:为所有行输出行号。

  • -s, --squeeze-blank:压缩重复的空行。

  • -t:等同于 -vT

  • -T, --show-tabs:将制表符(TAB)显示为 ^I

  • -v, --show-nonprinting:使用 ^M- 来表示不可打印字符,其中不包括制表符和换行符。

  • --help:显示帮助信息。

  • --version:显示版本信息。

参考示例

查看文件内容

cat test.txt

使用 cat 文件名 可以直接在终端中输出指定文件的内容:

jay@jaylinuxlenovo:~/test/cmd_test_dir$ cat test.txt 
这是一个 test.txt 文件

上面有一个空行


上面有两个空行

    这里是一个制表符

压缩连续的多个空白行

cat -s test.txt

如果指定文件中有多个连续的空白行,那么使用 -s 选项可以在其显示的时候压缩掉重复的空白行,只显示一个空白行:

jay@jaylinuxlenovo:~/test/cmd_test_dir$ cat -s test.txt
这是一个 test.txt 文件

上面有一个空行

上面有两个空行

    这里是一个制表符

每行末尾显示 $

cat -E test.txt

使用 -E 选项会在输出时为每行的末尾添加一个 $ 符号作为标记:

jay@jaylinuxlenovo:~/test/cmd_test_dir$ cat -E test.txt 
这是一个 test.txt 文件$
$
上面有一个空行$
$
$
上面有两个空行$
$
    这里是一个制表符$
$

将制表符显示为 ^I

cat -T test.txt 

如果文件中存在制表符,那么使用 -T 选项可以将制表符以 ^I 的形式显示出来:

jay@jaylinuxlenovo:~/test/cmd_test_dir$ cat -T test.txt 
这是一个 test.txt 文件

上面有一个空行


上面有两个空行

^I这里是一个制表符

合并文件到一个新文件中

cat test.txt test2.txt > new.txt

cat 支持指定多个文件,用这种方法可以将多个文件的内容合并到一个文件中:

jay@jaylinuxlenovo:~/test/cmd_test_dir$ cat new.txt 
这是一个 test.txt 文件

上面有一个空行


上面有两个空行

        这里是一个制表符

这是 test2.txt

显示行号

cat -n test.txt 

使用 -n 选项可以在输出文件内容时添加行号:

jay@jaylinuxlenovo:~/test/cmd_test_dir$ cat -n test.txt 
     1  这是一个 test.txt 文件
     2
     3  上面有一个空行
     4
     5
     6  上面有两个空行
     7
     8          这里是一个制表符
     9

注意事项

  • 使用 cat 命令合并大文件时要小心,因为它会将所有文件内容加载到内存中,可能会消耗大量资源。

  • 当查看非文本文件(如二进制文件)时,cat 输出的内容可能包含乱码,甚至有可能改变终端的行为。

  • 在使用重定向创建文件时,如果目标文件已存在,其原有内容会被覆盖。务必检查文件名以避免数据丢失。

  • 如果你使用 cat 命令查看一个文件的内容,并将输出重定向回同一个文件,该文件的内容会被清空,导致数据丢失。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WKJay_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值