‘cat’ 用来做什么?

‘cat’ 用来做什么?

我曾在一些在线资料中看到过 cat 命令,并且我很好奇对于cat那些只进行一些简单的命令行操作的人来说,它起什么作用以及有什么用途。

答案1

cat的主要目的是列出文件。将依次显示 的内容和其他内容,就像内容位于单个文件中一样。请cat file1 file2 ...参阅filefile2手册页

NAME
       cat - concatenate and print files

它适用于以下情况:

  • 目标命令无法读取文件,您需要向其传递多个文件。例如tr实用程序。通常,对于一个文件,您可以执行以下操作:

    tr < file
    

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

    cat file1 file2 ... | tr
    
  • 目标命令从多个文件中读取,但当它被赋予多个文件时,其行为可能会改变。例如wc,它将打印每个文件的计数以及文件名,而您可能只想要总数,而不想要文件名。

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

如果你想看法文件的内容,用一个寻呼机-lessmore都能够出色地呈现文件以供查看,并且使用起来更加方便。

答案2

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

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

cat 的一般语法是:

cat [options] [filenames] [-] [filenames]

读取文件

cat 最常见的用途是读取文件内容,cat 通常是用于此目的最方便的程序。要打开文本文件并在显示器上查看,只需键入单词 cat,后跟空格和文件名称,然后按 ENTER 键。例如,以下将显示名为 file1 的文件的内容:

cat file1

级联

cat 的第二个作用是连接。(这就是 cat 这个奇怪名字的来源。)对原始文件没有影响。

例如,以下命令将连接三个文件 file1、file2 和 file3 的内容副本:

cat file1 file2 file3

每个文件的内容将显示在监视器屏幕上。可以使用输出重定向运算符轻松地将此输出重定向到另一个文件(例如 file4),如下所示:

cat file1 file2 file3 > file4

文件创建

谢谢@muru评论 :cat 能够根据 shell 重定向功能创建新文件,而不是其自身

对于小文件,这通常比使用 vi、gedit 或其他文本编辑器更容易。只需输入 cat,然后输入输出重定向运算符和要创建的文件的名称,然后按ENTER并最后同时按Ctrl&d键即可。

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

cat > file1

然后按下ENTER并同时按下Ctrl&d键。

PS1: 如果名为file1的文件已经存在,则会被覆盖

PS2:你可以使用附加运算符附加到退出的文件,>>例如 cat >> file1

复制文件

cat 命令也可以使用(取决于基于 shell 重定向功能)创建一个新文件并将现有文件中的数据传送给它。示例:复制文件oldfile.txt

cat oldfile.txt > newfile.txt

参考:

答案3

它可用于显示文件的内容。例如:cat "my file.txt"。您还可以man cat显示有关cat用途的详细信息。

答案4

这是其他方式使用 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

相关内容