什么是’猫’用于?
我已经看到cat命令出现在一些在线的东西中,我很好奇cat
做了什么以及它是什么,只是做一些简单的命令行的东西。
cat
的主要目的是骗取文件。 cat file1 file2 ...
将一个接一个地显示file
, file2
和其他内容,就像内容在一个文件中一样。 请参阅联机帮助页 :
NAME cat - concatenate and print files
它适用于以下任何一种情况:
-
目标命令无法从文件中读取,您需要将多个文件传递给它。 一个例子是
tr
实用程序。 通常,使用一个文件,您可以:tr < file
但是对于多个文件,无法使用重定向,因此您必须执行以下操作:
cat file1 file2 ... | tr
- 目标命令可以从多个文件中读取,但是当给定多个文件时,其行为可能会发生变化。 一个例子是
wc
,它打印每个文件的计数,以及文件名,你可能只想要总数,而没有文件名。
请记住,您遇到的大多数命令( grep
, sed
, awk
, sort
,...)都可以完美地读取文件。
如果要查看文件的内容,请使用寻呼机 - less
人都能够显示文件以供查看,并且使用起来更方便。
cat
是类Unix操作系统上最常用的命令之一。 它有三个与文本文件相关的function:
- 显示它们
- 合并它们的副本
- 创造新的。
- 复制文件
cat的一般语法是:
cat [options] [filenames] [-] [filenames]
阅读文件
cat的最常见用途是读取文件的内容,而cat通常是用于此目的的最方便的程序。 打开文本文件以便在显示器上查看所需的只是键入单词cat后跟空格和文件名,然后按ENTER键。 例如,以下内容将显示名为file1的文件的内容:
cat file1
级联
猫的第二个角色是连接。 (这是猫好奇名字的来源。)对原始文件没有影响。
例如,以下命令将连接三个文件file1,file2和file3的内容副本:
cat file1 file2 file3
每个文件的内容将显示在监视器屏幕上。 使用输出重定向操作符可以轻松地将此输出重定向到另一个文件,例如file4,使用以下命令:
cat file1 file2 file3 > file4
文件创建
感谢@muru评论: cat能够创建新文件,具体取决于shell重定向function,而不是自身
对于小文件,这通常比使用vi,gedit或其他文本编辑器更容易。 通过输入cat后跟输出重定向操作符和要创建的文件名来完成,然后按ENTER键 ,最后同时按下Ctrl和d键。
例如,可以通过键入来创建名为file1的新文件
cat > file1
然后按ENTER键并同时按下Ctrl和d键。
PS1:如果名为file1的文件已存在,则将被覆盖
PS2:您可以使用追加运算符>>
example cat >> file1追加到退出的文件
复制文件
也可以使用cat命令( 取决于 shell重定向function)来创建新文件并从现有文件传输数据。 示例:制作文件oldfile.txt
的副本:
cat oldfile.txt > newfile.txt
参考文献:
- Linux和Unix cat命令
- 猫命令
- 猫(Unix)
- HowTo:在Linux / UNIX中使用cat命令
它可用于显示文件的内容。 例如: cat "my file.txt"
。 你也可以man cat
,向你展示cat
可以使用的细节。
这是使用shell重定向(或管道)和cat
创建文件的另一种方法 :
cat << EOF > foo.sh #!/bin/sh echo 'Hello World!' EOF
cat << EOF
将输出以下行,直到再次遇到字符串EOF
。 然后>
( >>
)将输出重定向到文件foo.sh
或者,如果您需要以root用户身份创建文件,则可以将输出通过管道输出到命令tee
( tee -a
),由命令sudo
执行:
cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh #!/bin/sh HELLO='Hello World!' echo "\$HELLO" EOF
- 如果文件成功创建(
&&
),上面将使文件可执行(chmod +x
)。 - 某些字符(如
$
)的特殊含义应该在cat
的输出中转义(使用\
)。