Linux 命令(文件和目录管理 - cat/tac)

VLC 多媒体开发
从理论到实战,图文并茂,详细介绍 libVLC 的跨平台开发!
一去丶二三里

简述

cat 命令连接文件并打印到标准输出设备上,经常用来显示整个文件的内容。cat 只能查看文本内容的文件,如查看二进制文件,则屏幕会显示乱码。另外,cat 还可以用来创建文件、合并文件等。

| 版权声明:一去、二三里,未经博主允许不得转载。

命令介绍

  • 命令名称
    cat

  • 命令全称
    Concatenate

  • 基本语法
    cat [选项]… [文件]…

  • 功能描述
    将 [文件] 或标准输入组合输出到标准输出

命令选项

选项 说明
-A, --show-all 等于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t -vT 等价
-T, --show-tabs 将 Tab 字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示帮助信息并退出
--version 显示版本信息并退出

注意:-d-t 选项可接受不同的时间/日期格式。

使用范例

1.普通输出

[wang@localhost python]$ cat hello.py 
#!/usr/bin/python


print("Hello World!")

2.对输出的所有行编号

若要显示所有行的编号,包括空白行,可以使用 -n 选项。

[wang@localhost python]$ cat -n hello.py 
     1  #!/usr/bin/python
     2  
     3  
     4  print("Hello World!")

3.对非空输出行编号

若要对非空行进行编号,空行不编号,使用 -b 选项。

[wang@localhost python]$ cat -b hello.py 
     1  #!/usr/bin/python


     2  print("Hello World!")

4.不输出多行空行

有时候文件中空行会很多,如果要将多个空行合并为一个,使用 -s 选项。

[wang@localhost python]$ cat -ns hello.py 
     1  #!/usr/bin/python
     2  
     3  print("Hello World!")

5.在每行结束处显示 $

[wang@localhost python]$ cat -E hello.py 
#!/usr/bin/python$
$
$
print("Hello World!")$

6.合并文件内容

将多个文件的内容进行追加合并,输出到另外一个文件中。

# hello.py 内容
[wang@localhost python]$ cat hello.py 
#!/usr/bin/python


print("Hello World!")
# world.py 内容
[wang@localhost python]$ cat world.py 

print("1024 is comming!")
[wang@localhost python]$ cat hello.py world.py >hello_world.py
# 合并后的内容
[wang@localhost python]$ cat hello_world.py 
#!/usr/bin/python


print("Hello World!")

print("1024 is comming!")
[wang@localhost python]$ 

7.创建新文件

创建一个新文件,在创建的同时,可以添加内容。

[wang@localhost python]$ cat >hello.sh
#!/bin/bash
echo "Hello World!"
# 按 Ctrl-D结束
[wang@localhost python]$ cat hello.sh 
#!/bin/bash
echo "Hello World!"

8.追加内容

[wang@localhost python]$ cat >>hello.sh
echo "1024 is coming!"
[wang@localhost python]$ cat hello.sh
#!/bin/bash
echo "Hello World!"
echo "1024 is coming!"

9.复制文件

使用 cat 还可以复制文件,包括文本文件、二进制文件或 ISO 光盘文件等。

[wang@localhost python]$ cat hello.sh >hello_bak.sh
[wang@localhost python]$ md5sum hello.sh hello_bak.sh 
83dd4761f0e9c98568f57e4814454eb7  hello.sh
83dd4761f0e9c98568f57e4814454eb7  hello_bak.sh

可以看出两个文件的内容是一模一样的(md5 相同)。

10.清空文件内容

[wang@localhost python]$ cat /dev/null >hello_bak.sh 
[wang@localhost python]$ cat hello_bak.sh
# 文件大小已变为 0 
[wang@localhost python]$ ls -l hello_bak.sh 
-rw-rw-r--. 1 wang wang 0 1020 16:07 hello_bak.sh

cat 命令可以显示文件的内容,他反过来写就是 tac,tac 从文件的末尾开始读取,显示的结果和 cat 相反,详细用法就不再赘述了。

展开阅读全文
©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值