小编Mic*_*utz的帖子

递归列出Linux中具有权限的文件的完整绝对路径

我在网上做了一些搜索,我试图找到一种方法来递归列出所有文件及其绝对路径和权限。我想这样做是为了我可以grep得到我想要的,这样当我运行命令时,我就可以得到匹配的文件、它们的权限和它们的完整路径,比如:

<search command> | grep file.name
Run Code Online (Sandbox Code Playgroud)

输出:

/home/current/Desktop/file.name
/etc/program/src/file.name
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用,ls因为它是最快的,我会输入:

ls -alR $PWD/
Run Code Online (Sandbox Code Playgroud)

但这并没有显示文件的路径,所以如果我grep输出了,那么我会看到文件权限,而不是它的来源目录。

我可以使用lsintegrated withfindgrep以我想要的格式获得输出,我可以使用这样的东西:

ls -ault `find $PWD/ -type f` | grep file.name
Run Code Online (Sandbox Code Playgroud)

但这非常慢,我猜是因为实际上有两个命令正在运行。

如果我只使用findwithout lsor grep,那么它会更快,但要输入一堆:

find $PWD/ -type f -name file.name -printf '%M %u %g %s\t%a\t%p\r\n'
Run Code Online (Sandbox Code Playgroud)

这会给我一个很好的格式(它还包括用户、组、大小和最后访问日期,这很有帮助)。然而,这是一个输入,它肯定是不一样快,使用lsgrep

有没有比使用更快的方法来做我想做的事情find

linux grep ls

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

grep ×1

linux ×1

ls ×1