一、介绍

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

主要有三大功能:

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

cat语法结构

de>cat [选项] [文件]...de>
选项
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号,行号从1开始
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号,cat -n filename与nl 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. php获取数组长度的方法(有实例)

    php获取数组长度的方法,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度,还有获取二维数组的方法. 在php中获取数组长度方法很简单,php为我们提供 ...

  2. 2014多校第一场D题 || HDU 4864 Task (贪心)

    题目链接 题意 : 用N台机器,M个任务,每台机器都有一个最大工作时间和等级,每个任务有一个需要工作时间和一个等级.如果机器完成一个任务要求是:机器的工作时间要大于等于任务的时间,机器的等级要大于等于 ...

  3. 手动挂载安装VMware tools

    在VMware 10上装了Red Hat Enterprise Linux 4后,点击“安装VMware tools”后,虚拟机桌面一直不出现挂载了VMware tools的虚拟光驱.在/mnt 和/ ...

  4. cojs 简单的01串 题解报告

    题意显然是求n位二进制串中不大于其逆序串,取反串,逆序取反串的所有串按字典序排序后的第k个 由于n很小,k很大所以我们可以考虑逐位确定 问题转化为了求方案数,这显然是可以用数位DP做的 设f[len] ...

  5. Android学习及开发随记1:Android Studio安装配置

    1.本系列仅为个人使用,概不负责.随着时间推移,部分内容可能因为软件更新而出现不能对应的情况. 本文的配置情况,仅针对Android Studio v1.1.0 windows版本 全新安装. Goo ...

  6. QT里使用sqlite的问题,好多坑

    1. 我使用sqlite,开发机上好好的,测试机上却不行.后来发现是缺少驱动(Driver not loaded Driver not loaded),代码检查了又检查,发现应该是缺少dll文件(系统 ...

  7. 78. Subsets

    题目: Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset mus ...

  8. C# 调用命令行,参数有空格

    在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,命令行执行把后边截掉了,导致程序出错,会弹出了 ...

  9. 前端自动化神器gulp使用记录

    1.安装压缩图片插件的时候,由于网络原因,死活安装不成功.由于imagemin本身就包含很多插件,安装的时候卡住了,很是郁闷.如果要压缩png图片,那就单独安装imagemin-pngquant压缩插 ...

  10. LA 6187 - Never Wait for Weights 并查集的带权路径压缩

    只有一个地方需要注意: 设节点a的根为u,b的跟为v,则:a = u + d[a];  b = v + d[b]; 已知:b-a=w.所以v - u = d[a] - d[b] + w; 在合并两个集 ...