Linux CAT与ECHO命令详解

cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
       cat主要有三大功能:
      1.一次显示整个文件。
      $ cat   filename
      2.从键盘创建一个文件。
      $ cat  >  filename
      只能创建新文件,不能编辑已有文件.
      3.将几个文件合并为一个文件。
      $cat   file1   file2  > file
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
范例:
cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。
范例:
把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -n linuxfile1 > linuxfile2
把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到 linuxfile3 里。
cat -b linuxfile1 linuxfile2 >> linuxfile3
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容

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

首先必须要说明的是EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。

可以把EOF替换成其他东西,意思是把内容当作标准输入传给程

结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。

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

1、cat<<EOF,以EOF输入字符为标准输入结束:

2、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束:

注意:输入时是没有'>'的。

3、cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样:

二、使用

看例子是最快的熟悉方法:

# cat << EOF > test.sh

> #!/bin/bash             #“shell脚本”

> #you Shell script writes here.

> EOF

结果:

引用# cat test.sh

#!/bin/bash

#you Shell script writes here.

可以看到,test.sh的内容就是cat生成的内容。

cat <<EOF >test.sh  内容 EOF 

---就是将内容写入test.sh,之前存在的内容会被覆盖掉。EOF可以换成其他符号比如EEE:cat <<EEE  >test.sh  内容 EEE

三、其他写法

1、追加文件

# cat << EOF >> test.sh  内容  EOF

---将内容追加到 test.sh 的后面,不会覆盖掉原有的内容

2、换一种写法

# cat > test.sh << EOF 内容  EOF

3、EOF只是标识,不是固定的

# cat << HHH > iii.txt

> sdlkfjksl

> sdkjflk

> asdlfj

> HHH

这里的“HHH”就代替了“EOF”的功能。结果是相同的。

引用# cat iii.txt

sdlkfjksl

sdkjflk

asdlfj

4、非脚本中

如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识

# cat > iii.txt

skldjfklj

sdkfjkl

kljkljklj

kljlk

Ctrl-D

结果:

引用# cat iii.txt

skldjfklj

sdkfjkl

kljkljklj

kljlk

※关于“>”、“>>”、“<”、“<<”等的意思,请自行查看bash的介绍。

 

ECHO命令详解

 

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

该命令的一般格式为: echo [ -n ] 字符串

其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

功能说明:显示文字。

语   法:echo [-ne][字符串]或 echo [--help][--version]

补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

参   数:-n 不要在最后自动换行

-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般

文字输出:

   \a 发出警告声;

   \b 删除前一个字符;

   \c 最后不加上换行符号;

   \f 换行但光标仍旧停留在原来的位置;

   \n 换行且光标移至行首;

   \r 光标移至行首,但不换行;

   \t 插入tab;

   \v 与\f相同;

   \\ 插入\字符;

   \nnn 插入nnn(八进制)所代表的ASCII字符;

–help 显示帮助

–version 显示版本信息

Linux CAT与ECHO命令详解 <<EOF EOF相关推荐

  1. LINUX经常使用的命令详解

    LINUX经常使用的命令详解 源地址:http://blog.itpub.net/29065182/viewspace-1189162/ 1.man 对你熟悉或不熟悉的命令提供帮助解释  eg:man ...

  2. Ubuntu (Linux) 系统 find 命令详解

    Ubuntu (Linux) 系统 find 命令详解 在Ubuntu (Linux)系统的终端上,虽然没有像 windows 上那样简介易用的图形界面 搜索工具,但只要你使用足够熟练, 有一个强大命 ...

  3. linux三剑客之awk命令详解

    linux三剑客之awk命令详解 awk 是一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件.数据排序.计算以及生成报表等等.awk工具主要用于格式化输出,可以用类似于处理表格的方式处理文 ...

  4. Linux上的free命令详解

    Linux上的free命令详解 转自: http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html 解释一下Linux上f ...

  5. linux cut命令学习,Linux中的cut 命令详解

    今天小编要跟大家分享的文章是关于Linux中的cut 命令详解.cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中.我们可以使用 cut 命令从一行字符串 ...

  6. linux磁盘分区fdisk命令详解及云硬盘挂载实操

    linux磁盘分区fdisk命令详解 1.什么是分区? 分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用.分区表是一个硬盘分区的索引,分区的信息都会写进分区表. ...

  7. Linux系统之dd命令详解

    Linux系统之dd命令详解 一.dd命令介绍 1.dd介绍 2.dd的相关解释 二.创建指定大小的文件 三.给磁盘的分区做备份 1.磁盘分区备份 2.磁盘分区还原 四.清空磁盘 五.给磁盘备份 1. ...

  8. linux之去重uniq命令详解

    linux之去重uniq命令详解 uniq是对文本文件进行行去去重的工具. 以行为单位,进行行与行之间的字符串比较并进行去重 只能对有序的文本行进行有效去重,所以常与sort命令结合使用 参数 解释 ...

  9. linux ps(process status) 命令详解

    linux ps(process status) 命令详解 功能说明:报告程序状况. 语 法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称> ...

  10. Linux操作系统上lsof命令详解

    Linux操作系统上lsof命令详解 2011-10-08 18:31:31 http://xjsunjie.blog.51cto.com/999372/682865 标签:Linux lsof命令 ...

最新文章

  1. GitHub 标星 2.5K+,U^2-Net 跨界肖像画,完美复刻人物细节!
  2. 暗通道优先的图像去雾算法(下)
  3. VTK:标量条形 Actor用法实战
  4. final/override控制
  5. 阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:4. 设备上报属性
  6. C语言开发笔记(五)字符串常量
  7. python bootstrap安装_Python+Django+Bootstrap 框架环境搭建
  8. python 字典类型问题_[ python ] 字典类型的一些注意问题
  9. GIS软件开发工具包TatukGIS Developer Kernel更新至v11.7丨附下载
  10. 华为云计算HCNA--存储虚拟化
  11. php更新记录没有获取值,php – 节点更新:获取旧值
  12. 学习方法-北大学霸(02)初级技能
  13. Unity零基础到入门 ☀️| 万字教程 对 Unity 中的 Navigation导航系统基础 全面解析+实战演练【收藏不迷路】
  14. windows任务栏IDEA图标变白色快速解决方法
  15. 学习计算机英语总结,英语学习方法总结
  16. As的LogCat打开方法
  17. 真的!!!两行css代码实现瀑布流,html,css最简单的瀑布流实现方式且没有缺点!...
  18. 服务器修改万兆网卡为千兆,从千兆到万兆 惠普服务器网卡横向导购 上
  19. Spring的原理分析
  20. ERA5-Land hourly data数据直接计算出来数据量偏大,monthly单位等

热门文章

  1. 《软技能:代码之外的生存指南》一一35.2 找出你的短板
  2. Matlab学习(可以用MATLAB作曲)
  3. 1、redis之安装与配置
  4. MSN Messenger去广告和其他修改方法
  5. c form画直线_初一数学线段、射线、直线知识点精讲
  6. centos linux 使用无线网卡,CentOS环境下安装无线网卡
  7. red_hat_enterprise_linux
  8. linux在多核处理器上的负载均衡原理(2)
  9. android:background
  10. mysql日志文件的类型和作用_Mysql日志文件和日志类型介绍