Linux 命令 [要求]

Linux 命令 [要求]

谁能告诉我这个命令是什么意思?
我在教程中见过它,但无法理解。

find . -type f | xargs file

答案1

find . -type f递归查找type f当前目录及其子目录中的所有文件,其中 表示f它仅查找文件(包括隐藏文件)。find . -type f由管道符管道传输并使用另一个命令 ( )|执行。该命令测试每个参数以尝试对其进行分类。有三组测试按此顺序执行:文件系统测试、魔术测试和语言测试。成功的第一个测试将打印文件类型。xargsfilefile

find . -type f | xargs file将文件名中单词之间的空格解释为分隔符,因此file如果文件名包含一个或多个空格,它将返回同一文件的多个结果。对于大多数希望file只为命令找到的每个文件返回单个结果的用户来说find,这是一个不想要的结果,即使文件名称中包含一个或多个空格。要纠正这个不想要的结果,请按如下方式更改命令:

find . -type f -exec file {} +

find . -type f -exec file {} +输出的结果与 相同, find . -type f | xargs file不同之处在于它对 找到的每个文件只返回一个结果find,即使文件名称中包含一个或多个空格字符。

答案2

此命令查找所有常规文件并对file找到的文件运行命令。

实际上它显示了当前目录中所有常规文件的文件类型。

相关内容