linux下cat命令详解

简略版:

cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename  
   只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
test.txt文件扔进垃圾箱,赋空值test.txt
cat /dev/null > /etc/test.txt  

详细点的:

转:http://blog.sina.com.cn/s/blog_52f6ead0010127xm.html

cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。

比如:

de>[root@localhost ~]# cat /etc/fstabde>

为了便于新手弟兄灵活掌握这个工具,我们多说一点常用的参数;


1.0 cat 语法结构;

de>cat [选项] [文件]...de>
选项
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳 字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开


1.1 cat 查看文件内容实例;

de>[root@localhost ~]# cat /etc/profile    注:查看/etc/目录下的profile文件内容;
[root@localhost ~]# cat -b /etc/fstab   注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
[root@localhost ~]# cat -n /etc/profile    注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
[root@localhost ~]# cat  -E /etc/profile     注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;de>

cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;

de>[root@localhost ~]# cat -n /etc/profile
[root@localhost ~]# nl  /etc/profilede>

cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;

de>[root@localhost ~]# cat /etc/fstab /etc/profilede>

cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;

de>[root@localhost ~]# cat /etc/fstab /etc/profile | morede>


1.2 cat 的创建、连接文件功能实例;


cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;

de>[root@localhost ~]# cat >  linuxsir.org.txt  << EOF  注:创建linuxsir.org.txt文件;
> 我来测试 cat 创建文件,并且为文件输入内容;       注:这是为linuxsir.org.txt文件输入内容;
> 北南南北 测试;                   注:这是为linuxsir.org.txt文件输入内容;
> EOF   注:退出编辑状态;

[root@localhost ~]# cat linuxsir.org.txt  注:我们查看一下linuxsir.org.txt文件的内容;

我来测试 cat 创建文件,并且为文件输入内容;
北南南北 测试;de>

cat 还有向已存在的文件追加内容的功能;

de>[root@localhost ~]# cat  linuxsir.txt 注:查看已存在的文件linuxsir.txt 内容;
I am BeiNanNanBei From LinuxSir.Org .    注:内容行
我正在为cat命令写文档


[root@localhost ~]# cat >> linuxsir.txt << EOF   注:我们向linuxsir.txt文件追加内容;
> 我来测试cat向文档追加内容的功能;       注:这是追回的内容
> OK?
> OK~
> 北南 呈上
> EOF   注:以EOF退出;


[root@localhost ~]# cat linuxsir.txt  注:查看文件内容,看是否追回成功。
I am BeiNanNanBei From LinuxSir.Org .
我正在为cat命令写文档

我来测试cat向文档追加内容的功能;  
OK?
OK~
北南 呈上de>




cat 连接多个文件的内容并且输出到一个新文件中;

假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;

de>[root@localhost ~]# cat sir01.txt  
123456
i am testing

[root@localhost ~]# cat sir02.txt
56789
BeiNan Tested

[root@localhost ~]# cat sir03.txt
09876
linuxsir.org testingde>

我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。

注意:其原理是把三个文件的内容连接起来,然后创建sir04.txt文件,并且把几个文件的内容同时写入sir04.txt中。特别值得一提的是,如果您输入到一个已经存在的sir04.txt 文件,会把sir04.txt内容清空。

de>[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt

[root@localhost ~]# more sir04.txt
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testingde>

cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中

de>[root@localhost ~]# cat sir00.txt
linuxsir.org forever

[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt

[root@localhost ~]# cat sir00.txt
linuxsir.org forever
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testingde>

警告:我们要知道>意思是创建,>>是追加。千万不要弄混了。造成失误可不是闹着玩的;

转载于:https://www.cnblogs.com/kenshinobiy/p/4545681.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

firstVue

这是生成的第一个VUE的列子&#xff0c;目录如上所示。config目录里主要表示配置目录&#xff0c;包括端口号等&#xff0c;其中配置文件中dev.env.js&#xff0c;出现了webpack-merge模块&#xff0c;可以把分开配置的config合并&#xff0c;分开生产环境和调试环境 node_modu…

【51单片机快速入门指南】9:省电模式(低功耗)

目录硬知识实验正常工作掉电模式空闲模式普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC89C52系列单片机器件手册》 仅支持掉电模式&#xff0c;不支持空闲模式 STC89C52系列单片机可以运行2种省…

怎样为wordpress主题的文章列表添加无插件分页?

测试时间 2019.04.05 测试版本: wordpress 5.1.1 中文版 测试步骤&#xff1a;共 4 1. 在主题的 functions.php 中&#xff0c;添加分页函数&#xff0c;代码如下 /** * 数字分页函数 * 因为wordpress默认仅仅提供简单分页 * 所以要实现数字分页&#xff0c;需要自定义函数…

datatable DataRow

foreach (DataRow dr in dt.Rows) { ss ss dr["活动名称"].ToString() ","; }转载于:https://www.cnblogs.com/yuluhuang/p/3272237.html

HAproxy部署配置

HAproxy部署配置 拓扑图 说明&#xff1a; haproxy服务器IP&#xff1a;172.16.253.200/16 &#xff08;外网&#xff09;、192.168.29.140/24&#xff08;内网&#xff09; 博客服务器组IP&#xff1a;192.168.29.130/24、192.168.29.131/24 网站服务器组IP&#xff1a;192.16…

Javascript验证上传图片大小[前台处理]

2019独角兽企业重金招聘Python工程师标准>>> 需求分析&#xff1a; 在做上传图片的时候&#xff0c;如果不限制上传图片大小&#xff0c;后果非常的严重。那么我们怎样才可以解决一个棘手的问题呢&#xff1f;有两种方式&#xff1a; 1)后台处理&#xff1a; 也就是…

【RK3399Pro学习笔记】十二、ROS参数的使用与编程方法

目录创建功能包参数命令行使用YAML参数文件rosparamC编写程序配置CMakeLists.txt编译并运行python编写程序运行平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | …

在Ubuntu下如何压缩一个文件夹

.gz 解压1&#xff1a;gunzip FileName.gz 解压2&#xff1a;gzip -d FileName.gz 压缩&#xff1a;gzip FileName .tar.gz 解压&#xff1a;tar zxvf FileName.tar.gz 压缩&#xff1a;tar zcvf FileName.tar.gz DirName --------------------------------------------…

Cocos2D 添加 UIView

cocos2d是使用继承于ccnode的结点类型的层。但是我想用一个opengl来绘制&#xff0c;就简单的情况来说必须得加一个uiview。现转载如下&#xff1a; 第一部分&#xff1a;&#xff1a; 使用Cocos2D开发游戏和应用程序的时候&#xff0c;时常有些功能用系统控键很容易就实现&…

Mac terminal下解压缩命令大全

sudo tar zxvf wordpress-p1.tar.tgz tar 解包&#xff1a;tar xvf FileName.tar 打包&#xff1a;tar cvf FileName.tar DirName &#xff08;注&#xff1a;tar是打包&#xff0c;不是压缩&#xff01;&#xff09; ——————————————— .gz 解压1&#xff1a;g…

JS JAVASCRIPT 判断两个日期相隔多少天

var days daysBetween(2016-11-01,2016-11-02);/*** 根据两个日期&#xff0c;判断相差天数* param sDate1 开始日期 如&#xff1a;2016-11-01* param sDate2 结束日期 如&#xff1a;2016-11-02* returns {number} 返回相差天数*/function daysBetween(sDate1,sDate2){//Dat…

Yii2.0 ActiveForm Input Fields

2019独角兽企业重金招聘Python工程师标准>>> 之前5月学习Yii2的时候发现的一个不错的博客内容&#xff0c;这里转载保存。 Use the namespace For ActiveForm Active Form Begin And End Text Input Field TextArea Field Password Input Field HTML5 Email I…

【RK3399Pro学习笔记】十三、ROS中的坐标系管理系统

目录TF功能包能干什么&#xff1f;TF坐标变换如何实现&#xff1f;例程view_framestf_echorviz平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学就会的ROS机…

本地搭建wp,更新升级时需要ftp的解决办法

https://jingyan.baidu.com/article/fd8044fa2e7af35031137af2.html 本地安装完mysql&#xff0c;php&#xff0c;apache后&#xff0c;进行了wordpress的安装。安装完wordpress&#xff0c;发现wordpress已经有了新版本&#xff0c;点击“立即更新”后却跳转到一个填写ftp地址…

数据结构与算法-python描述-单链表

# coding:utf-8# 单链表的相关操作&#xff1a; # is_empty() 链表是否为空 # length() 链表长度 # travel() 遍历整个链表 # add(item) 链表头部添加元素 # append(item) 链表尾部添加元素 # insert(pos, item) 指定位置添加元素 # remove(item) 删除节点 # search(item) 查找…

【RK3399Pro学习笔记】十四、ROS中tf坐标系广播与监听的编程实现

目录创建功能包如何实现一个tf广播器创建tf广播器代码&#xff08;C&#xff09;如何实现一个tf监听器创建tf监听器代码&#xff08;C&#xff09;配置编译规则编译并运行python编写程序turtle_tf_broadcaster.pyturtle_tf_listener.py运行平台&#xff1a;华硕 Thinker Edge R…

SCOM数据库整理索引计划出错

我们为了提高数据库的访问效率&#xff0c;我们需要对数据库做优化&#xff0c;那么在这里我是希望对我的SCOM的SQL进行索引的整理。当我们在SQL的维护计划中创建了针对SCOM数据库进行重新组织索引的计划后&#xff0c;发现运行总是会失败&#xff0c;这是为什么呢&#xff1f;…

PL/SQL之高级篇

原文地址&#xff1a;http://www.cnblogs.com/sin90lzc/archive/2012/08/30/2661117.html 参考文献&#xff1a;《Oracle完全学习手册》 1.概述 本文主要介绍PL/SQL中的有名程序块&#xff1a;存储过程、函数、包头/包体及触发器的使用。而这些的基础是PL/SQL无名块的编写&…

下拉四级联动插件

http://www.jq22.com/jquery-info6023

Charles使用

主要还是移动端的使用技巧 常规使用&#xff1a;同一个wifi&#xff0c;设备开启代理&#xff0c;地址写本机&#xff0c;端口看Charles中的设置 下面说点不怎么常用但是蛮有用的 1.https 这个应该是蛮容易遇到的&#xff0c;设置其实也是蛮简单的 先来看下&#xff0c;未设置之…