在Linux中,“cat *”命令是什么意思?

4
在Linux终端中,cat *命令是什么? 我和文件名一起使用它。
cat * file-name

我得到了一个大的输出结果,其中包含许多垃圾字符和正确格式的文本。到最后,我觉得这可能是内核配置参数和我的文件导致的。我猜想这是显示的内存内容,这个猜测正确吗?


你应该只需输入 'cat 文件名' .. - imapollo
3个回答

4

星号字符被你的shell解释为通配符。这意味着你会将cat作用于每个文件和目录(除了隐藏的)。所以你看到的不是你的RAM内容,而是当前目录下所有文件的内容。


3
这个命令应该等价于以下命令:
cat first-file-in-current-directory
cat second-file-in-current-directory
   ...
cat last-file-in-current-directory
cat file-name

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

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”。
谢谢。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接