当前位置: 首页 > 科技观察

如何根据文件权限查找文件

时间:2023-03-18 13:40:08 科技观察

在Linux中查找文件不是什么大事。市场上还有许多可靠的免费和开源视觉发现工具。但对我来说,要查找文件,使用命令行更快更容易。我们已经知道如何根据访问和修改文件的时间来查找或组织文件。今天,我们将了解如何在基于Unix的操作系统中通过权限查找文件。在本教程中,我将创建三个名为file1、file2和file3的文件,文件权限分别为777、766和655,并将它们放在名为ostechnix的文件夹中。mkdirostechnix&&cdostechnix/install-b-m777/dev/nullfile1install-b-m766/dev/nullfile2install-b-m655/dev/nullfile3现在,让我们通过权限查找文件。根据权限查找文件***代表语法:find-permmodemode可以是代表权限的八进制数(777、666...)或权限符号(u=x,a=r+x)。在深入之前,让我们从以下三点来详细说明模式参数。如果我们不指定任何参数前缀,它将查找具有特定权限的文件。如果我们使用-参数前缀,找到的文件至少有mode描述的权限,而不是具体的权限(大于等于这个权限的文件会被找到)。如果我们使用/参数前缀,那么所有者、组或其他人中的任何一个都应该拥有这个文件的权限。为了让您更好地理解,让我举一些例子。首先,我们将研究根据数字权限查找文件。根据数字(八进制)权限查找文件让我们运行以下命令:find-perm777该命令将在当前目录中查找恰好具有777权限的文件。1如您在屏幕输出中所见,file1是唯一具有恰好777权限的文件。现在,让我们使用-参数前缀,看看会发生什么。find-perm-766可以看到,命令行显示了两个文件。我们给file2设置了766权限,但是命令行显示有两个文件,这是什么鬼?因为,我们设置了-参数前缀。就是说这个命令会在所有文件中寻找文件所有者的“读/写/执行”权限,文件用户组的“读/写”权限和其他用户的“读/写”权限。本例中file1和file2均满足要求。换句话说,该文件不具有与请求时完全相同的766权限。它将显示具有(以上)此权限的任何文件。然后,让我们在/参数前添加,看看会发生什么。find-perm/222上述命令将查找某人(所有者、组或其他人)具有写入权限的文件。这是另一个示例:find-perm/220此命令将查找所有者或用户组具有写权限的文件。这意味着匹配所有者或组可写的文件,而其他人都具有任意权限。如果您运行带有-前缀的相同命令,您将只会看到所有者和组都具有写权限的文件。下面的屏幕截图find-perm-220将向您显示两个参数前缀之间的区别。前面说过,我们也可以用符号来表示文件权限。请阅读:如何在Linux中查找最小和最小的目录和文件如何在Linux中查找目录树中最旧的文件如何在Linux中查找大于或小于特定大小的文件在以下示例中,我们使用符号,例如u(所有者)、g(用户组)和o(其他)。我们也可以用字母a来表示以上三种类型。我们可以通过指定r(读)、w(写)和x(执行)来表示它们的权限。比如在用户组中查找有写权限的文件,执行:find-perm-g=w在上面的例子中,file1和file2都有写权限。请注意,您可以同样使用=和+符号。例如下面两行代码,效果是一样的。find-perm-g=wfind-perm-g+w在文件所有者中查找有写权限的文件,执行:find-perm-u=w在所有用户中查找有写权限的文件,执行:find-perm-a=w在属主组和用户组中查找有写权限的文件,执行:find-perm-g+w,u+w以上命令等同于find-perm-220。查找属主或用户组有写权限的文件,执行:find-perm/u+w,g+w或者,find-perm/u=w,g=w以上命令等同于find-perm/220.有关详细信息,请参阅手册页。manfind有关更简化的示例或其他Linux命令,请查看手册页。然后,仅此而已。希望本教程有用。更多干货敬请期待。干杯!