我需要隐藏所有被拒绝的消息:

find . > files_and_folders

当这样的信息出现时,我正在做实验。我需要收集所有的文件夹和文件,它没有出现。

是否可以将权限级别直接指向files_and_folders文件?

如何同时隐藏错误?


当前回答

Use:

find . ! -readable -prune -o -print

或者更一般地说

find <paths> ! -readable -prune -o <other conditions like -name> -print

避免“拒绝许可” 并且不要压制(其他)错误消息 AND获得退出状态0(“所有文件已成功处理”)

使用:find (GNU findutils) 4.4.2。 背景:

-readable测试匹配可读文件。!当test为false时,运算符返回true。和!-readable匹配不可读目录(&文件)。 -prune操作不会下降到目录中。 ! -readable -prune可以翻译为:如果目录不可读,不要进入该目录。 可读测试会考虑-perm测试忽略的访问控制列表和其他权限构件。

更多细节请参见(1)manpage。

其他回答

这些错误被打印到标准错误输出(fd 2)。要过滤它们,只需将所有错误重定向到/dev/null:

find . 2>/dev/null > some_file

或者首先连接stderr和stdout,然后grep出那些特定的错误:

find . 2>&1 | grep -v 'Permission denied' > some_file

只需使用它在系统中搜索文件。

find / name YOUR_SEARCH_TERM 2>&1 | grep YOUR_SEARCH_TERM

我们不要做不必要的工程,你只是想搜索你的文件,对吧?然后,如果文件出现在您可访问的区域,该命令将为您列出文件。

Use:

find . ! -readable -prune -o -print

或者更一般地说

find <paths> ! -readable -prune -o <other conditions like -name> -print

避免“拒绝许可” 并且不要压制(其他)错误消息 AND获得退出状态0(“所有文件已成功处理”)

使用:find (GNU findutils) 4.4.2。 背景:

-readable测试匹配可读文件。!当test为false时,运算符返回true。和!-readable匹配不可读目录(&文件)。 -prune操作不会下降到目录中。 ! -readable -prune可以翻译为:如果目录不可读,不要进入该目录。 可读测试会考虑-perm测试忽略的访问控制列表和其他权限构件。

更多细节请参见(1)manpage。

通过使用2>/dev/null管道stderr到/dev/null

找到。- name”……2 > / dev / null

重定向标准错误。例如,如果你在unix机器上使用bash,你可以像这样将标准错误重定向到/dev/null:

find . 2>/dev/null >files_and_folders