列出 / 目录中不属于 root 的文件

列出 / 目录中不属于 root 的文件

实际的家庭作业问题是

  1. 列出不属于 root 且不是在 7 月创建的所有文件/目录。

我找不到办法使用

LS

grep

输出文件 ~/NotOwnedByRoot.txt

find / \! -user root -d -maxdepth 1 -exec ls > ~/NotOwnedByRoot.txt  {} +

我也尝试过

find / \! -user root -type d -maxdepth 1 > ~/NotOwnedByRoot.txt

我收到错误

find: 警告:您在非选项参数 ! 之后指定了 -maxdepth 选项,但选项不是位置性的(-maxdepth 影响在其之前指定的测试以及在其之后指定的测试)。请在其他参数之前指定选项。

答案1

您可以将 ls 和 grep 一起使用,这非常简单,并且使用 grep 中的 -v 选项您可以搜索不存在的单词或短语,因此它将输出与您的搜索不相关的所有内容。

在您想要执行此操作的目录中尝试:ls -l | grep -v 根 ||七月

第一部分ls-l按长列表顺序列出所有文件

|符号称为管道,它接受上一个命令的输入并将其用作下一个命令的输入,在这种情况下 ls -l 将用作“grep”的输入。

第二部分grep -v 根目录使用 grep 与-v选项,与搜索项 root 一起使用-v选项用于查找所有没有您搜索内容的内容,因此它将查找没有“root”的所有内容。

终于到了最后一部分||七月, 这||基本上意味着 grep 中的“和”,因此您指定两个或多个搜索词,“七月”是第二个搜索词。***

PS:我不认为问题是要求您创建一个名为“NOTOWNEDBYROOT”的文件,而是要求您在目录中搜索不属于 root 或于 7 月创建的所有文件/子目录

相关内容