查找服务器上所有拥有个人网页的用户

查找服务器上所有拥有个人网页的用户

对于一个班级的家庭作业问题,我的任务是找到所有在学校服务器上有网页的研究生/本科生。

某个地方肯定有一个列表,但我不知道类似的东西会在哪里。

这个设置相当标准。要列出所有拥有某个帐户的研究生/本科生,我只需转到 /home/undergrad 或 /home/graduate,但我不知道如何找出谁在那里有网页。

我会使用locate来查找所有www目录,但这只适用于世界可读的目录。有人至少知道我应该寻找的文件名是什么吗?

答案1

个人网页通常位于 /home 中名为 public_html 的目录中。至少我猜是这样。

您可以使用 find 在 /home 内找到所有

find /home 2>/dev/null -type d -name public_html
  • /家是要在其中搜索的目录
  • 2> /dev/null 复制代码隐藏所有错误消息
  • 类型 d告诉 find 搜索目录
  • -姓名是要搜索的目录的名称。

这将为您提供名为 public_html 的所有目录的列表。您也可以使用以下方法搜索索引文件:

find /home 2>/dev/null -type f -name index.*

由于我们使用了通配符,因此它应该为您提供具有任何扩展名的所有索引文件的列表。

如果这可行但您只需要一个名称列表,您可以将 find 命令的结果传送给 awk,如下所示:

find /home 2>/dev/null -type f -name index.* | awk -F/ '{print $3}' 
  • -F/告诉 awk 将行分成 / 之后的部分。
  • {打印$1}是第一个 / 之前的内容
  • {打印$2}是第二个 / 之前的内容
  • {打印$3}是第三个之前的内容 /

因此上述命令只会给出 /home/ 内的结果。主目录的名称。

相关内容