什么是’猫’用于?

我已经看到cat命令出现在一些在线的东西中,我很好奇cat做了什么以及它是什么,只是做一些简单的命令行的东西。

cat的主要目的是骗取文件。 cat file1 file2 ...将一个接一个地显示filefile2和其他内容,就像内容在一个文件中一样。 请参阅联机帮助页 :

 NAME cat - concatenate and print files 

它适用于以下任何一种情况:

  • 目标命令无法从文件中读取,您需要将多个文件传递给它。 一个例子是tr实用程序。 通常,使用一个文件,您可以:

     tr < file 

    但是对于多个文件,无法使用重定向,因此您必须执行以下操作:

     cat file1 file2 ... | tr 
  • 目标命令可以从多个文件中读取,但是当给定多个文件时,其行为可能会发生变化。 一个例子是wc ,它打印每个文件的计数,以及文件名,你可能只想要总数,而没有文件名。

请记住,您遇到的大多数命令( grepsedawksort ,...)都可以完美地读取文件。

如果要查看文件的内容,请使用寻呼机 - less人都能够显示文件以供查看,并且使用起来更方便。

cat是类Unix操作系统上最常用的命令之一。 它有三个与文本文件相关的function:

  1. 显示它们
  2. 合并它们的副本
  3. 创造新的。
  4. 复制文件

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键 ,最后同时按下Ctrld键。

例如,可以通过键入来创建名为file1的新文件

 cat > file1 

然后按ENTER键并同时按下Ctrld键。

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用户身份创建文件,则可以将输出通过管道输出到命令teetee -a ),由命令sudo执行:

 cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh #!/bin/sh HELLO='Hello World!' echo "\$HELLO" EOF 
  • 如果文件成功创建( && ),上面将使文件可执行( chmod +x )。
  • 某些字符(如$ )的特殊含义应该在cat的输出中转义(使用\ )。