为什么80%的码农都做不了架构师?>>>   

功能:把一个或者多个文件(或者标准输入)连接在一起,并标准输出。(Concatenate FILE(s), or standard input, to standard output.)
cat命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。它常与重定向符号配合使用。cat是Concatenate的缩写。

Linux 有三个特别文件,分别
1)标准输入 即 STDIN , 在 /dev/stdin
   一般指键盘输入, shell里代号是 0
2) 标准输出 STDOUT, 在 /dev/stdout
   一般指终端(terminal), 就是显示器, shell里代号是 1
3) 标准错误 STDERR, 在 /dev/stderr
   也是指终端(terminal), 不同的是, 错误信息送到这里
   shell里代号是 2

语法:cat   [选项]   [文件]
短选项 长选项 涵义
-A --show-all 等于-vET
-b --number-nonblank 对非空输出行编号
-e   等于-vE
-E --show-ends 在每行结束处显示"$"
-n --number 对输出的所有行编号
-s --squeeze-blank 不输出多行空行
-t   与-vT 等价
-T --show-tabs 将跳格字符显示为^I
-v --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
输出文件内容 显示文件FILE的内容
cat FILE 显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。使用-n参数时,所有空行也会显示行号
cat -n FILE 忽略掉空行,用-b
cat -b FILE 当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数
cat -s FILE 保存内容 将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的
cat >FILE 将标准输入追加到文件FILE末尾
cat >>FILE  合并文件 将两个文件FILE1FILE2的内容合并为一个文件FILE
cat FILE1 FILE2 >FILE 

cat 使用实例

从标准输入创建文件
[root@web setup]# code>cat >1.txt
Hello
Bash
Linux
键盘(快捷键)Ctrl+D 保存文件 [root@web setup]# ls -l 1.txt
-rw-r--r-- 1 root root 17 11-02 21:32 1.txt
[root@web setup]# cat 1.txt   显示1.txt文本内容。标准输出
Hello
Bash
Linux
[root@web setup]# cat <1.txt
Hello
Bash
Linux
[root@web setup]# 使用heredoc来生成文件
注意:粗体部分、here doc可以进行字符串替换
[root@web setup]# cat >2.txt <<EOF
> Hello
> Bash
> Linux
> PWD=$(pwd)
> EOF [root@web setup]# ls -l 2.txt
-rw-r--r-- 1 root root 33 11-02 21:35 2.txt
[root@web setup]# cat 2.txt
Hello
Bash
Linux
PWD=/root/setup
[root@web setup]# 输出行号
[root@web setup]# cat -n 1.txt 1  Hello 2  Bash 3  Linux
[root@web setup]# nl 1.txt 1  Hello 2  Bash 3  Linux
[root@web setup]# 在bash脚本中把文件内容加载到变量中
[root@web ~]# TEXT=$(cat .bash_profile)
[root@web ~]#
[root@web ~]# echo "$TEXT"
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then . ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH
unset USERNAME
[root@web ~]#

heredoc文档

在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的童鞋可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用?EOF是“end of file”,表示文本结束符。

<<EOF
(内容)
EOF

  • EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。
  • 可以把EOF替换成其他东西,意思是把内容当作标准输入传给程
  • 结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。

接下来,简单描述一下几种常见的使用方式及其作用:

  • cat <<EOF,以EOF输入字符为标准输入开始
  • cat >filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入。
  • cat >filename <<EOF,以EOF作为输入结束,和ctrl+d的作用一样。
# cat >test.sh <<EOF
> #!/bin/bash
> #you Shell script writes here.
> EOF

其他写法

1、追加文件
# cat <<EOF >>test.sh

2、追加文件,换一种写法
cat >>test.sh <<EOF

3、EOF只是标识,不是固定的。这里的“HHH”就代替了“EOF”的功能。结果是相同的。
cat <<HHH >iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
> HHH

4、非脚本中。如果不是在脚本中,我们可以用Ctrl+D输出EOF的标识
cat >iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl+D

转载于:https://my.oschina.net/HJCui/blog/756476

Linux 中 用cat 输出文件内容相关推荐

  1. linux中合并多个文件内容到一个文件的例子

    Windows 中实现合并多个文件内容到一个文件中  代码如下 复制代码 copy *.sql MERGE.sql Linux 或 类Unix 下实现合并多个文件内容到一个文件中  代码如下 复制代码 ...

  2. Linux中/proc目录下文件详解

    Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...

  3. 实训|第十一天学习一下linux中的进程,文件查找,文件压缩与IO重定向

    [root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...

  4. linux在当前目录下创建pic目录,Linux中/proc目录下文件详解

    文章转自: Linux中/proc目录下文件详解(一) ------------------------------------------------------------------------ ...

  5. linux中一切都是文件_在Linux中,“一切都是文件”是什么意思?

    linux中一切都是文件 One of the defining features of Linux and other UNIX-like operating systems is that &qu ...

  6. Linux中的cat命令用法

    linux中的cat有三种用法: -列举所有文件 -创建文件 -合并文件 详细请看: http://www.cnblogs.com/perfy/archive/2012/07/23/2605550.h ...

  7. Linux中/proc目录下文件详解(zt)

    Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...

  8. linux vim无法编辑文件内容,Linux 使用vim命令编辑文件内容

    在终端可以使用vim命令来直接编辑文件内容. vim,也可以叫做vi. vim有三种模式:命令模式.输入模式.底线命令模式. 命令模式 vim  文件名   进入命令模式,vim也可以写成vi. 如果 ...

  9. linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...

  10. Linux脚本之定时清空文件内容

    Linux脚本之定时清空文件内容 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.要求创建名为rm_file.sh的脚本 2.要求在/home/tmp/下各以人名命名的临时目录,每天0点定 ...

最新文章

  1. oracle账号密码修改后特别容易锁定_Oracle数据库账号总是被锁?通过这里就可以发现是哪个IP造成的...
  2. java 只去掉_30行代码带你了解Java的Serializable接口
  3. linux安装Python2.7
  4. IdentityServer4(OAuth2.0服务)折腾笔记
  5. gis发布及应用服务器,超图云GIS应用服务器平台
  6. r语言library什么意思_还没张口对方就知道你是什么意思了?你的肢体语言出卖了你哦~...
  7. SNMP协议交互学习-获取udp的udpindatagrams
  8. 拓端tecdat|R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
  9. signature=a50e5f0f4a417f58d5844d45a67fb641,angular中文转拼音工具
  10. 2017美国数学建模ICM D题 优化机场安全的乘客吞吐量检查点(Optimizing the Passenger Throughput at an Airport Security Checkpo)
  11. html语言闪烁特效代码,css3 实现文字闪烁效果的三种方式示例代码
  12. Windows 微信3.3.0内测如何申请,附报名及下载地址
  13. Aleo Wagyu钱包
  14. android epub 开源,EPUB SDK
  15. video 满屏显示_JiaoZiVideoPlayer 全屏显示不全
  16. 主流加密通信应用Signal在中国“失联”
  17. ios免越狱脚本实现方案,苹果手机实现自动抖音发私信且是中文输入,FN键切换输入法,最新的苹果11以上圆角的屏幕一并支持。
  18. 百度站长平台召开百度之夜会议:打造良性搜索生态
  19. 利用付费QQ群轻松躺着赚钱我是如何做到的
  20. ONVIF局域网搜索工具

热门文章

  1. 设计模式,你知道什么是Observer模式吗?
  2. 实战(一):对“钉钉”的逆向(实现打卡功能)
  3. 如何确定梯度爆炸和解决梯度爆炸
  4. 搭建SpringMVC
  5. synchronized关键字,Lock接口以及可重入锁ReentrantLock
  6. WPF 获取程序路径的一些方法,根据程序路径获取程序集信息
  7. DELPHI XE5 FOR ANDROID 模仿驾考宝典 TMEMO 控件随着字数增多自动增高
  8. 用netbeans开发Swing程序,添加自定义控件
  9. Java开发团队管理细则
  10. MySQL备份---lvm snapshot