cat 是用于顺序读取文件打印到标准输出的 Unix 的标准功能。这个名字源于它可以连接文件的功能。'cat' 命令是最通用最强大的工具。它被认为是最常用的命令之一。它可以用于显示文件的内容,将内容从一个文件复制到另一个文件中,连接多个文件的内容,显示行号和在行尾显示 $ 等等。
Linux cat 命令: 用于显示文件的内容
'cat' 命令可以用于显示文件的内容。
语法:
cat
示例:
cat jtp.txt
如图,命令「cat jtp.txt」将 'jtp.txt' 文件的内容显示出来。
提示:同时显示多个文件的内容可以在同一行中输入多个文件名例如「cat file1 file2 file3... fileN」。
Linux cat 命令常用方法
命令选项
功能cat > [fileName]
创建一个文件。
cat [oldfile] > [newfile]
复制 oldfile 文件内容到 newfile 。
cat [file1 file2 ... ] > [new file name]
拼接合并多个文件到一个新文件中。
cat -n/cat -b [fileName]
输出显示文件内容并在每行前加行号。
cat -e [fileName]
输出文件内容并每行尾加 $ 符。
cat [fileName] <<
应用于即时文本输入。
Linux cat 命令(创建一个文件)
'cat' 命令结合重定向符 (>)可用于创建一个新文件。
语法:
cat >
举例:
$ cat > javatpoint
见如上截图所示,我们创建一个名为 「javatpoint」的新文件。下面是创建过程。
命令行中键入 "cat >javatpoint" ,回车后,命令行直接进入下一行,等待你输入内容。
输入回车会另起一行,等待输入。若想结束,按 「ctrl+d」快捷键,输入状态退出,文件被保存。
向一个文件中追加内容
「cat」命令结合重定向符「>>」可向一个文件尾追加内容。
语法:
cat >>
举例:
$ cat >> javatpoint
见如上截图所示,命令「cat >> javatpoint」执行时,向文件「javatpoint」尾中加入一行,等待输入。按 「ctrl+d」快捷键退出输入状态,保存文件。
Linux cat 命令(复制文件)
「cat」命令可用于复制一个文件内容到一个新文件。
语法:
cat >
举例:
$ cat combo > combo2
见如上截图所示,执行 「cat combo>combo2」命令将文件 「combo」内容复制到 「combo2」文件中。
Linux cat 命令(拼接文件)
「cat」命令可用于拼接多个文件内容到一个新的单个文件中。
语法:
cat .... >
举例:
$ cat file1 file2 file3 > combo
见如上截图所示,使用 「cat file1 file2 file3 > combo」命令将 「file1,file2,file3」合并到 「combo」文件中。
注意三个文件内容被依序合并到一起保存到 「combo」文件中。
插入新空白行
使用连接符(-)合并多个文件时插入空白行。
语法:
cat - . . . . >
举例:
cat - file1 file2 file3 >combo
见如上截图所示,我们插入空白行在合并的文件中。
注意: 空白行将只被插入到文件开始处。
Linux 'cat -n' 命令(显示行号)
「cat -n」命令在每行前添加显示行号(译注:文件本身内容不改变)
语法:
cat -n
举例:
$ cat -n jtp.txt
见如上截图所示,显示 「jtp.txt」文件内容时,每行前添加行号。
'cat -b \' 命令
「cat -b」命令选项移除在空白行上加行号。
语法:
cat -b
举例:
cat -b jtp.txt
在上一例截图中,可见 19 行后,第 20 行编号 ,虽然它是空白行。
在本例截图中,使用 「cat -b jtp.txt」命令选项,第 20 行由于是空白行,没有编行号。
Linux 'cat -e' 命令(行尾显示 $)
「cat -e」命令显示内容每行后添加 '$' 符。
语法:
cat -e
举例:
$ cat -e program
见如上截图所示,文件内容包含一些空白行。用户不能辨别每行后的空格符。「cat -e program」命令将在每行尾添加 $ 符,可看出潜在的行尾空格。
Linux cat 命令(使用结束标志--即时文本)
「'cat << EOF'」命令选项中的 'EOF' 作为输入文本的结束标记。这种机制被称为 即时输入指定 ,文件在这个标记输入后结束输入并保存。
文件输入可用 'ctrl+d' 快捷键结束输入并保存,这个同结束标记机制作用相同。
注意: 其它的不同于 'EOF' 字符串都可用于输入结束标记,
语法:
cat <
举例:
$ cat > exm.txt <
见如上截图所示,我们通过 「cat > exm.txt << EOF」命令创建名为 'exm.txt' 的文件并即时输入其内容,最后在行开始输入结束标记 'EOF' 结束文件输入并保存退出。
Linux Cat 作为过滤器
当 'cat' 命令用于管道内,它除了将标准输入送到标准输出外,它不起其它作用。
语法:
cat | cat or tac | cat or tac |. . .
举例:
cat weeks.txt | tac | cat | cat | tac
见如上截图所示,管道中任一个 「cat」和 「tac」命令是将它的输入连接到它的输出。