共计 2995 个字符,预计需要花费 8 分钟才能阅读完成。
cat (concatenate) 命令是 Linux 和 Unix 中的根本命令之一。它用于创立新文件、连贯文件,也用于在规范输入中查看文件的内容。
根本语法:
# cat <options> <File>
可用选项:
(1) 应用 cat 命令创立文件
假如咱们要创立一个名为 linux_world 的新文件,键入 cat 命令,后跟要插入到文件中的文本内容,确保在最初键入 Ctrl + D 保留文件。
[root@linuxtechi ~]# cat > linux_world
Hi this is my first file in linux.
Linux always rocks
Thanks
[root@linuxtechi ~]#
(2) 查看文件的内容
要应用 cat 命令查看现有文件的内容,示例如下:
[root@linuxtechi ~]# cat linux_world
Hi this is my first file in linux.
Linux always rocks
Thanks
root@linuxtechi ~]#
(3) 查看多个文件的内容
要应用 cat 命令查看多个文件的内容,请在 cat 前面输出文件名,示例如下:
[root@linuxtechi ~]# cat linux_world linux_distributions /etc/fstab
下面的命令将在终端上显示三个文件的内容输入。
(4) 明智地查看内容页面
如果咱们有一个大文件,其内容不能立刻显示在屏幕上。在这种状况下,咱们能够应用 cat 的 more 和 less 命令来明智地查看内容页。
[root@linuxtechi ~]# cat /etc/passwd | more
[root@linuxtechi ~]# cat /etc/passwd | less
(5) 不带文件名参数的 cat 命令
如果咱们没有指定任何参数,那么它将从键盘读取输出。
[root@linuxtechi ~]# cat
Ubuntu Linux Rocks at desktop Level
当初按 Ctrl+d 告诉 cat 曾经达到文件完结 (EOF)。在这种状况下,它将显示一行文本两次,因为它将 std 输出复制到 std 输入。
[root@linuxtechi ~]# cat
Ubuntu Linux Rocks at desktop Level
Ubuntu Linux Rocks at desktop Level
[root@linuxtechi ~]#
(6) 应用行号查看内容
在 cat 命令中应用 -n 选项能够查看文件的内容和行号。
[root@linuxtechi ~]# cat -n linux_world
1 Hi this is my first file in linux.
2 Linux always rocks
3 Thanks
[root@linuxtechi ~]#
在这种状况下,如果你的文件有空行,那么下面的命令也会显示空行数,所以要删除空行编号,咱们能够应用 -b 选项来代替下面命令中的 -n
(7) 将内容从一个文件复制到另一个文件
在 cat 命令中应用 > 符号,能够将一个文件的内容复制到另一个文件,示例如下:
[root@linuxtechi ~]# cat linux_world > linux_text
[root@linuxtechi ~]#
在这种状况下,如果 linux_text 文件中有任何内容,那么它将被 linux_world 文件的内容笼罩
(8) 将一个文件的内容附加到另一个文件
在 cat 命令中应用 >> 符号,能够将一个文件的内容追加到另一个文件。示例如下:
[root@linuxtechi ~]# cat /etc/passwd >> linux_text
[root@linuxtechi ~]#
下面的命令将在开端将 /etc/passwd 文件的内容附加到 linux_text 文件
应用 cat 命令验证 linux_text 文件的内容
(9) 将多个文件的输入重定向到单个文件
cat 命令还能够用于将多个文件的内容合并为单个文件,示例如下:
[root@linuxtechi ~]# cat linux_world linux_distributions /etc/fstab > linux_merge_text
下面的命令将 3 个文件的输入合并为一个文件 linux_merge_text
(10) 应用规范输出操作符获取输出
在 cat 命令中应用 < 符号从规范输出操作符获取输出,示例如下:
[root@linuxtechi ~]# cat < linux_distributions
RHEL
CentOS
Fedora
Ubuntu
SuSE
Linux Mint
[root@linuxtechi ~]#
(11) 将多个文件排序输入为单个文件
cat 命令还能够对多个文件的内容进行排序,并将其合并为单个文件。默认状况下,排序将依照字母程序进行,如果你想在数字的根底上排序,那么在 sort 命令中应用 -n 选项。
[root@linuxtechi ~]# cat linux_text linux_distributions /etc/passwd | sort > linux_sort
(12) 在每一行的开端插入 $
如果你想在文件中每一行的开端附加 $ (dollar) 符号,那么在 cat 命令中应用 -E 选项。
[root@linuxtechi ~]# cat -E linux_world
Hi this is my first file in linux.$
Linux always rocks$
Thanks$
[root@linuxtechi ~]#
(13) 显示内容中的制表符
如果要应用 cat 命令查看文件内容中的制表符,请应用 -T 选项,示例如下:
让咱们创立一个带有制表符的文件
当初内容中的制表符将显示为 ^I
(14) 挤压反复的空白行
Use‘-s’option in cat command to suppress the repeated blank lines.
When we use -s option in cat command then it only show one blank line
and will squeeze repeated blank line.
在 cat 命令中应用 -s 选项禁止反复空行,它只显示一个空行,并将挤压反复的空行。
让咱们以文件 linux_blank 为例,它由多个反复的空行组成
咱们应用 cat 命令删除输入中反复的空行
[root@linuxtechi ~]# cat -s linux_blank
test
test1
test2
test3
test4
[root@linuxtechi ~]#
(15) 按倒序查看内容
tac 是 cat 反义词,tac 命令将以反转程序显示输入,示例如下:
[root@linuxtechi ~]# tac linux_world
Thanks
Linux always rocks
Hi this is my first file in linux.
[root@linuxtechi ~]#
(16) 显示非打印字符
cat 命令中的 -v 选项用于显示非打印字符。当咱们狐疑 CRLF 完结行时,这个选项变得十分有用,在这种状况下,它将在每行的开端显示为 ^M
不带 -v 选项的内容输入
[root@linuxtechi tmp]# cat test_file
hi there
带有 -v 选项的内容输入
[root@linuxtechi tmp]# cat -v test_file
hi there^M
[root@linuxtechi tmp]#
我的开源我的项目
- course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
- course-tencent-cloud(酷瓜云课堂 – github 仓库)