基本介绍

工作原理

从标准输入读入要 cat 的文件列表,然后逐个打开,读入文件内容,再将内容输出到标准输出上。

使用场景

  • 一次显示整个文件
  • 从键盘创建一个文件
  • 将几个文件合并为一个文件
  • 将一个或多个文件的内容追加到另一个文件后面

表达式

cat [-AbeEnstTuv] [--help] [--version] fileName

参数介绍

  -n 或 --number:由 1 开始对所有输出的行数编号。

  -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

  -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

  -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

  -E 或 --show-ends : 在每行结束处显示 $。

  -T 或 --show-tabs: 将 TAB 字符显示为 ^I。

  -A, --show-all:等价于 -vET。

  -e:等价于"-vE"选项;

  -t:等价于"-vT"选项;

基本使用

  • 查看文件
   1.cat f1.txt,查看f1.txt文件的内容。
  2、cat -n f1.txt,查看f1.txt文件的内容,并且由1开始对所有输出行进行编号。
  3、cat -b f1.txt,查看f1.txt文件的内容,用法与-n相似,只不过对于空白行不编号。此时和 nl f1.txt的效果是一样的
  4、cat -s f1.txt,当遇到有连续两行或两行以上的空白行,就代换为一行的空白行。
  5、cat -e f1.txt,在输出内容的每一行后面加一个$符号。
  • 创建文件

  注意:EOF为结束标识符并不是确定的,可以用任何你想用的字母代替,如果不适用结束标识符,需要用CTRL+D来结束创建;

  ‘>’这个符号表示将新内容覆盖test.txt文件中原有的内容,如果想要不覆盖原有内容只追加,需要将‘>’改成‘>>’;

   cat >test.txt<<EOF

  • 多个文件内容合并到另一个文件中
  cat -n test1.txt test2.txt >test3.txt  将test1.txt和test2.txt文件中的内容加上行号输出到test3.txt文件中,但是如果test3.txt文件中的原始内容将被覆盖
  • 追加新内容到文件中
  cat >>test1.txt <<EOF  将新内容追加到test1.txt文件中
  • 查看查询92行之后的日志,并显示前20行

  cat -n test.log |tail -n +92|head -n 20

  • 查看tar文件的日志要使用zcat

  zcat za-athena-insure-mics_10.253.209.46_20190424.tar.gz |grep --binary-files=text 'JDZEDXYX15cd9e22ca554e2a8f1d4bee12d73627' -A30;

注意:
  • 如果写入的内容中有$符号,需要对$进行转义
例如:我们在创建shell脚本文件时可能会有下面的代码
~# cat >d.sh <<EOF
> DATE=\$(date +%Y%m%d)
> mkdir /root/\$DATE
> EOF

  

学习连接

cat的高级使用

Linux之cat的使用的更多相关文章

  1. 13 Basic Cat Command Examples in Linux(转) Linux中cat命令的13中基本用法

    Cat (串联) 命令是Linux/Unix开源系统中比较常用的一个命令.我们可以通过Cat命令创建一个或多个文件,查看文件内容,串联文件并将内容输出到终端设备或新的文件当中,这篇文章我们将会以实例的 ...

  2. Linux显示cat帮助信息并退出

    Linux显示cat帮助信息并退出 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ cat --help 用法:cat [选项]... [文件]... 将[文件 ...

  3. Linux是cat、tail、head查看文件任意几行的数据

    Linux是cat.tail.head查看文件任意几行的数据 一.使用cat.tail.head组合 1.查看最后100行的数据 cat filename | tail -n 100 2.查看100到 ...

  4. linux 利用cat写入一段文件

    linux 利用cat写入一段文件 cat >> /etc/rc.local <<EOFsysctl -w net.ipv4.icmp_echo_ignore_all=1sys ...

  5. linux的cat命令

    1 描述 cat 的全称 concatenate files and print on the standard output cat命令事Linux下的一个文本输出命令. 用于链接文件并打印到标准输 ...

  6. 转 linux下cat命令详解

    linux下cat命令详解 http://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html 简略版: cat主要有三大功能:1.一次显示整个文 ...

  7. linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用

    linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...

  8. 菜鸟学Linux命令:cat命令 查看文件内容

    cat命令的用途是连接文件或标准输入并打印. 这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. Linux下查看文件内容的方式很多:vi ...

  9. linux中cat、more、less命令区别详解

    众所周知linux中命令cat.more.less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况:m ...

  10. linux中cat more less head tail 命令区别

    1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名. 比如:[root@localhost ~]# ca ...

随机推荐

  1. 构建自己的 Smart Life 私有云(二)-> 连通 IFTTT & Slack

    博客搬迁至https://blog.wangjiegulu.com RSS订阅:https://blog.wangjiegulu.com/feed.xml 原文链接:https://blog.wang ...

  2. asp.net mvc 根据浏览器判断,如果是微信浏览器则进行网页授权,否则直接访问

    遇到这个需求,想到的第一点就是,这个肯定是需要写在一个通用的地方.方便调用.一般可以定义个 父类控制器在OnActionExcuting方法执行前写逻辑,先上代码,一边写代码一边讲解: /// < ...

  3. 【转载】vi/vim使用进阶: 指随意动,移动如飞 (二)

    本节所用命令的帮助入口: :help usr_03.txt :help motion.txt :help usr_29.txt :help scroll.txt :help folding 上一篇文章 ...

  4. 用xcode9编译出ios越狱机程序使用的dylib

    因为xcode9默认不能创建dylib工程,所以 选择 静态库 工程后,修改编译选项使得变成dylib工程. 步骤: 一.xcode9 -> File -> New -> Proje ...

  5. 蜻蜓特派员 Windows XP SP3 纯净终结版

    蜻蜓特派员Windows XP SP3 纯净安装版 终结版,系统纯净无广告.无插件,网卡等驱动和运行库齐全,安全更新补丁全网最新!微软停止了 Windows XP 的支持之后还是偶尔为 WinXP 提 ...

  6. Spring中@Resource与@Autowired、@Qualifier的用法与区别

    1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...

  7. 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)

    在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...

  8. 深入理解Java类加载器(ClassLoader)

    深入理解Java类加载器(ClassLoader) Java学习记录--委派模型与类加载器 关于Java类加载双亲委派机制的思考(附一道面试题) 真正理解线程上下文类加载器(多案例分析) [jvm解析 ...

  9. Ajax替换局部DIV层

    <a href="addgoods.jsp" onclick="createRequest('addgoods.jsp','show');return false; ...

  10. Python类和实例方法和属性的动态绑定

    python中实例创建后可以给实例绑定任何属性和方法 class Student(object): pass 给实例绑定一个属性: s=Student() s.name='Michel' print ...