1.cat 说明

cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。

2.使用权限

所有使用者
<!-- more -->

3.cat 语法

  • 语法格式

cat [-AbeEnstTuv] [--help] [--version] fileName
  • 参数说明

-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;

4.cat 实例

  • 查看/etc/bashrc的内容

[root@elk1 ~]# cat /etc/bashrc
  • 查看/etc/目录下的bashrc内容,并且对非空白行进行编号,行号从1开始

[root@elk1 ~]# cat -b /etc/bashrc
...
70 SHELL=/bin/bash
71 # Only display echos from profile.d scripts if we are no login shell
72 # and interactive - otherwise just process them to set envvars
73 for i in /etc/profile.d/*.sh; do
74 if [ -r "$i" ]; then
75 if [ "$PS1" ]; then
76 . "$i"
77 else
78 . "$i" &gt;/dev/null
79 fi
80 fi
81 done 82 unset i
83 unset -f pathmunge
84 fi
85 # vim:ts=4:sw=4
  • 对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示

[root@elk1 ~]# cat -n /etc/bashrc
...
65
66 # By default, we want umask to get set. This sets it for non-login shell.
67 # Current threshold for system reserved uid/gids is 200
68 # You could check uidgid reservation validity in
69 # /usr/share/doc/setup-*/uidgid file
70 if [ $UID -gt 199 ] &amp;&amp; [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
71 umask 002
72 else
73 umask 022
74 fi
75
76 SHELL=/bin/bash
77 # Only display echos from profile.d scripts if we are no login shell
78 # and interactive - otherwise just process them to set envvars
79 for i in /etc/profile.d/*.sh; do
80 if [ -r "$i" ]; then
81 if [ "$PS1" ]; then
82 . "$i"
83 else
84 . "$i" &gt;/dev/null
85 fi
86 fi
87 done
88
89 unset i
90 unset -f pathmunge
91 fi
92 # vim:ts=4:sw=4
  • 查看/etc/下的bashrc内容,并且在每行的结尾处附加$符号

[root@elk1 ~]# cat -E /etc/bashrc
...
esac$
}$
$
# By default, we want umask to get set. This sets it for non-login shell.$
# Current threshold for system reserved uid/gids is 200$
# You could check uidgid reservation validity in$
# /usr/share/doc/setup-*/uidgid file$
if [ $UID -gt 199 ] &amp;&amp; [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then$
umask 002$
else$
umask 022$
fi$
$
SHELL=/bin/bash$
# Only display echos from profile.d scripts if we are no login shell$
# and interactive - otherwise just process them to set envvars$
for i in /etc/profile.d/*.sh; do$
if [ -r "$i" ]; then$
if [ "$PS1" ]; then$
. "$i"$
else$
. "$i" &gt;/dev/null$
fi$
fi$
done$
$
unset i$
unset -f pathmunge$
fi$
# vim:ts=4:sw=4$
  • cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号

[root@elk1 ~]# cat -n /etc/bashrc
[root@elk1 ~]# nl /etc/bashrc
  • cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;

[root@elk1 ~]# cat /etc/fstab /etc/bashrc
  • cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;

[root@elk1 ~]# cat /etc/fstab /etc/bashrc | more

5.cat 创建、连接文件功能

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

[root@localhost ~]# cat &gt; ng-sec.txt &lt;&lt; EOF
[root@elk1 ~]# cat &gt;ng-sec.txt &lt;&lt;EOF
&gt; hello
&gt; this is cat test
&gt; EOF
#说明:创建ng-sec.txt文件 [root@elk1 ~]# cat ng-sec.txt
hello
this is cat test
  • 为刚刚创建的ng-sec.txt追加内容

[root@elk1 ~]# cat &gt;&gt;ng-sec.txt &lt;&lt;EOF
&gt; This is new contents for test2
&gt; EOF
[root@elk1 ~]# cat ng-sec.txt
hello
this is cat test
This is new contents for test2
# 说明:&gt;&gt;可以追加信息到文档,可以看到已经追加了一行信息
  • 通过cat 连接多个文件的内容并且输出到一个新文件中

假设我们有ng-sec01.txt、ng-sec02.txt,需要将他们文件内容合并后输出到ng-sec03.txt

注意:其原理是把两个文件的内容连接起来,然后创建ng-sec.txt文件,并且把几个文件的内容同时写入ng-sec03.txt中。特别注意的是,如果您输入到一个已经存在的ng-sec03.txt文件,会把该文件内容清空。


[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt &gt; sir04.txt
[root@elk1 ~]# cat ng-sec01.txt ng-sec02.txt &gt; ng-sec03.txt
[root@elk1 ~]# cat ng-sec03.txt
i am ng-sec01.txt
i am ng-sec02.txt

参考链接
runoob.com
aq1sw2的博客

来源:https://segmentfault.com/a/1190000017766866

Linux命令-文件管理篇-cat的更多相关文章

  1. linux初学者-文件管理篇

    linux初学者-文件管理篇 linux系统的所有东西都是以文件的形式存储在计算机中的,所以linux系统中对文件的管理非常重要.以下介绍一些文件管理的常用方法. 1.文件的建立 文件的建立或者修改文 ...

  2. Linux命令——文件和目录管理

    Linux命令--文件和目录管理 基本命令 命令ls 作用:显示目录下的文件和文件夹 说明:默认显示当前目录,可跟路径参数 参数:-a,显示隐藏目录 参数:-l,显示文件权限 参数:-d,显示文件最后 ...

  3. Linux命令-文件传输

    Linux命令-文件传输 Linux lprm命令 Linux lprm命令用于将一个工作由打印机贮列中移除 尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将常未送到打印机的工作取消.由于 ...

  4. Linux命令-文件处理命令:cat

    cat /etc/issue 查看etc目录下面的issue文件内容(issue是linxu系统的欢迎文件) cat -n /etc/issue 查看文件内容的时候显示行号 tac /etc/issu ...

  5. Linux命令 文件的建立移动删除

    cat [功能说明] 建立文件  #cat命令用来串接文件或显示文件内容的但是如果从标准输入设备中读入数据并将结果重定向到一个新的文件中,则可以到达建立新文件的目的.Cat命令只能在编辑新的文件时只能 ...

  6. Linux命令--文件处理

    touch命令 Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间.若文件不存在,系统会建立一个新的文件. ls -l 可以显示档案的时间记录. 语法 touch [-a ...

  7. linux命令echo和cat比较

    当前主要比较echo 和 cat的重定向功能 1.echo 1 > /proc/xxx 解析: echo 进行重定向的时候,仅仅是将字符"1" 输出到 /proc/xxx文件 ...

  8. Linux命令文件查看过滤

    Linux命令篇 1.查看一个文件的后100行的命令: tail -n 100 Linux下查看文件前几行一般用head -n xx,查看后面几行用tail -n xx.除此之外,还有: tail - ...

  9. Linux命令 文件压缩及压缩命令

    gzip [功能说明] 文件的压缩 #gizp属于GNU软件,总性能不错,是Linux系统首选的压缩工具,tar归档命令的-z参数也是利用gzip/gunzip来解压缩 [语法格式] Gip[选项][ ...

随机推荐

  1. 0 - Visualizing and Understanding Convolutional Networks(阅读翻译)

    卷积神经网络的可视化理解(Visualizing and Understanding Convolutional Networks) 摘要(Abstract) 近来,大型的卷积神经网络模型在Image ...

  2. Laravel 配置

    首页 问答社区 中文文档 API Composer Github 配置说明 框架下载好了,但是想要很好的使用,可能我们还有一些东西需要知道,这就是配置.和项目有关的配置是在 app/config 文件 ...

  3. 使用fui(Find Unused Imports)扫描工程中不用的类

    为了给APP提速,需要定期清理不用的类 fui(Find Unused Imports)是开源项目能很好的分析出不再使用的类,准确率非常高,唯一的问题是它处理不了动态库和静态库里提供的类,也处理不了C ...

  4. Go语言中new和make的区别

    Go语言中new跟make是内置函数,主要用来创建分配类型内存. new( ) new(T)创建一个没有任何数据的类型为T的实例,并返回该实例的指针: 源码解析 func new func new(T ...

  5. Fast R-CNN论文阅读摘要

    论文链接: https://arxiv.org/pdf/1504.08083.pdf 代码下载: https://github.com/rbgirshick/fast-rcnn Abstract Co ...

  6. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息

    笔记 8.用户模块开发之保存微信用户信息     简介:开发User数据访问层,保存微信用户信息 问题:             微信回调 用户昵称乱码             解决:        ...

  7. linux简单命令8---软件包安装

    1:使用yum安装,它不能包查询和包校验.它安装的是RPM格式文件.没有yum文件 ---------------------------------------------------------- ...

  8. docker数据管理(2)

    一.docker存储资源类型 docker两种存储资源类型 用户在使用 Docker 的过程中,势必需要查看容器内应用产生的数据,或者需要将容器内数据进行备份,甚至多个容器之间进行数据共享,这必然会涉 ...

  9. 不知道AI这三点优势,你可能真的要被淘汰

    不知道 AI 这三点优势,你可能真的要被淘汰 我们正处于飞速发展的数字化转型时期,这是由巨大的市场转变驱动的--即人工智能和机器学习. 同时,随着AI 和机器学习技术的普及,从中获益的不仅仅是大型企业 ...

  10. Python中类的继承代码实例

    Python中类的继承代码实例 这篇文章主要介绍了Python中类的继承代码实例,本文直接给出代码及运行效果,需要的朋友可以参考下 相对于C 的继承编写,Python更简洁,而且效率也是很高的,下面编 ...