您的位置:首页 > 运维架构 > Linux

每天一个Linux命令(10):cat

2017-04-08 17:09 471 查看
cat的用途是链接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

1. 命令格式:

cat [选项] [文件]


2. 命令功能

cat主要有三大功能

一次显示整个文件:cat filename

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

将几个文件合并为一个文件: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


# cat log2012.log

2012-01
2012-02

# cat log2013.log

2013-01
2013-02
2013-03

# 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


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

命令:
cat -b log2012.log log2013.log log.log


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

1  2012-01
2  2012-02
3  ======
4  2013-01
5  2013-02
6  2013-03


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

# cat log.log

# cat -n log2012.log > log.log

# cat log.log

1  2012-01
2  2012-02
3
4
5  ======


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

# cat > log.txt <<EOF
> Hello
> World
> Linux
> PWD=$(pwd)
> EOF

//here doc以<<EOF开始,输入每行要显示的内容,以>EOF结尾

# ls -l log.txt

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

# cat log.txt

Hello
World
Linux
PWD=/opt/soft/test


备注:tac (反向列示)

命令:
tac  log.txt


# tac log.txt

PWD=/opt/soft/test
Linux
World
Hello


说明:tac是将cat反写过来,所以它的功能就与cat相反。cat是将第一行到最后一行,连续显示在屏幕上;而tac则是将最后一行到第一行,反向显示在屏幕上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux