![列出 UNIX 目录中所有文件的所有内容](https://linux22.com/image/1230769/%E5%88%97%E5%87%BA%20UNIX%20%E7%9B%AE%E5%BD%95%E4%B8%AD%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9.png)
如何列出目录中的所有文件内容?
就像是ls -la | cat
。
答案1
使用以下命令,递归:
查找/路径/到/文件夹-type f-exec cat {} \;
非递归版本(由于大众的压力):
查找/路径/到/文件夹 -maxdepth 1 -type f -exec cat {} \;
答案2
以下命令:
find ./ -type f -exec cat {} \;
将仅查找-type f
当前文件夹 ( ) 中的文件 ( ) ./
。
Studer 的回答很好,排除目录是个好主意,因为它是 unices 之间未定义的行为,请阅读 grawity 的评论。以下是两种已知行为:
cat
在 Linux 上尝试 cat 目录时会抛出一条错误消息cat: ./folder: Is a directory
)。cat
在 FreeBSD 上将转储存储在磁盘上的原始目录。
如果您需要有关该命令的更多信息或更多有关它的内容,请回复,我会注释更多/帮助您。
編輯:如约翰·T指出,这个命令将要进入每个子目录。如果你只需要从当前目录中 cat 文件,则需要-maxdepth 1
,从而得到:
find ./ -maxdepth 1 -type f -exec cat {} \;
该-maxdepth n
选项还可以用于将其限制为n
子目录的数量,1 为当前目录,2 为当前目录及其直接后代,依此类推。