无法将find命令的结果保存在文件中 - 文件为空

时间:2011-10-12 17:54:10

标签: linux shell

该程序应该找到一个文件并返回它是否存在于系统上,现在我发现应该使用find命令,但由于这个命令将由代码启动(使用System)我需要保存结果在文件中,并尝试在终端上,我无法让它工作,结果没有出现在文件中,我正在尝试:

find / -name 'test2abc' 2>/dev/null -> res

文件res为空。怎么做对了?

还有一种更好的方法,如果文件存在,我应该使用stat命令打印文件的详细信息。有没有办法使用juts stat命令来搜索子文件夹中的文件?

1 个答案:

答案 0 :(得分:4)

-> res部分应仅为> res

如果您在命令行上尝试这样的命令:

find / -name 'test2abc' -> res

会打印错误:

find: paths must precede expression: -

-不是任何有效重定向的一部分,因此被赋予find也无法解释它。

禁止错误消息可能是明智之举。一种简单的方法是将stderr和stdout重定向到文件,如下所示:

find / -name 'test2abc' > res 2>&1

然后关于-的错误就会从一开始就存在于文件中,您可能会非常快地知道错误。