4

cat * 命令在 Linux 终端中的作用是什么?我将它与文件名一起使用

cat * file-name

我得到了一个很大的输出,有很多乱码和格式正确的文本。最后我觉得这是内核配置参数,最后是我的文件。我猜这是显示的ram内容。是对的吗?

4

3 回答 3

4

* 字符被您的 shell 解释为通配符。这意味着您将每个文件和目录(隐藏的除外)传递给cat. 因此,您看到的不是 RAM 的内容,而是当前目录中所有文件的内容。

于 2013-09-27T06:49:35.473 回答
3

此命令应等效于以下命令:

cat first-file-in-current-directory
cat second-file-in-current-directory
   ...
cat last-file-in-current-directory
cat file-name

这意味着:它显示当前目录中所有文件的内容,然后显示给定名称的文件。

于 2013-09-27T06:36:26.017 回答
1

当你在 shell 上输入 cat * 时,解释器会将元字符符号 * 理解为“所有可用”并根据给出的命令执行,

在我们的场景中,我们使用 cat * 因此所有可用文件将根据其“ls”命令输出在屏幕上列出,

 [root@ranjith test]# ls
 four.txt  one.txt  three.txt  two.txt

 [root@ranjith test]# cat one.txt
 1
 [root@ranjith test]# cat two.txt
 2
 [root@ranjith test]# cat three.txt
 3
 [root@ranjith test]# cat four.txt
 4
 [root@ranjith test]# cat *
 4
 1
 3
 2

如果在路径上找到任何目录,它将显示为“cat: dir_name: Is a directory”

谢谢。

于 2013-10-13T07:50:36.353 回答