欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


阿里云使用Linux进行域名绑定和服务器登录有哪些问题
阿里云使用Linux系统应用配置有哪些问题
阿里云使用Linux安装环境有哪些问题
阿里云服务器的操作需要知道哪些要点
阿里云服务器常见问题有哪些
阿里云使用Linux系统安装程序有哪些问题
阿里云使用Linux系统有哪些问题
修改VirtualBox虚拟机系统存储默认路径方法
win7调节音量大小的窗口不见了怎么办?
使用VMware ThinApp制作软件单文件教程
linux下cat命令详解
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   1.命令格式:

  cat [选项] [文件]...

  2.命令功能:

  cat主要有三大功能:

  1.一次显示整个文件:cat filename

  2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

  3.将几个文件合并为一个文件:cat file1 file2 > file

  3.命令参数:

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

  -b, --number-nonblank 对非空输出行编号

  -e 等价于 -vE

  -E, --show-ends 在每行结束处显示 $

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

  -s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行

  -t 与 -vT 等价

  -T, --show-tabs 将跳格字符显示为 ^I

  -u (被忽略)

  -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

  4.使用实例:

  实例一:把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里

  命令:

  cat -n log2012.log log2013.log

  输出:

  复制代码

  代码如下:

  [root@localhost test]# cat log2012.log

  2012-01

  2012-02

  ======[root@localhost test]# cat log2013.log

  2013-01

  2013-02

  2013-03

  ======[root@localhost test]# cat -n log2012.log log2013.log

  1 2012-01

  2 2012-02

  3

  4

  5 ======

  6 2013-01

  7 2013-02

  8

  9

  10 2013-03

  11 ======[root@localhost test]#

  说明:

  实例二:把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。

  命令:

  cat -b log2012.log log2013.log log.log

  输出:

  复制代码

  代码如下:

  [root@localhost test]# cat -b log2012.log log2013.log log.log

  1 2012-01

  2 2012-02

< p> 3 ======

 

  4 2013-01

  5 2013-02

< p> 6 2013-03

 

  7 ======[root@localhost test]#

  实例三:把 log2012.log 的文件内容加上行号后输入 log.log 这个文件里

  命令:

  输出:

  复制代码

  代码如下:

  [root@localhost test]# cat log.log

  [root@localhost test]# cat -n log2012.log > log.log

  [root@localhost test]# cat -n log.log

  1 2012-01

  2 2012-02

  3

  4

  5 ======

  [root@localhost test]#

  实例四:使用here doc来生成文件

  输出:

  复制代码

  代码如下:

  [root@localhost test]# cat >log.txt <

  > Hello

  > World

  > Linux

  > PWD=$(pwd)

  > EOF

  [root@localhost test]# ls -l log.txt

  -rw-r--r-- 1 root root 37 10-28 17:07 log.txt

  [root@localhost test]# cat log.txt

  Hello

  World

  Linux

  PWD=/opt/soft/test

  [root@localhost test]#

  说明:

  注意粗体部分,here doc可以进行字符串替换。

  备注:

  tac (反向列示)

  命令:

  tac log.txt

  输出:

  复制代码

  代码如下:

  [root@localhost test]# tac log.txt

  PWD=/opt/soft/test

  Linux

  World

  Hello

  说明:

  tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

  注:在awk命令之后,没有太多复杂命令,都是一些基础命令。

  说明:

  cat,是单词 concatenate 的缩写, 把文件的内容输出到stdout.当与重定向操作符 (> 或

  >>结合使用时, 一般都是用来将多个文件连接起来.

  用法:

  1. $cat file1 file2 file3

  2. 不仅可以从文件中读取内容并且拼接,还能从标准输入流中读取

  例如:$echo 'some content' | cat - file.txt

  解释:这里的 - 就代表了 'some content' 的临时文件,也就是输入流

  实例:

  1. $cat cat.txt

  打印了cat.txt的所有内容

  2.$cat cat.txt | less

  查看cat.txt, 加入less以后一页一屏幕,具体再以后less,more命令中介绍

  3.$cat -n cat.txt

  每行前标注行号,包括空白行

  4.$cat -b cat.txt

  非空白行前标注行号

  解读--help

  用法:cat [选项]... [文件]...

  将[文件]或标准输入组合输出到标准输出。

  -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 显示此帮助信息并退出

  --version 显示版本信息并退出

  如果没有指定文件,或者文件为"-",则从标准输入读取。

  示例:

  cat f - g 先输出f 的内容,然后输出标准输入的内容,最后输出g 的内容。

  cat 将标准输入的内容复制到标准输出。

  解读:

  1. cat –s file.txt

  如果有一个文件有这样的格式:

  line1

  #空行

  line2 file2

  用到这个命令

  cat更多与其他命令结合,自身没有太复杂的内容,要是无聊,试试cat –A cat.txt,会有难忘的回忆。

  相关命令:

  cat的亲家一般是sed,tr这种命令

  如:

  $cat file|sed 's/old/new/g'

  显示file文件,并且将old 转换成new,不修改原文件

  简略版:

  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

  详细点的:

  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>

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

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号