如何列出当前路径模式?

如何列出当前路径模式?

假设当前路径为/data/db_1,且/data有三个子路径,则db_1, db_2, db_3

我想要知道db_1的修改、所有者和群组。

目前我使用ls -li /data |grep db_1,但我认为一定有更好的方法来做到这一点?

答案1

要查看当前目录的权限(无论它是什么),请使用:

ls -lid .

怎么运行的:

  • -l要求ls提供长目录列表。

  • -i询问lsinode 信息(可选)。

  • -d告诉ls报告目录本身,而不是其中的内容。

  • .按照 Unix 的惯例,指的是当前目录。

因为POSIXls支持-l-i-d选项,此方法是可移植的。

答案2

ls根本不要使用。它是通常来说这不是一个好主意尝试解析ls输出,还有其他专门为该工作设计的工具。在这种情况下,您可以使用stat

$ stat -c '%G %U %y' .
terdon terdon 2015-03-03 19:37:48.007033824 +0200

解释

   -c  --format=FORMAT
          use the specified FORMAT instead of the default; output  a  new‐
          line after each use of FORMAT

   %G     group name of owner
   %U     user name of owner
   %y     time of last modification, human-readable

因此,上述命令将打印当前目录的用户 ( %U)、组 ( %G) 和修改时间 ( %y) .。它还可以打印其他信息,几乎任何您需要的信息。man stat有关详细信息,请参阅。

相关内容