cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。

注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

    (1)用法:

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

    (2)功能:

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

    (3)选项参数:

      1)-n, --number                                    对输出的所有行编号

2) -s, --squeeze-blank                           不输出多行空行,有连续两行以上的空白行,就代换为一行的空白行

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

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

5) -A, --show-all                                   等价于 -vET,显示不可打印字符,行尾显示“$”

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

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

8) --help                                              显示此帮助信息并退出

9) --version                                          输出版本信息并退出

    (4)实例:

        由于cat命令是查看文档的,所以首先新建文本文档test1.txt,test2.txt,test3.txt并在文档中写入内容:

方法一:

(1)首先用touch指令新建三个文档:

[sunjimeng@localhost Document]$ touch {text1.txt,text2.txt,text3.txt}
[sunjimeng@localhost Document]$ ll
总用量
-rw-rw-r--. sunjimeng sunjimeng 5月 : text1.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text2.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text3.txt

(2)用图形界面,打开文档输入数据:

(3)由于在CentOs里文档有自动备份的功能,因此这里有6个文档。其中带~符号的需要用查看备份的软件来打开:

(4)查看shell中的文档信息:

[sunjimeng@localhost Document]$ ll
总用量
-rw-rw-r--. sunjimeng sunjimeng 5月 : text1.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text1.txt~
-rw-rw-r--. sunjimeng sunjimeng 5月 : text2.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text2.txt~
-rw-rw-r--. sunjimeng sunjimeng 5月 : text3.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text3.txt~

方法二:在shell中直接修改文档的内容:

[sunjimeng@localhost Document]$ touch text4.txt
[sunjimeng@localhost Document]$ cat >text4.txt <<EOF
> test4's first line;
> test4's second line;
> test4's third line;
> EOF
[sunjimeng@localhost Document]$ ll
总用量
-rw-rw-r--. sunjimeng sunjimeng 5月 : text1.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text1.txt~
-rw-rw-r--. sunjimeng sunjimeng 5月 : text2.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text2.txt~
-rw-rw-r--. sunjimeng sunjimeng 5月 : text3.txt
-rw-rw-r--. sunjimeng sunjimeng 5月 : text3.txt~
-rw-rw-r--. sunjimeng sunjimeng 5月 : text4.txt //这里并没有创建备份文件,是区别所在
[sunjimeng@localhost Document]$

1)[sunjimeng@localhost Document]$ cat -n text4.txt                 将包括空行在内的各行按编号输出

[sunjimeng@localhost Document]$ cat >text4.txt <<EOF                   //先修改text4.txt的内容
> text4's first line
>
>
> text4's second line
>
> text4's third line
>
>
> EOF
[sunjimeng@localhost Document]$ cat -n text4.txt
text4's first line text4's second line text4's third line

2)[sunjimeng@localhost Document]$ cat -b text4.txt               将除空行在内的各行按编号输出

[sunjimeng@localhost Document]$ cat -b text4.txt
text4's first line text4's second line text4's third line

3)[sunjimeng@localhost Document]$ cat text1.txt text2.txt text3.txt        用cat命令直接输出各个文件,可以是一个也可以是多个

[sunjimeng@localhost Document]$ cat text1.txt text2.txt text3.txt
test1's first line;
test1's second line;
test1's third line;
test2's first line;
test2's second line;
test2's third line;
test3's first line;
test3's second line;
test3's third line;

4)[sunjimeng@localhost Document]$ cat text1.txt text2.txt > text5.txt             将讲text1.txt和text2.txt输出到text5.txt里,和输出到标准输出一样,也可以有-n,-b等参数

由于这个特性,cat命令可以将多个压缩包合并成一个,可以用tar命令解压

# cat test.tar.gz_?? > test.tar.gz #可以用cat命令将被切割的多个压缩包合并成一个
# tar -xvzf test.tar.gz #再用tar命令解压
[sunjimeng@localhost Document]$ cat text1.txt text2.txt > text5.txt
[sunjimeng@localhost Document]$ cat text5.txt
test1's first line;
test1's second line;
test1's third line;
test2's first line;
test2's second line;
test2's third line;
[sunjimeng@localhost Document]$

5)[sunjimeng@localhost Document]$ tac text5.txt                  倒序输出文件的各行内容

[sunjimeng@localhost Document]$ tac text5.txt
test2's third line;
test2's second line;
test2's first line;
test1's third line;
test1's second line;
test1's first line;

6)[sunjimeng@localhost Document]$ cat -s text4.txt                    输出文档中的内容,如果有多个空行则用一个代替

[sunjimeng@localhost Document]$ cat -s text4.txt                最多连续输出一个空行
text4's first line text4's second line text4's third line [sunjimeng@localhost Document]$ cat text4.txt 有多少空行,输出多少空行
text4's first line text4's second line text4's third line

7)[sunjimeng@localhost Document]$ cat >text6.txt                      从键盘录入内容到文件,回车是保存,退出Ctrl+z

[sunjimeng@localhost Document]$ cat >text6.txt
I am MenAngel! //除了最后一个回车之后,其余回车是文档中数据的换行并保存
Practice Order!
^Z //回车后是Ctrl+Z命令退出
[]+ 已停止 cat > text6.txt
[sunjimeng@localhost Document]$ cat text6.txt
I am MenAngel!
Practice Order!

8)[sunjimeng@localhost Document]$ cat -E text4.txt                    输出各行文本,并且以$符结尾

[sunjimeng@localhost Document]$ cat -E text4.txt
text4's first line$
$
$
text4's second line$
$
text4's third line$
$
$

9)[sunjimeng@localhost Document]$ cat >text6.txt <<EOF              用$取表达式的值小小范例:

[sunjimeng@localhost Document]$ cat >text6.txt <<EOF
> pwd=$(pwd)
> EOF
[sunjimeng@localhost Document]$ cat text6.txt
pwd=/home/sunjimeng/Document

10)[sunjimeng@localhost Document]$ cat --help

[sunjimeng@localhost Document]$ cat --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 将标准输入的内容复制到标准输出。 GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告cat 的翻译错误
要获取完整文档,请运行:info coreutils 'cat invocation'

11)[sunjimeng@localhost Document]$ cat --version

[sunjimeng@localhost Document]$ cat --version
cat (GNU coreutils) 8.22
Copyright (C) Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。 由Torbjörn Granlund 和Richard M. Stallman 编写。

每天一个Linux命令(8)cat命令的更多相关文章

  1. Linux命令学习-cat命令

    Linux中,cat命令的全称是concatenate,主要用于显示文件内容. 查看centos系统版本 cat /etc/centos-release 查看文件 gogs.log 的内容 cat g ...

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

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

  3. linux常用命令:cat 命令

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

  4. 全网最详细的Linux命令系列-cat命令

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

  5. linux常用命令(8)cat命令

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

  6. linux命令之------Cat命令

    Cat命令 作用:cat命令用于连接文件并打印,查看文件内容: -n或--number:由1开始对所有输出的行数编号: -b或--number-nonblank:和-n相似,只不过对于空白行不做编号: ...

  7. 【Linux常见命令】cat命令

    cat - concatenate files and print on the standard output cat 命令用于连接文件并打印到标准输出设备上. 用法: 1. cat file 查看 ...

  8. 【Linux】使用cat命令创建文本文件

    在Linux界面输入 Linux:/usr/test # cat >test01.sh 接着按回车,输入内容:"echo hello world !" 回车后按 ctrl+d ...

  9. Centos文件切割利器_split命令及cat命令合并文件

    有个文件要处理,因为很大,所以想把它切成若干份,每份N行,以便并行处理.split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,为提高可读性,生成日志等 命令格式 -b:值为 ...

  10. Linux命令:cat命令详解

    概述:查看文件内容,连接文件,重定向输出到文件 1.查看整个文件 2.cat > filename 创建文件 3.合并输出到文件 1.查看文件(单个或者多个) cat demo.txt 2.创建 ...

随机推荐

  1. javascript---》arguments对象

    使用arguments可以直接访问函数传入的实参 如:arguments[0]访问第一个参数,arguments[1]访问第二个参数 arguments.length检测函数的参数个数 如: func ...

  2. Redis与Reactor模式

    Redis与Reactor模式 Jan 9, 2016 近期看了Redis的设计与实现,这本书写的还不错,看完后对Redis的理解有非常大的帮助. 另外,作者整理了一份Redis源代码凝视,大家能够c ...

  3. 使用PostMan快速生成代码

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.关于PostMan的下载和使用网上有很多相关的博客介绍,本文主要介绍PostMan在进行模拟Http请求后可以根据需要的 ...

  4. 【HttpClient4.5中文教程】【第一章 :基础】1.1运行请求(二)

    很多其它HttpClient4.5中文教程请查看:点击打开链接 ==================================================================== ...

  5. visual studio 2010 LNK1123解决方式

    ------------------------------------------------------------Lysen----------------------------------- ...

  6. JAVA、Android与Cordova环境搭建

    一些坑(如Manager.exe闪退的问题)请查看:https://www.cnblogs.com/CyLee/p/9911195.html 官方网址: # Cordova http://cordov ...

  7. SpringCloud系列一:微服务理解

    1. 单体架构 一个归档包(例如war格式)包含所有功能的应用程序,通常称为单体应用. > 复杂性高:模块多,模块的边界模糊,依赖关系不清楚,代码质量参差不齐. > 技术债务:随着时间推移 ...

  8. sublime 插件(持续更新)

    sublime text 3创建新文件插件-AdvanceNewFile 这里要记录sublime text 3 在创建新文件时安装的插件–AdvanceNewFile ST本来自带的创建新文件的快捷 ...

  9. MySQL二:数据库操作

    阅读目录 一 知识储备 二 初识SQL语言 三 系统数据库 四 创建数据库 五 数据库相关操作 一 知识储备 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理 ...

  10. Java银行调度系统

    具体需求如下: 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费.电话费之类业务的客户). 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户:普通客户:快速客户 ...