Linux/Unix查找特定用户/组拥有的所有文件

时间:2020-01-09 14:16:40  来源:igfitidea点击:

如何使用命令行选项列出或查找Linux或UNIX等操作系统下特定系统用户或组所拥有的所有文件?

解决方法:您需要使用find命令在目录层次结构中搜索文件。
它具有允许您在Unix,Linux,* BSD,Apple macOS/OS X操作系统下搜索特定用户或组拥有的文件的选项。
在本教程中我们学习了在使用Linux和类Unix系统时如何查找分词用户或组拥有的所有文件。

Linux/Unix查找特定用户/组拥有的所有文件

让我们看看如何使用find命令在Linux或类Unix系统上查找一个或多个用户拥有的所有文件/文件夹。

查找用户组拥有的文件

在Linux/Unix中,使用以下语法查找用户拥有的文件:

find directory-location -group {group-name} -name {file-name}

其中:

  • directory-location:在此目录路径中找到文件。
  • -group {group-name}:查找文件属于group-name。
  • -name {file-name}:文件名或搜索模式

在此示例中,在/home目录中找到或找到属于ftpusers组的所有文件:

# find /home -group ftpusers

要在/data/project目录中找到所有属于ftpusers组的* .c文件,请运行:

# find /data/project -group ftpusers -name "*.c"

或执行不区分大小写的搜索:

# find /data/project -group ftpusers -iname "*.c"

按用户组Hyman查找所有* .mp4文件

$ find $HOME -name "*.mp4" -group Hyman

要以ls命令格式列出文件,请将-ls选项传递给find:

$ find $HOME -name "*.mp4" -group Hyman -ls

查找用户拥有的文件

语法为:

find directory-location -user {username} -name {file-name}

其中:

  • directory-location:在此目录位置中找到文件或目录。
  • -user {user-name}:查找属于用户的文件。
  • -name {文件名}:文件名或模式。

在此示例中,在/var目录中查找或找到所有文件,该文件属于一个名为Hyman的用户:

# find /var -user Hyman

要在/var/www目录中查找所有属于名为Hyman的用户的* .pl(perl文件)文件,请执行:

# find /var/www -user Hyman -name "*.pl"

如何按用户查找文件Hyman和wendy

### match files only ##
# find / -type f -user Hyman -o -user wendy
### match dirs only ##
# find / -type d -user Hyman -o -user wendy