为什么我无法获取该文件?

为什么我无法获取该文件?

我跑:

find / -user alice -type f 2>>findlog.txt   

将搜索结果存储在 findlog.txt 中,但是当我尝试捕获它时,它会输出以下内容: 在此输入图像描述 知道为什么我无法捕获该文件吗?

答案1

如果命令运行没有错误,则“2>>”不会向文件追加任何内容。尝试以下任一方法:

find / -user alice -type f >>findlog.txt
find / -user alice -type f  >findlog.txt

取决于您是要追加还是覆盖 findlog.txt。或者,尝试:

find / -user alice -type f  >findlog.txt 2>findlog.err

分别保存 stdout 和 stderr。

答案2

您的cat命令运行正常。问题是,当您运行find命令时,它生成了许多“权限被拒绝”错误,因为您无权访问该find命令要检查的所有目录。

由于您将错误流从find命令重定向2>>到您的findlog.txt文件,因此您附加了这些错误消息findlog.txt(而 的普通输出find很可能最终出现在您的终端上)。

如果您想保存findto的非错误输出findlog.txt,请使用

find / -find f -user alice >findlog.txt

这将首先截断(清空)输出文件,然后将/用户拥有的目录中或目录下的所有常规文件的路径名输出alice到该文件。用于>>改为追加到文件。

您想丢弃此find命令生成的错误消息,请将错误流重定向到/dev/null

find / -find f -user alice >findlog.txt 2>/dev/null

相关内容