Linux 命令之 - cat
命令简介
CAT 是 Linux 和 Unix 系统中一个非常基本和常用的命令,主要用于连接和显示文件内容。它可以将一个或多个文件的内容按原有的次序连接起来,并将结果输出到标准输出设备(通常是终端)或重定向到一个文件中。CAT 命令也可以用于创建新文件、查看文件内容以及合并多个文件的内容。
命令格式
CAT 命令的基本语法格式为: cat [options] [file(s)]
- options: 用于指定 CAT 命令的选项,例如 -n 用于显示行号。
- file(s): 需要连接和显示的一个或多个文件。如果不指定文件,CAT 将从标准输入读取数据。
参数说明
CAT 命令提供了多个可选参数,下表列出了常用的参数及其说明:
命令实例
基本用法
1.显示文件内容
1 | cat file.txt |
2.连接多个文件的内容并显示
1 | cat file1.txt file2.txt |
显示行号和非打印字符
1.显示行号
1 | cat -n file.txt |
2.只对非空白行显示行号
1 | cat -b file.txt |
3.显示非打印字符
1 | cat -v file.txt |
创建和合并文件
1.从标准输入创建新文件
1 | cat > new_file.txt |
2.合并多个文件到一个新文件
1 | cat file1.txt file2.txt > merged_file.txt |
与重定向和管道一起使用
1.搜索包含特定模式的行
1 | cat file.txt | grep "pattern" |
2.将文件内容追加到现有文件
1 | cat file.txt >> existing_file.txt |
显示特殊字符
1.将制表符显示为 ^I
1 | cat -T file.txt |
2.在每行结尾显示 $
1 | cat -E file.txt |
其他有用的用法
1.压缩重复的空白行
1 | cat -s file.txt |
2.清空文件内容
1 | cat /dev/null > file.txt |
3.忽略错误信息
1 | cat file_does_not_exist 2>/dev/null |
4.EOF 方式写文件
cat << 'EOF' > PATH/files.txt ... EOF
和 cat << EOF >PATH/files.txt ... EOF
的区别:
cat << 'EOF' >
(带单引号)
cat << EOF >
(不带单引号)
4.1.单引号
1 | cat << 'EOF' > file.txt |
在上面的示例中,$PATH
将被原样写入文件,而不会被替换为实际的环境变量值。
4.2.双引号
1 | cat << EOF > file.txt |
在上面的示例中,$PATH
将被替换为实际的环境变量值,同时 \t
将被解释为制表符。
总结:
总的来说,如果你需要将一些包含变量或特殊字符的数据写入文件,并希望 Shell 对这些数据进行解释和替换,那么应该使用 cat << EOF >
。但如果你只需要原样写入数据,不希望进行任何替换或转义,那么就应该使用 cat << 'EOF' >
。
通过上述实例,你可以看到 CAT 命令在显示文件内容、创建和合并文件,以及与其他命令组合使用时的灵活应用。CAT 命令虽然简单,但在日常操作中非常实用。