您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux中的cat文本输出命令用法

添加时间:2016-1-12 17:01:29  添加: 思海网络 
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的。
一、功能
cat主要有三大功能:
1.一次显示整个文件。



复制代码代码如下:
$ cat filename

2.从键盘创建一个文件。


复制代码代码如下:
$ cat > filename

只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。


复制代码代码如下:
$cat file1 file2 > file

cat具体命令格式为 :

复制代码代码如下:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
范例:


复制代码代码如下:cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里


复制代码代码如下:cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。
范例:
把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里


复制代码代码如下:
cat -n linuxfile1 > linuxfile2

把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到 linuxfile3 里。


复制代码代码如下:
cat -b linuxfile1 linuxfile2 >> linuxfile3



复制代码代码如下:cat /dev/null > /etc/test.txt此为清空/etc/test.txt档案内容
在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的童鞋可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用?
EOF是“end of file”,表示文本结束符。




复制代码代码如下:
<<EOF
(内容)
EOF



首先必须要说明的是EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。
可以把EOF替换成其他东西,意思是把内容当作标准输入传给程
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。

接下来,简单描述一下几种常见的使用方式及其作用:
(1)、cat<<EOF,以EOF输入字符为标准输入结束:
(2)、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束:
注意:输入时是没有'>'的。
(3)、cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样:

二、使用
看例子是最快的熟悉方法:



复制代码代码如下:
# cat << EOF > test.sh
> #!/bin/bash #“shell脚本”
> #you Shell writes here.
> EOF

结果:
引用

复制代码代码如下:# cat test.sh
#!/bin/bash
#you Shell writes here.
可以看到,test.sh的内容就是cat生成的内容。
cat <<EOF >test.sh  内容 EOF  
---就是将内容写入test.sh,之前存在的内容会被覆盖掉。EOF可以换成其他符号比如EEE:cat <<EEE  >test.sh  内容 EEE 

三、其他写法
1、追加文件



复制代码代码如下:# cat << EOF >> test.sh 内容 EOF
---将内容追加到 test.sh 的后面,不会覆盖掉原有的内容
2、换一种写法


复制代码代码如下:# cat > test.sh << EOF 内容 EOF
3、EOF只是标识,不是固定的


复制代码代码如下:
# cat << HHH > iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
> HHH

这里的“HHH”就代替了“EOF”的功能。结果是相同的。
引用


复制代码代码如下:
# cat iii.txt
sdlkfjksl
sdkjflk
asdlfj

4、非脚本中
如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识


复制代码代码如下:
# cat > iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl-D

结果:
引用


复制代码代码如下:
# cat iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk

四、基本用法实例演示
例1



复制代码代码如下:
[root@localhost ~]# cat test #普通输出
1111111111</p> <p>
2222222222</p> <p>3333333333</p> <p>[root@localhost ~]# cat -n test #开头显示行号
1 1111111111
2
3
4 2222222222
5
6 3333333333

[root@localhost ~]# cat -E test #以$结束
1111111111$
$
$
2222222222$
$
3333333333$</p> <p>[root@localhost ~]# cat -s test #超过二个空行,合并成一个
1111111111</p> <p>2222222222</p> <p>3333333333</p> <p>[root@localhost ~]# cat -ns test #去空行,加行号
1 1111111111
2
3 2222222222
4
5 3333333333

例2


复制代码代码如下:
[zhangy@BlackGhost awksed]$ cat x* > google_bak.tar.gz #合并文件

例3


复制代码代码如下:
# cat > aa #从键盘录入内容到文件,回车是保存,退出Ctrl+z
4234234
234234
^Z
[4]+ Stopped cat > aa</p> <p># cat file1 file2 > file #合并二个文件为一个

例4


复制代码代码如下:
# cat test.tar.gz_?? > test.tar.gz #可以用cat命令将被切割的多个压缩包合并成一个</p> <p># tar -xvzf test.tar.gz #再用tar命令解压

关键字:Linux、cat、命令
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站