cat命令了解

1 查看文件
在LINUX下一切皆文件,光看见文件名和目录名对我们来说,还远远不够。今天,就来介绍一下可以打开文件的命令cat。当然,二进制的可执行文件,不能用cat。
在CentOS7下,以/etc/profile文件为例,如下:
cat命令了解

cat命令了解

首先,怎么打开这个文件呢?直接执行:cat /etc/passwd.

cat命令了解

这么多行,能不能看见行号呢?
cat -n /etc/passwd
-n:number

cat命令了解

很明显,空行也被按顺序标记了。那怎样不标记空行,只标记有内容的行呢?
cat –b /etc/profile 
-b:number-nonblank
cat命令了解

上图中,有多行都是空格,那可以压缩为一行空行吗?
cat –sb /etc/profile
-s: squeeze-blank

cat命令了解

但是,cat 命令不能消除所有空行显示。
有些不可打印的字符在cat命令时没有展示,如需知道,展示的命令如下:
cat -An /etc/profile
-A: show-all 等价于 -vET
-E, –show-ends 在每行结束处显示 $,显示换行符
-T, –show-tabs 将跳 字符显示为 ^I

cat命令了解

在查看文件方面,常用的cat 选项为:
cat –nAb /etc/profile
cat命令了解

2 创建文件
cat可以查看文件内容,也可以创建文件。
如:创建一个aaa.txt的文件,而且文件的内容为:
cat > aaa.txt <<EOF
> This is txt 

> sucess
> EOF
cat命令了解

Aaa.txt文件已经创建,可以查看内容:
输入:cat aaa.txt
cat命令了解

如果aaa.txt已经存在,则需要追加内容到此文件,而不是覆盖文件原内容。用cat >>aaa.txt<<EOF
> where is not first line

> yes 
> sucess
> EOF
cat命令了解

cat命令了解

解释:cat 后的>>(追加内容到文件,原文件存在)或者>(创建新文件);EOF也可以换成别的大写英文,但必须前后对应。
3 合并文件
如果有两个文件内容,要放到一个文件该怎么办呢?
比如上文的/etc/profile和aaa.txt文件,在一个屏幕显示:
cat aaa.txt /etc/profile
cat命令了解

所以,使用重定向就可以把两文件输出到一个新文件。
cat aaa.txt /etc/profile>bbb.txt
cat bbb.txt
cat命令了解

 

原创文章,作者:zhangguanglei,如若转载,请注明出处:http://www.178linux.com/72434

(0)
zhangguangleizhangguanglei
上一篇 2017-04-03
下一篇 2017-04-03

相关推荐

  • 计算机与操作系统

    计算机系统=Hardware+Software Linux操作系统=GNU/kernel+程序 (user space) ————– apps   shell    (人机交互接口) lib call(半层)  (kernel space) —&#…

    Linux干货 2017-02-14
  • 马哥教育网络班22期第六周课程练习1

    1、1,$s/^\s\+/#/g 2、1,$s/^\s\+$//g 3、1,$s/^#\s//g 4、1,3s/^/#/g 5、sed -e s/gpgcheck=1/gpgcheck=0/g -e s/enabled=0/enabled=1/g /etc/yum.repos.d/CentOS-Media.repo  6、0 /4 * * * cp…

    Linux干货 2016-09-26
  • 马哥教育网络19期+第十二周课程练习

    1、请描述一次完整的http请求处理过程; a.向根域名服务器请求解析域名,然后根服务器返回相应的IP信息; b.用户的Web浏览器向服务器端的80端口通过三次握手建立TCP连接; c.建立完TCP连接后发送HTTP请求,请求的格式包括请求方法、URL和协议版本号,方法有GET、HEAD、POST、PUT、DELETE、OPTIONS、TRACE,如: &n…

    Linux干货 2016-08-22
  • grep 正则表达式 find

    1.显示当前系统上root,fedora 或user1用户的默认shell [root@centos7 ~]# grep -E  “^(root|fedora|user1)” /etc/passwd root:x:0:0:root:/root:/bin/bash fedora:x:2003:2003::/home/fedora:/bi…

    2017-09-18
  • 循环体

    for 变量名in 列表;do 循环体 done 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令  &nbsp…

    Linux干货 2016-08-21
  • 根DNS域名解析的实现

    一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 接下来就一起开始搭建吧 首先,我们需要计划好实验环境,包括实验的步骤思路 1)实验环境(最好是画图展示,能使思路清…

    2015-02-10

评论列表(1条)

  • renjin
    renjin 2017-04-05 16:08

    详细的总结cat命令的使用方法,内容整理的很详细,排版也很不错。继续努力