2017-08-29 87 views
1

我只想使用ls -lR命令列出系统中的所有文件。但我不希望/ proc目录及其子目录被列出,因为它们对我没有用处。 但是当我做ls -lR --ignore proc/。即使它们位于proc目录之外,它也会忽略所有文件名称proc。 ls -lR --ignore/proc/也不起作用。有什么办法吗?如何从ls -lR命令的输出中忽略/ proc目录的内容

+0

'find'会在这种情况下,一个很好的选择,因为它提供了更多的选择。任何你为什么坚持使用'ls'而不能考虑'find'的原因? – nu11p01n73R

+0

是的,我认为我应该使用find,那会更多。 –

回答

0

您可以使用lsextglob此:

shopt -s extglob 

ls -lR -I [email protected](/*|) 

扩展glob模式[email protected](/*|)比赛proc目录和proc目录下的所有儿童。

+0

它仍然显示所有的proc文件及其子目录。 –

+0

确保你运行'shopt'命令,如下所示。我测试过它,它不显示'proc'目录,它的内容。 – anubhava

+0

不,它没有。它仍然遍历proc目录。 –

0

只需使用grep的-v选项

ls -lR/| grep -v /proc 
+0

grep -v/proc也会将所有名为proc的目录不仅放在根目录下。 –