简述

cat 命令连接文件并打印到标准输出设备上,经常用来显示整个文件的内容。cat 只能查看文本内容的文件,如查看二进制文件,则屏幕会显示乱码。另外,cat 还可以用来创建文件、合并文件等。

命令介绍

命令名称

cat

命令全称

Concatenate

基本语法

cat [选项]… [文件]…

功能描述

将 [文件] 或标准输入组合输出到标准输出

命令选项

选项

说明

-A, --show-all

等于 -vET

-b, --number-nonblank

对非空输出行编号

-e

等于 -vE

-E, --show-ends

在每行结束处显示 $

-n, --number

对输出的所有行编号

-s, --squeeze-blank

不输出多行空行

-t

与 -vT 等价

-T, --show-tabs

将 Tab 字符显示为 ^I

-u

(被忽略)

-v, --show-nonprinting

使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

--help

显示帮助信息并退出

--version

显示版本信息并退出

注意:-d 和 -t 选项可接受不同的时间/日期格式。

使用范例

1.普通输出

[wang@localhost python]$ cat hello.py

#!/usr/bin/python

print("Hello World!")

2.对输出的所有行编号

若要显示所有行的编号,包括空白行,可以使用 -n 选项。

[wang@localhost python]$ cat -n hello.py

1 #!/usr/bin/python

2

3

4 print("Hello World!")

3.对非空输出行编号

若要对非空行进行编号,空行不编号,使用 -b 选项。

[wang@localhost python]$ cat -b hello.py

1 #!/usr/bin/python

2 print("Hello World!")

4.不输出多行空行

有时候文件中空行会很多,如果要将多个空行合并为一个,使用 -s 选项。

[wang@localhost python]$ cat -ns hello.py

1 #!/usr/bin/python

2

3 print("Hello World!")

5.在每行结束处显示 $

[wang@localhost python]$ cat -E hello.py

#!/usr/bin/python$

$

$

print("Hello World!")$

6.合并文件内容

将多个文件的内容进行追加合并,输出到另外一个文件中。

# hello.py 内容

[wang@localhost python]$ cat hello.py

#!/usr/bin/python

print("Hello World!")

# world.py 内容

[wang@localhost python]$ cat world.py

print("1024 is comming!")

[wang@localhost python]$ cat hello.py world.py >hello_world.py

# 合并后的内容

[wang@localhost python]$ cat hello_world.py

#!/usr/bin/python

print("Hello World!")

print("1024 is comming!")

[wang@localhost python]$

7.创建新文件

创建一个新文件,在创建的同时,可以添加内容。

[wang@localhost python]$ cat >hello.sh

#!/bin/bash

echo "Hello World!"

# 按 Ctrl-D结束

[wang@localhost python]$ cat hello.sh

#!/bin/bash

echo "Hello World!"

8.追加内容

[wang@localhost python]$ cat >>hello.sh

echo "1024 is coming!"

[wang@localhost python]$ cat hello.sh

#!/bin/bash

echo "Hello World!"

echo "1024 is coming!"

9.复制文件

使用 cat 还可以复制文件,包括文本文件、二进制文件或 ISO 光盘文件等。

[wang@localhost python]$ cat hello.sh >hello_bak.sh

[wang@localhost python]$ md5sum hello.sh hello_bak.sh

83dd4761f0e9c98568f57e4814454eb7 hello.sh

83dd4761f0e9c98568f57e4814454eb7 hello_bak.sh

可以看出两个文件的内容是一模一样的(md5 相同)。

10.清空文件内容

[wang@localhost python]$cat /dev/null >hello_bak.sh

[wang@localhost python]$cat hello_bak.sh

# 文件大小已变为 0

[wang@localhost python]$ls -l hello_bak.sh

-rw-rw-r--. 1 wang wang 0 10月 20 16:07 hello_bak.sh

cat 命令可以显示文件的内容,他反过来写就是 tac,tac 从文件的末尾开始读取,显示的结果和 cat 相反,详细用法就不再赘述了。

linux文件和目录管理指令,Linux 命令(文件和目录管理 - cat)相关推荐

  1. linux 用户管理 指令,Linux 用户管理常用命令

    前言 1. 用户名和密码 在linux的管理中,相当重要的一环就是管理用户,不是什么人都可以登录服务器的,若有人要登录服务器,必须申请相关的权限,经过管理员许可才可以登录服务器.虽然我们登录服务器时输 ...

  2. Linux密码是一个回文,usermod命令和用户密码管理

    3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 3.4 usermod命令 在某些情况下需要改变现的用户的属性,改变用户的home目录.登录名.密码.登录shell,截 ...

  3. linux中gcc是什么指令,Linux gcc常用命令

    gcc的编译过程分为四个过程,即预处理(也称预编译,Preprocessing).编译(Compilation).汇编 (Assembly)和连接(Linking). 例如,编译文件test.c,那么 ...

  4. linux系统下操作nandflash指令,Linux驱动之Nand Flash原理及硬件操作

    Nand Flash 是一个存储芯片 那么:这样的操作很理" 读地址A的数据,把数据B写到地址A" 问1:原理图上的Nand Flash和SC2440之间只有数据线,怎么传输地址? ...

  5. linux查找目录下含有xx的文件,linux基础命令介绍三:文件搜索及其它

    1.linux中包含大量的文件,对于文件查找,linux提供了find命令. find是一个非常有效的工具,它可以遍历目标目录甚至整个文件系统来查找某些文件或目录: find [path...] [e ...

  6. linux pv命令,linux运维系列pv指令

    原标题:linux运维系列pv指令 Linux运维相对于其他的工作来说要简单一些,因为它不需要掌握那么多的编程语言,不需要进行技术开发,是很多学历不高但是想转行IT业人员的不错的选择,今天荣新科技就来 ...

  7. linux编辑查看命令,Linux的文本编辑和文本内容查看命令

    Linux中一些重要目录: bin:命令,二进制可执行程序 boot:内核,与启动有关的文件 dev:设备文件(光驱) etc:系统的配置文件 home:所有普通用户的家目录 lib:系统存放库文件的 ...

  8. 【Linux】部署Springboot项目到Linux服务器以及linux服务器下载文件的三种方式详解

    Linux学习之路 初识Linux Linux内核 由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写 Linux 是一套免费使用和自由传播的类Unix操作系 ...

  9. linux 查询文件大小大于1g_必备linux命令有哪些?你了解多少

    大家都知道不管你是单纯的学习linux开发还是嵌入式操作系统都是离不开linux的操作命令的,所以今天想给大家搞一个关于linux操作命令的工作文档形式的文章,也方便大家在学习操作的时候能够快速查询. ...

最新文章

  1. matlab读取.xyz文件及任意有间隔符数据
  2. mysql cluster 设置单向复制_mysql单向主从配置
  3. 展开收起功能实现_小房间不一定要拥挤,这样设计实现小户型的大气!
  4. 谈判失败:Oracle 杀死 Java EE
  5. 5 年迭代 5 次,抖音基于 Flink 的推荐系统演进历程
  6. HTML5 progress进度条详解
  7. 151202storyboard中, 设置子控件和父控件的高宽比
  8. GPIB编程控件指令
  9. go zap + lumberjack 日志按大小分割demo整理
  10. **薛定谔名著《生命是什么》体会**
  11. AAA认证 设置域 PPP认证 AAA默认域认证
  12. 华为liteos内存管理源码以及架构分析
  13. 在暴风上市前,虚拟现实团队就跑了
  14. 单片机毕设分享 stm32的RFID与指纹识别的门禁系统
  15. linux跑wrf.exe程序的前提,用WRF模型进行气象模拟入门(3)——WRF的运行
  16. http live stream相关
  17. MSP430vsSTM32,你会选择哪个进行项目开发?
  18. 字符串括号匹配c语言,数据结构C语言括号的检验源程序 , 数据结构(C) 请用类C语言实现括号匹配的检验这个算法...
  19. 【算法笔记5.6小节 -大整数运算 】问题 C: 浮点数加法
  20. matlab处理物理数据,MATLAB在处理大学物理实验数据的应用

热门文章

  1. wpf 如何设置弹出窗口必须关闭才能打开其他软件_Mac忘记登录密码?以防万一,必须收藏。...
  2. 获取MySQL数据库表结构的信息(字段名,字段类型,注释等)
  3. 漫话:如何给女朋友解释什么是HTTP
  4. MySQL新建库 添加用户及权限 MySQL的Grant命令
  5. 山西农业大学c语言答案,作业答案
  6. java jar包详解_Jar打包用法详解
  7. oclick vue 传参 函数_详解Vue计算属性和侦听属性
  8. 华中C语言程序简答题,华中科技大学0911年C语言程序设计试卷.doc
  9. linux的as编译文件,Ubuntu Linux14 64位下在Android studio下用gradle编译Andrid项
  10. java课程总结_java课程总结报告.doc