Ubuntu文本处理:cat命令查看文件内容

1. 什么是cat命令?

在Ubuntu系统中,cat是一个非常基础且常用的文本处理命令,它的名字来自“concatenate”(连接),但日常使用中,我们主要用它来查看文件的内容。想象一下,当你在Windows系统里双击打开一个文本文件时,cat命令就相当于在Ubuntu的终端里“打开”文件并直接显示内容,非常直观。

2. 基本用法:查看单个文件内容

使用cat命令查看文件内容的语法非常简单,只需在终端输入:

cat 文件名

举个例子:假设你有一个名为test.txt的文件,里面内容如下(可以先用nano test.txt创建一个测试文件,输入几行文字保存):

Hello, this is a test file.
It has three lines.
The third line is here.

在终端执行cat test.txt,屏幕上会直接显示文件内容:

Hello, this is a test file.
It has three lines.
The third line is here.

3. 常用选项:让cat更灵活

cat命令支持一些选项(参数),可以调整输出格式,让查看内容更方便。以下是初学者最常用的几个选项:

3.1 显示行号(-n 选项)

如果想给文件的每一行都标上序号(包括空行),可以用-n选项:

cat -n 文件名

示例:如果test.txt是空行和内容混合的文件(假设内容如下):

Line 1: First line.

Line 3: Third line.

执行cat -n test.txt后,输出会显示所有行的行号:

     1  Line 1: First line.
     2  
     3  
     4  Line 3: Third line.
     5  

3.2 显示非空行的行号(-b 选项)

-b-n类似,但只给非空行标序号,空行不会被标行号:

cat -b 文件名

同样用上面的例子,执行cat -b test.txt

     1  Line 1: First line.
     2  
     3  Line 3: Third line.
     4  

3.3 压缩连续空行(-s 选项)

如果文件中有很多连续的空行(比如多个换行符),看起来会很乱,-s选项可以把多个连续空行合并成一个

cat -s 文件名

示例:假设文件内容有多个空行:

Line 1.


Line 3.

执行cat -s test.txt后,输出会变成:

Line 1.

Line 3.

4. 处理多个文件:合并内容

cat不仅能查看单个文件,还能同时查看多个文件的内容,并按顺序输出。比如你有file1.txtfile2.txt两个文件:
- file1.txt内容:Hello from file1!
- file2.txt内容:Hello from file2!

执行cat file1.txt file2.txt,输出会是:

Hello from file1!
Hello from file2!

如果想把多个文件的内容合并到一个新文件(覆盖原有内容,注意备份!),可以用重定向符号>

cat file1.txt file2.txt > combined.txt

执行后,combined.txt会包含file1.txtfile2.txt的所有内容。

5. 常见问题与注意事项

  1. 文件不存在?
    如果输入的文件名不存在,cat会报错:cat: 文件名: No such file or directory。这时要检查文件名是否拼写正确,或文件是否在当前目录(可用ls命令确认文件是否存在)。

  2. 权限不足?
    如果文件没有读权限,会提示Permission denied。比如系统文件(如/etc/passwd)通常需要管理员权限,普通用户可先用sudo cat尝试(但注意:非必要不修改系统文件)。

  3. 重定向覆盖风险?
    使用>时,会直接覆盖目标文件。例如cat a.txt > b.txt会清空b.txt原有内容,只保留a.txt的内容。如果要追加内容,用>>(但同样需谨慎)。

总结

cat命令是Ubuntu文本处理的入门工具,从查看单文件、带行号输出,到多文件合并,它虽简单却实用。多练习几个例子(比如创建测试文件、测试不同选项),很快就能熟练掌握!

小夜