我使用过的Linux命令之cat - 连接文件或标准输入并打印

本文详细介绍了Linux中的cat命令,包括其基本用途、常用参数及实际应用场景。通过具体示例展示了如何利用cat命令来创建文件、合并文件内容以及显示带行号的文件内容等。

我使用过的Linux命令之cat - 连接文件或标准输入并打印

本文链接:http://codingstandards.iteye.com/blog/801090   (转载请注明出处)

 

用途说明

cat命令的用途是连接文件或标准输入并打印(Concatenate FILE(s), or standard input, to standard output.)。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

 

常用参数

将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的。

格式:cat >FILE

将标准输入追加到文件FILE末尾。

格式:cat >>FILE

显示文件FILE的内容。

格式:cat FILE

显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。nl命令也可以输出行号。

格式:cat -n FILE

格式:nl FILE

使用-n参数时,所有空行也会显示行号,若忽略掉空行,改用-b就行。

格式:cat -b FILE

当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数。

格式:cat -s FILE

将两个文件FILE1和FILE2的内容合并为一个文件FILE。

格式:cat FILE1 FILE2 >FILE

 

使用示例

示例一 从标准输入创建文件

[root@web setup]# cat >1.txt
Hello
Bash
Linux

Ctrl+D
[root@web setup]# ls -l 1.txt
-rw-r--r-- 1 root root 17 11-02 21:32 1.txt
[root@web setup]# cat 1.txt
Hello
Bash
Linux
[root@web setup]# cat <1.txt
Hello
Bash
Linux
[root@web setup]#

 

示例二 使用here doc来生成文件

注意粗体部分,here doc可以进行字符串替换。

[root@web setup]# cat >2.txt <<EOF
> Hello
> Bash
> Linux
> PWD=$(pwd)
> EOF
[root@web setup]# ls -l 2.txt
-rw-r--r-- 1 root root 33 11-02 21:35 2.txt
[root@web setup]# cat 2.txt
Hello
Bash
Linux
PWD=/root/setup
[root@web setup]#

 

示例三 输出行号

[root@web setup]# cat -n 1.txt
     1  Hello
     2  Bash
     3  Linux
[root@web setup]# nl 1.txt
     1  Hello
     2  Bash
     3  Linux
[root@web setup]#

 

示例四 在bash脚本中把文件内容加载到变量中

# 把.bash_profile的内容加载到变量中
TEXT=$(cat .bash_profile)

# 打印TEXT内容
echo "$TEXT"

 

[root@web ~]# TEXT=$(cat .bash_profile)
[root@web ~]#
[root@web ~]# echo "$TEXT"
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
[root@web ~]#

 

问题思考

 

相关资料

【1】方寸心间 linux cat 命令详解

【2】开发学院 linux cat命令

【3】记录技术点滴 分享生活智慧 linux cat 命令详解

 

 

返回 我使用过的Linux命令系列总目录

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值