
cat 命令是 “连接”(concatenate)的缩写,是 Linux 中常用的工具,可让用户查看、创建和集中文件,或重定向其输出。在本篇文章中,我们将探讨新老 Linux 用户如何利用 cat 命令完成各种任务。
cat 命令的一般语法如下:
$ cat [OPTION] [FILE]...
1. 使用 cat 创建新文件并添加内容
cat > filename
例子:
命令 cat > vegetables.txt 接收标准输入,并将其重定向到名为 “vegetables.txt” 的文件。执行该命令时,终端不会显示任何输出,而是等待你从键盘输入文本。
你输入的任何内容都将被写入 “vegetables.txt”。要完成并保存文件,你需要按 CTRL-D(或在使用某些终端应用程序的 Windows 系统上按 CTRL-Z)。
下面是一个如何使用它的示例:
$ cat > vegetables.txt Carrot Broccoli Spinach ^D
此时,将创建一个名为 “vegetables.txt” 的文件,内容如下:
Carrot Broccoli Spinach
2. 用 cat 显示文件内容
cat filename
例子:
假设该文件包含一个常见蔬菜列表;执行 cat vegetables.txt 命令将在终端中显示该文件的内容。
Carrots Broccoli Spinach Tomatoes Cucumbers Peppers Onions Potatoes Kale Lettuce
3. 用 cat 显示多个文件的内容
cat filename_1 filename_2
例子:
假设文件 fruits.txt 和 vegetables.txt 的内容分别如下:
Apple Banana Cherry
Carrot Lettuce Tomato
命令 cat fruits.txt vegetables.txt 将产生结果:
Apple Banana Cherry Carrot Lettuce Tomato
4. 用 cat 行号显示内容
cat -n filename
例子:
如果 fruits.txt 的内容与上例相同:
Apple Banana Cherry
然后,命令 cat -n fruits.txt 就会生成:
1 Apple 2 Banana 3 Cherry
5. 使用 cat 复制、替换或复制文件内容
cat filename new_filename
例子:
命令 cat fruits.txt > new_fruits.txt 将把 fruits.txt 中的内容写入一个名为 new_fruits.txt 的新文件。假设命令执行成功,终端不会显示任何输出。
如果 fruits.txt 的内容与之前的相同:
Apple Banana Cherry
运行该命令后, new_fruits.txt 的内容将是
Apple Banana Cherry
6. 使用 cat 将多个文件的内容合并为一个文件
cat filename_1 filename_2 > filename_3
例子:
命令 cat fruits.txt vegetable.txt > grocery.txt 将连接 fruits.txt 和 vegetable.txt 的内容,然后将输出重定向到名为 grocery.txt 的文件。如果其中一个输入文件不存在,终端将显示一条错误信息,但你不会在终端中看到连接后的内容,因为它们被重定向到了 grocery.txt 。
假设 fruits.txt 包含:
Apple Banana Cherry
而 vegetable.txt 包含:
Carrot Lettuce Tomato
运行该命令后,终端不会显示任何输出(除非出现错误),但文件 grocery.txt 将包含以下内容
Apple Banana Cherry Carrot Lettuce Tomato
如果 vegetable.txt 拼写错误或不存在,你会在终端中看到类似的错误:
cat: vegetable.txt: No such file or directory
更多 Linux 命令
下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:
| 目录操作 | rmdir·cd·pwd·exa·ls | 
| 文件操作 | cat·cp·dd·less·touch·ln·rename·more·head | 
| 文件系统操作 | chown·mkfs·locate | 
| 网络 | ping·curl·wget·iptables·mtr | 
| 搜索和文本处理 | find·grep·sed·whatis·ripgrep·fd·tldr | 
| 系统信息和管理 | env·history·top·who·htop·glances·lsof | 
| 用户和会话管理 | screen·su·sudo·open | 
此外,我们还整理 Linux 命令行大全,以帮助大家全面深入地学习 Linux。
















暂无评论内容