对于我的一项实验室作业,我需要“dmesg
仅使用find
命令运行”。
我一直在尝试寻找但找不到任何东西,可能是因为它不是它应该使用的方式。
答案1
find $(which find) -exec dmesg \;
这应该是一种解决方案。$(which find)
可以替换为您确定存在的任何文件的路径。将为找到的每个文件find
执行提供的命令(在我们的例子中,仅执行一次)。-exec
答案2
执行单个命令是find
可以做的事情,但你永远不会用它来做。这有点像想出一台你能找到的无用机器YouTube 上的视频。
使用标准find
,您可以dmesg
使用以下命令执行。
find . -prune -exec dmesg \;
在此find
命令中,我们尝试对当前目录执行dmesg
using ,并使用 use来避免在当前目录中搜索任何内容。没有其他可探索的内容,就终止了。-exec
-prune
find
该命令不依赖于我们提供的搜索路径,find
除了它应该存在之外。它也不依赖于当前用户是否被允许执行dmesg
或dmesg
在其$PATH
.该命令将运行该dmesg
实用程序,就像直接从命令行执行一样。
答案3
鉴于评论中所写的内容,我认为正确的答案是find / -name dmesg -type f -executable -exec {} \;