一、介绍

cat 是一个文本文件查看和连接工具。从第一个字节开始正向查看文件的内容。

主要有三大功能:

1.一次显示整个文件。$ cat   filename ~,y6;e
2.从键盘创建一个文件。$ cat  >  filename  0#!7
只能创建新文件,不能编辑已有文件. :z)
3.将几个文件合并为一个文件。 $cat   file1   file2  > file"

cat语法结构

de>cat [选项] [文件]...de>
  1. 选项
    -A, --show-all 等价于 -vET
    -b, --number-nonblank 对非空输出行编号,行号从1开始
    -e 等价于 -vE
    -E, --show-ends 在每行结束处显示 $
    -n, --number 对输出的所有行编号,cat -n filenamenl filename相同。
    -s, --squeeze-blank 不输出多行空行
    -t -vT 等价
    -T, --show-tabs 将跳 字符显示为 ^I
    -u (被忽略)
    -v, --show-nonprinting 使用 ^ M- 引用,除了 LFD TAB 之外
    --help 显示此帮助信息并离开

二、实例

1.查看文件内容实例

#cat /proc/cpuinfo 显示CPU info信息

#cat /proc/interrupts 显示中断

#cat /proc/meminfo 校验内存使用

#cat /proc/swaps 显示哪些swap被使用

#cat /proc/version 显示内核版本

#cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容,两个文件之间不存在空行;

#cat /etc/fstab /etc/profilede
#cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;
# cat /etc/fstab /etc/profile | more

2.创建、连接文件功能实例

2.1 cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;

在使用 "cat > filename.txt" 创建文件时,可采用下面步骤:

1)键入cat > filename.txt 后回车

2)录入文本内容;

3)键入回车;

4)在键盘上按下Ctrl+D (或者键入Ctrl+Z、Ctrl+C等)。

文本被存盘,shell提示符重新出现

或使用“cat >filename.txt <<EOF”创建文件时,可采用下面步骤:

1)键入cat >filename.txt <<EOF 后回车

2)>hello

3)>world

4)>linux

5)>EOF

文本被存盘。

cat 一直从标准的输入读,直到你设定的分界符时就停止读,把读的内容输出到指定的文件或者终端,在此处EOF也可以换成其他的字段,如OVER

2.2 cat 还有向已存在的文件追加内容的功能;

#cat >>filename.txt

2.3 cat 连接多个文件的内容并且输出到一个新文件中;

比如已有文件a1,a2,a3将这三个文件连接(三个文件内容)起来输出到b1中。

#cat a1 a2 a3 >b1

2.4 cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中。

比如已有文件a1,a2将这追加到已存在的文件b1中。

#cat a1 a2  >>b1

三、使用实例

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

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

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

cat -n log2012.log > log.log

实例四:使用here doc来生成文件
输出:
[root@localhost test]# cat >log1.txt <<EOF
> hello
> pwd=$(pwd)
> EOF
[root@localhost test]# cat log1.txt
hello
pwd=/test

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

四、tac 命令

tac 命令反向显示。

tac file1 (反向列示),从文件的最后一行反向查看一个文件的内容。

[root@localhost test]# cat log2.txt
12
1213
over
[root@localhost test]# tac log2.txt
over
1213
12

说明:

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

参考:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html

linux 命令——文件管理 cat的更多相关文章

  1. 转 Linux命令-文件管理命令

    http://jingyan.baidu.com/article/9113f81bc1c7a72b3214c7d3.html Linux命令-文件管理命令 浏览:4118 | 更新:2012-11-1 ...

  2. Linux命令-文件管理(一)

    Linux命令-文件管理(一) 1.命令:cat cat命令用于把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 使用权限:所有使用者 语法格式:cat [-AbeEn ...

  3. Linux命令-文件管理(四)

    Linux命令-文件管理 Linux slocate命令 Linux slocate命令查找文件或目录. slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息. 语法 slocate ...

  4. Linux命令-文件管理(二)

    Linux命令-文件管理(二) Linux gitview命令 Linux gitview命令用于观看文件的内容,它会同时显示十六进制和ASCII格式的字码. 语法:gitview [-bchilv] ...

  5. 每天一个linux命令:cat(10)

    cat cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用 注意:当文件较大时,文本在屏幕上迅速 ...

  6. linux命令之cat

    转自:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容, ...

  7. 每天一个linux命令(10):cat

    1.命令简介 cat (concatenate,连接)命令将[文件]或标准输入组合输出到标准输出,如果没有指定文件,或者文件为"-",则从标准输入读取. 2.用法 cat [选项] ...

  8. 2018/03/07 每日一个Linux命令 之 cat

    每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令 ...

  9. 每天一个linux命令:cat 命令

    cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...

随机推荐

  1. 青鸟 王云鹏老师写的SqlHelper 泛型方法,反射,支持实体类

    1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: ...

  2. PHP中发送邮件的几种方法总结

    1. 使用 mail() 函数 没什么好讲的,就是使用系统自带的smtp系统来发送,一般是使用sendmail来发.这个按照各个系统不同而定.使用参考手册. 2. 使用管道的形式 昨天刚测试成功,使用 ...

  3. poj 3358 Period of an Infinite Binary Expansion

    由乘2取整得到分数的小数位,可以找到规律!!! 例如:1/10,2/10,4/10,8/10,16/10,32/10,64/10…… 取整后:1/10,2/10,4/10,8/10,6/10,2/10 ...

  4. lintcode: 二叉树的锯齿形层次遍历

    题目 二叉树的锯齿形层次遍历 给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) 样例 给出一棵二叉树 {3,9,20,#,#,15,7}, 3 / \ ...

  5. c# 使用 静态类+xml序列化 保存配置文件

    namespace TVCorrectionDataProcess{    [XmlRoot(ElementName = "Config")]    public class Co ...

  6. DNS主配置文件的几个选项

    options块中:   listen-on port 监听DNS查询请求的本机IP地址及端口      eg:listen-on port 53 { 192.168.0.78 };监听本机的192. ...

  7. 在CentOS 6.X 上面安装 Python 2.7.X

    在CentOS 6.X 上面安装 Python 2.7.X CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本.所以需要进行版本升级.由于一些系统工具和服 ...

  8. 在Ubuntu上为Android系统编写Linux内核驱动程序(老罗学习笔记1)

    这里,我们不会为真实的硬件设备编写内核驱动程序.为了方便描述为Android系统编写内核驱动程序的过程,我们使用一个虚拟的硬件设备,这个设备只有一个4字节的寄存器,它可读可写.想起我们第一次学习程序语 ...

  9. 创建支持复杂脚本Complex Scripts的WINCE6.0系统

    如果要创建支持复杂脚本(Complex Scripts)的系统,我们需要完成下面一系列步骤来确保系统包含所有需要支持的具体区域设置 (locale–specific). 1.     选择intern ...

  10. Jquery的.post说解

    Jquery的.post说解(一) 准备工作 ·Customer类   public class Customer {     public int Unid { get; set; }     pu ...