1 查看文件
在LINUX下一切皆文件,光看见文件名和目录名对我们来说,还远远不够。今天,就来介绍一下可以打开文件的命令cat。当然,二进制的可执行文件,不能用cat。
在CentOS7下,以/etc/profile文件为例,如下:
首先,怎么打开这个文件呢?直接执行:cat /etc/passwd.
这么多行,能不能看见行号呢?
cat -n /etc/passwd
-n:number
很明显,空行也被按顺序标记了。那怎样不标记空行,只标记有内容的行呢?
cat –b /etc/profile
-b:number-nonblank
上图中,有多行都是空格,那可以压缩为一行空行吗?
cat –sb /etc/profile
-s: squeeze-blank
但是,cat 命令不能消除所有空行显示。
有些不可打印的字符在cat命令时没有展示,如需知道,展示的命令如下:
cat -An /etc/profile
-A: show-all 等价于 -vET
-E, --show-ends 在每行结束处显示 $,显示换行符
-T, --show-tabs 将跳 字符显示为 ^I
在查看文件方面,常用的cat 选项为:
cat –nAb /etc/profile
2 创建文件
cat可以查看文件内容,也可以创建文件。
如:创建一个aaa.txt的文件,而且文件的内容为:
cat > aaa.txt <<EOF
> This is txt
>
> sucess
> EOF
aaa.txt文件已经创建,可以查看内容:
输入:cat aaa.txt
如果aaa.txt已经存在,则需要追加内容到此文件,而不是覆盖文件原内容。用cat >>aaa.txt<<EOF
> where is not first line
>
> yes
> sucess
> EOF
解释:cat 后的>>(追加内容到文件,原文件存在)或者>(创建新文件);EOF也可以换成别的大写英文,但必须前后对应。
3 合并文件
如果有两个文件内容,要放到一个文件该怎么办呢?
比如上文的/etc/profile和aaa.txt文件,在一个屏幕显示:
cat aaa.txt /etc/profile
所以,使用重定向就可以把两文件输出到一个新文件。
cat aaa.txt /etc/profile>bbb.txt
cat bbb.txt