Linux中的cat命令连接文件并打印到标准输出设备上(通常是shell)。cat的最常见用法之一是显示文件,还可以即时创建文件,并可以直接在终端上进行基本编辑。

创建文件

使用cat命令创建文件,请在终端窗口中输入以下内容:

root@demo:~# cat demo

以这种方式创建文件时,光标将留在新行上,您可以开始键入。此技术提供了一种启动文本文件的好方法。要完成文件的编辑,请按Ctrl + D。文件将保存为您使用的文件名。

显示文件

当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

root@demo:~# cat demo
demo1
demo2

要逐页查看文件,请使用more或者less命令:

root@demo:~# cat demo |more
demo1
demo2 demo3
root@demo:~# cat demo |less
root@demo:~#
显示行号

显示文件中所有非空行,使用-b参数:

root@demo:~# cat -b demo
1 demo1
2 demo2 3 demo3

显示文件中所有行,使用-n参数:

root@demo:~# cat -n demo
1 demo1
2 demo2
3
4
5
6 demo3
显示每行的结尾

有时,在解析数据文件时,程序员会发现问题,因为在行的末尾有一些意想不到的隐藏字符,例如空格,^m等此错误将阻止其解析器正常工作。

要将美元显示为行尾字符,使用-E参数:

root@demo:~# cat -E demo
demo1$
demo2$
$
$
$
demo3$
减少空行

使用cat命令显示文件的内容时,如果不希望看到负载连续的空行。使用-s关将所有空连续行压缩为一个空行:

root@demo:~# cat -s demo
demo1
demo2 demo3
显示标签

如果创建文件时使用tab,参看是看不到制表符。-T参数可以江制表符显示为^I:

root@demo:~# cat demo
demo1
demo2 demo3
demo4
demo5
root@demo:~# cat -T demo
demo1
demo2 ^Idemo3
demo4
^Idemo5
root@demo:~#
参看多个文件
root@demo:~# cat demo demo2
demo1
demo2 demo3
demo4
demo5
demo1
demo4
demo5
root@demo:~#
相反的顺序显示文件:
反序输出文件的内容,文件的最后一行显示在第一行
root@demo:~# tac demo
demo5
demo4
demo3 demo2
demo1

cat基础用法的更多相关文章

  1. find命令的基础用法以及按文件修改时间查找文件

    一般文件查找方法: find 命令学好是一件很有趣的事情,也可以帮你在查找系统文件的时候事倍功半,还可以与正则表达式结合使用,功能强大,是一个很好的查找工具.可以整体提高你的系统管理能力. 基础用法 ...

  2. Docker基础用法篇

    Docker基础用法篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装docker 1>.依赖的基础环境 64 bits CPU Linux Kerner 3.10+ ...

  3. PropertyGrid控件由浅入深(二):基础用法

    目录 PropertyGrid控件由浅入深(一):文章大纲 PropertyGrid控件由浅入深(二):基础用法 控件的外观构成 控件的外观构成如下图所示: PropertyGrid控件包含以下几个要 ...

  4. logstash安装与基础用法

    若是搭建elk,建议先安装好elasticsearch 来自官网,版本为2.3 wget -c https://download.elastic.co/logstash/logstash/packag ...

  5. elasticsearch安装与基础用法

    来自官网,版本为2.3 注意elasticsearch依赖jdk,2.3依赖jdk7 下载rpm包并安装 wget -c https://download.elastic.co/elasticsear ...

  6. BigDecimal最基础用法

    BigDecimal最基础用法 用字符串生成的BigDecimal是不会丢精度的. 简单除法. public class DemoBigDecimal { public static void mai ...

  7. Vue组件基础用法

    前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...

  8. Smarty基础用法

    一.Smarty基础用法: 1.基础用法如下 include './smarty/Smarty.class.php';//引入smarty类 $smarty = new Smarty();//实例化s ...

  9. 前端自动化测试神器-Katalon的基础用法

    前言 最近由于在工作中需要通过Web端的功能进行一次大批量的操作,数据量大概在5000左右,如果手动处理, 完成一条数据的操作用时在20秒左右的话,大概需要4-5个人/天的工作量(假设一天8小时的工作 ...

随机推荐

  1. Loj 6002 最小路径覆盖(最大流)

    题意: 求不相交的最小路径覆盖 思路: 连边跑二分图,匹配一条边相当于缩了一条边,答案为n-maxflow 如果是求可以相交的最小路径覆盖的话,先用Floyd跑出可达矩阵,然后所有可达的点连边跑二分图 ...

  2. C语言寒假大作战04

    问题 答案 这个作业属于那个课程 https://edu.cnblogs.c0m/campus/zswxy/CST2019-4 这个作业的要求在哪里 https://edu.cnblogs.com/c ...

  3. 超长可视化指南!带你理清K8S部署的故障排查思路,让bug无处遁形

    本文将帮助你厘清在Kubernetes中调试 deployment的思路.下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复"troublesh ...

  4. Hanoi塔问题——递归

    /////////////Hanoi塔问题///////#include<iostream>using namespace std;void hanoi(int i,char A,char ...

  5. JAVA ReentrantLock的使用

    源码如下 对比synchronized,synchronized使用时会显示的指定一个对象(方法为调用对象,代码块会需要对象作为参数),来获取一个对象的独占锁 而ReentrantLock可能就是使用 ...

  6. 后台+下载(wget)+多个下载url

    有时候我们需要让linux下载多个文件,并且后台下载,不去占用当前控制台. 比如我们需要下载中文维基的三个文件: https://dumps.wikimedia.org/zhwiki/latest/z ...

  7. XLNet:运行机制及和Bert的异同比较

    这两天,XLNet貌似也引起了NLP圈的极大关注,从实验数据看,在某些场景下,确实XLNet相对Bert有很大幅度的提升.就像我们之前说的,感觉Bert打开两阶段模式的魔法盒开关后,在这条路上,会有越 ...

  8. shell 颜色输出

    #!/bin/bash function display_method(){ clearDisplayMetho=0 if [ $displayMethod -eq 0 ]; then echo -e ...

  9. 【Java编程思想读书笔记】继承中父类的初始化方式

    继承中父类的初始化方式 p144页有感 一.提出问题 假设有一些类,这些类有继承关系的时候,当初始化一个子类对象,对于该类的父类而言,发生了什么呢?是仅仅只是复制了一个引用还是也会同时new一个父类对 ...

  10. linux入门系列14--ssh服务及主机远程管理

    通过前面十余篇文章的介绍,相信已经初步入门Linux本地管理的基本方法了,后续的文章将介绍Linux中常用的服务部署以及如何为外部提供相应的服务. 系列文章第三篇"linux入门系列3--l ...