Linux cat命令

参考资料

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

目录

  • [零. 文件准备](#零. 文件准备)
  • [一. 用法简介](#一. 用法简介)
  • [二. 文件合并](#二. 文件合并)
  • [三. 创建文件](#三. 创建文件)
  • [四. 清空文件](#四. 清空文件)
  • [五. `-T`显示制表符](#五. -T显示制表符)
  • [六. tac反向显示文件内容](#六. tac反向显示文件内容)

零. 文件准备

bash 复制代码
apluser@ubuntu24-01:~/work/20250326$ cat file1.txt
dav.jianguoyun.com
GetNetworkCredential
apluser@ubuntu24-01:~/work/20250326$ cat file2.txt
Password
UserName
apluser@ubuntu24-01:~/work/20250326$ cat file3.txt
username
password

一. 用法简介

⏹ cat命令主要用于显示文件内容

  • -n, --number:为所有行输出行号
  • -T, --show-tabs:将制表符(TAB)显示为 ^I
bash 复制代码
cat [选项...] [文件...]

二. 文件合并

  • -n:用于显示行号
  • 用于文件合并的时候,按照文件名默认排序的方式获取内容并合并
bash 复制代码
apluser@ubuntu24-01:~/work/20250326$ cat -n file1.txt file2.txt file3.txt
     1  dav.jianguoyun.com
     2  GetNetworkCredential
     3  Password
     4  UserName
     5  username
     6  password
apluser@ubuntu24-01:~/work/20250326$
apluser@ubuntu24-01:~/work/20250326$ cat -n file{1..3}.txt
     1  dav.jianguoyun.com
     2  GetNetworkCredential
     3  Password
     4  UserName
     5  username
     6  password
apluser@ubuntu24-01:~/work/20250326$ cat -n file*.txt
     1  dav.jianguoyun.com
     2  GetNetworkCredential
     3  Password
     4  UserName
     5  username
     6  password
apluser@ubuntu24-01:~/work/20250326$
  • 也可以通过下面这种方式进行倒序排序之后再合并
bash 复制代码
apluser@ubuntu24-01:~/work/20250326$ cat $(ls -r file*)
username
password
Password
UserName
dav.jianguoyun.com
GetNetworkCredential
apluser@ubuntu24-01:~/work/20250326$ find . -maxdepth 1 -type f -name "file*" | sort -r | xargs cat
username
password
Password
UserName
dav.jianguoyun.com
GetNetworkCredential
apluser@ubuntu24-01:~/work/20250326$
  • 将标准输入与另外一个文件中的数据组合在一起
bash 复制代码
apluser@ubuntu24-01:~/work/20250326$ cat <(echo "hello world") file1.txt
hello world
dav.jianguoyun.com
GetNetworkCredential
apluser@ubuntu24-01:~/work/20250326$ cat <(echo -e "hello world\n你好 世界") file1.txt
hello world
你好 世界
dav.jianguoyun.com
GetNetworkCredential
apluser@ubuntu24-01:~/work/20250326$ echo -e "hello world\n你好 世界" | cat file1.txt -
dav.jianguoyun.com
GetNetworkCredential
hello world
你好 世界

三. 创建文件

  • 通过 cat > 文件名 的方式来新建文件
  • 输入命令后,然后回车,光标会停留在终端,等待用户输入
  • 输入或者粘贴完内容之后,最后一行若想要保留的话,最后一行一定要敲一个回车
  • 最后按下键盘的 Ctrl + C 即可完成文件的保存
  • ^C便是按下Ctrl + C后的印记
  • 🧐可以通过这种方式来创建.sh脚本文件
bash 复制代码
apluser@ubuntu24-01:~/work/20250326$ cat > info.txt
lsof命令

        查看文件夹被哪个进程占用
^C
apluser@ubuntu24-01:~/work/20250326$ cat info.txt
lsof命令

        查看文件夹被哪个进程占用
apluser@ubuntu24-01:~/work/20250326$

四. 清空文件

  • /dev/null 是 Linux 和 Unix 系统中的一个特殊设备文件,俗称黑洞
  • 作用是 丢弃所有写入它的数据,并且读取时返回空内容
bash 复制代码
cat /dev/null > file.txt

五. -T显示制表符

  • -T:用于将制表符TAB表示为^I
bash 复制代码
apluser@ubuntu24-01:~/work/20250326$ cat info.txt
lsof命令

        查看文件夹被哪个进程占用
apluser@ubuntu24-01:~/work/20250326$ cat -T info.txt
lsof命令

^I查看文件夹被哪个进程占用
apluser@ubuntu24-01:~/work/20250326$ cat --show-tabs info.txt
lsof命令

^I查看文件夹被哪个进程占用
apluser@ubuntu24-01:~/work/20250326$

六. tac反向显示文件内容

bash 复制代码
apluser@ubuntu24-01:~/work/20250326$ cat file1.txt
dav.jianguoyun.com
GetNetworkCredential
apluser@ubuntu24-01:~/work/20250326$ tac file1.txt
GetNetworkCredential
dav.jianguoyun.com
apluser@ubuntu24-01:~/work/20250326$
相关推荐
susplus9 小时前
【linux应用软件编程】进程间的通信方式1【管道&IPC】
linux·进程通信·管道·ipc
AlfredZhao12 小时前
用 crontab 给 LLM 使用量装上“监控眼”
linux
刃神太酷啦14 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
赵文宇(温玉)15 小时前
OpenEuler24.03 SP4 系统安装(欧拉/麒麟V10)
linux·openeuler·欧拉
2601_9667990416 小时前
酷嗨米J300:一台相机同步推三平台
运维·服务器·负载均衡
AI行业说16 小时前
2026年清洁耗材智能模板机品牌排名:扫地机拖布、美妆粉扑工厂自动化选型指南
运维·自动化
派大鑫wink16 小时前
Dify 工作流搭建操作手册:以信息化运维周报自动生成为例
运维
志栋智能16 小时前
超自动化运维:支持微服务架构的运维模式
运维·架构·自动化
资深电气设计16 小时前
技术分析:空调机房水泵性能优势与系统适配性研究——水力能效、结构集成与智能运维维度
大数据·运维
Brilliantwxx17 小时前
【Linux】 进程(7)深度剖析 进程内核O(1)调度队列 + 饥饿问题
linux·运维·服务器