Cat (串联) 命令是Linux/Unix开源系统中比较常用的一个命令。我们可以通过Cat命令创建一个或多个文件,查看文件内容,串联文件并将内容输出到终端设备或新的文件当中,这篇文章我们将会以实例的方式讲解Linux中cat命令一些简便的用法。

The cat (short for “concatenate“) command is one of the most frequently used command in Linux/Unix like operating systems. cat command allows us to create single or multiple files, view contain of file, concatenate files and redirect output in terminal or files. In this article, we are going to find out handy use of cat commands with their examples in Linux.

Read Also: Learn How to use ‘cat’ and ‘tac’ (Reverse of cat Command) in Linux

13中基本的Linux Cat 命令

13 Basic Linux Cat Commands

一般语法格式

General Syntax

cat [OPTION] [FILE]...

1. Display Contents of File(显示文件内容)

In the below example, it will show contents of /etc/passwd file.

下面这个例子,显示出/etc/passwd文件的内容。

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
narad:x:500:500::/home/narad:/bin/bash

2. View Contents of Multiple Files in terminal(在设备中显示多个文件内容)

In below example, it will display contents of test and test1 file in terminal.

下面这个例子,在设备中显示出test文件和test1文件内容

# cat test test1
Hello everybody
Hi world,

3. Create a File with Cat Command(使用Cat命令创建文件)

We will create a file called test2 file with below command.

我们将通过如下命令格式创建test2文件

# cat >test2

Awaits input from user, type desired text and press CTRL+D (hold down Ctrl Key and type ‘d‘) to exit. The text will be written in test2 file. You can see content of file with following cat command.

输入上面的命令后点击回车按钮,等待用户输入文件内容,同时按住CTRL+D退出编辑。通过下面的命令查看文件内容。

# cat test2
hello everyone, how do you do?

4. Use Cat Command with More & Less Options(使用带有More和Less参数的Cat命令)

If file having large number of content that won’t fit in output terminal and screen scrolls up very fast, we can use parameters more and less with cat command as show above.

如果文件有大量内容,设备输出不够清晰或则屏幕滚动条滚动过快,我们可以通过使用More和Less参数使内容展示更加可控。

# cat song.txt | more
# cat song.txt | less

5. Display Line Numbers in File(文件内显示内容行号)

With -n option you could see the line numbers of a file song.txt in the output terminal.

通过 -n 参数可以使song.txt文件的内容在设备中带行号显示

# cat -n song.txt
1 "Heal The World"
2 There's A Place In
3 Your Heart
4 And I Know That It Is Love
5 And This Place Could
6 Be Much
7 Brighter Than Tomorrow
8 And If You Really Try
9 You'll Find There's No Need
10 To Cry
11 In This Place You'll Feel
12 There's No Hurt Or Sorrow

6. Display $ at the End of File(在文件末尾显示$符号)

In the below, you can see with -e option that ‘$‘ is shows at the end of line and also in space showing ‘$‘ if there is any gap between paragraphs. This options is useful to squeeze multiple lines in a single line.

如下,使用-e参数,在文件内容的末尾和空格处会出现$符号。这个选项对于一行中挤压多行很有帮助。

# cat -e test
hello everyone, how do you do?$
$
Hey, am fine.$
How's your training going on?$
$

7. Display Tab separated Lines in File(文件内容中显示Tab分隔符)

In the below output, we could see TAB space is filled up with ‘^I‘ character.

如下输出内容中,我们可以看到Tab分隔的内容使用 ‘^I‘ 填充。

# cat -T test
hello ^Ieveryone, how do you do?
Hey, ^Iam fine.
^I^IHow's your training ^Igoing on?
Let's do ^Isome practice in Linux.

8. Display Multiple Files at Once(一次性显示多个文件内容)

In the below example we have three files test, test1 and test2 and able to view the contents of those file as shown above. We need to separate each file with ; (semi colon).

这个例子中,我们可以同时查看test, test1, test2三个文件的内容,三个文件之间使用 ;(分号)隔开。

# cat test; cat test1; cat test2
This is test file
This is test1 file.
This is test2 file.

9. Use Standard Output with Redirection Operator(使用重定向操作符作为标准输出)

We can redirect standard output of a file into a new file else existing file with ‘>‘ (greater than) symbol. Careful, existing contents of test1 will be overwritten by contents of test file.

我们可以使用大于号>将文件内容复制到新的文件或已存在的文件中,注意:复制到已存在的文件时会覆盖已有内容。

# cat test > test1

10. Appending Standard Output with Redirection Operator(使用重定向操作符将追加内容)

Appends in existing file with ‘>>‘ (double greater than) symbol. Here, contents of test file will be appended at the end of test1 file.

使用两个大于号>>将新的内容追加到已有内容的末尾。

# cat test >> test1

11. Redirecting Standard Input with Redirection Operator(使用重定向操作符将内容输出)

When you use the redirect with standard input ‘<‘ (less than symbol), it use file name test2 as a input for a command and output will be shown in a terminal.

我们可以使用小于号<,将test2文件的内容显示到设备中。

# cat < test2
This is test2 file.

12. Redirecting Multiple Files Contain in a Single File(将多个文件内容合并到一个文件中)

This will create a file called test3 and all output will be redirected in a newly created file.

将test, test1, test2的内容合并到test3文件中

# cat test test1 test2 > test3

13. Sorting Contents of Multiple Files in a Single File(将多个文件的内容合并到一个文件中并排序)

This will create a file test4 and output of cat command is piped to sort and result will be redirected in a newly created file.

# cat test test3 test2 test1 | sort > test4
例如: test文件内容是:this is test file content.
test3文件内容: this is test3 file content.
test2文件内容: this is test2 file content.
test1文件内容:this is test1 file content.
最后输出的test4文件内容:

this is test1 file content.
this is test2 file content.
this is test3 file content.
this is test file content.

13 Basic Cat Command Examples in Linux(转) Linux中cat命令的13中基本用法的更多相关文章

  1. 13 Basic Cat Command Examples in Linux

    FROM: http://www.tecmint.com/13-basic-cat-command-examples-in-linux/ The cat (short for “concatenate ...

  2. 15 Basic ‘ls’ Command Examples in Linux

    FROM: http://www.tecmint.com/15-basic-ls-command-examples-in-linux/ ls command is one of the most fr ...

  3. 00014 - linux中用top、ps命令查看进程中的线程

    在Linux上显示某个进程的线程的几种方式. 方法一:PS 在ps命令中,“-T”选项可以开启线程查看.下面的命令列出了由进程号为<pid>的进程创建的所有线程. 1.$ ps -T -p ...

  4. Linux bash脚本及常用命令--不断更新中

    1.如何在向alias命令传递参数: 这种用法的话就需要使用函数来配合使用. 如要cd到指定目录,并且ls当前目录下的文件可以使用:  alias cdls='cdls(){ cd $1; ls; } ...

  5. Linux 查看磁盘空间 相关命令

    Linux 查看磁盘空间 相关命令 实际工作中,我们经常需要查看磁盘空间的使用情况,以防止磁盘空间不足,导致的系统崩溃或者服务异常等问题. 常用的磁盘空间查看命令如下: 1.查看磁盘空间的整体使用情况 ...

  6. 15 Linux Split and Join Command Examples to Manage Large Files--reference

    by HIMANSHU ARORA on OCTOBER 16, 2012 http://www.thegeekstuff.com/2012/10/15-linux-split-and-join-co ...

  7. 18 Tar Command Examples in Linux

    FROM: http://www.tecmint.com/18-tar-command-examples-in-linux/ 18 Tar Command Examples in Linux By R ...

  8. 12 Linux Which Command, Whatis Command, Whereis Command Examples

    This Linux tutorial will explain the three "W" commands. The three "W"s are what ...

  9. 【Linux高频命令专题(13)】cat

    概述 常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一 ...

随机推荐

  1. javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

    前言 今天一个朋友让我帮他做一下tomcat的https配置,中间遇到了标题中这个错误,因此记录了一下过程,服务器.域名.证书.tomcat都已经准备好,就是需要配置一下即可,用的是阿里云的证书服务, ...

  2. MongoDB入门学习笔记之简介与安装配置

    一.MongoDB简介 1.文档数据库 MongoDB是一款开源的文档型非关系数据库,具有高性能.高可靠性和自动扩展等特点.MongoDB中的每一条记录是一个文档,其数据存储结构为键/值对,类似JSO ...

  3. GNS3的配置

    为了更好的了解协议我决定学习CCNA 安装好GNS3后我们打开 点击设置 先把iso解压,解压完成后倒入 保存结束 然后在输入idlepc get 设备名称 来计算idepc的值 idepc能让我们p ...

  4. 51 Nod 1007 正整数分组【类01背包】

    1007 正整数分组 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组, ...

  5. Java面向对象接口的应用实例练习

    interface USB { public void open(); public void close(); } class Upan implements USB { public void o ...

  6. HDU2504-又见GCD-递归

    又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. BZOJ1078: [SCOI2008]斜堆

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1078 每一次进入的点一定是一个极左节点,然后将它所处在的整棵树左右翻转.加上一些情况的处理. ...

  8. cf_514C(字符串哈希)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=121897#problem/G Watto and Mechanism Time ...

  9. Netty5序章之BIO NIO AIO演变

    Netty5序章之BIO NIO AIO演变 Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能.高可靠的网络服务器和客户端程序.Netty简化了网络程序的开发,是很多框架和公司都在使 ...

  10. TypeScript笔记 1--环境搭建

    TypeScript是什么 Typescript是JavaScript的超集,支持ES6特性并且提供了类型系统,可以编译成Javascript.是微软开发且已经在github上开源. ES6(ES20 ...