如何列出当前路径模式?

Che*_* Yu 7 linux shell

如果当前路径是/data/db_1,并且/data有三个子路径,db_1, db_2, db_3

我想知道db_1的修改,所有者和组。

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

Joh*_*024 8

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

ls -lid .
Run Code Online (Sandbox Code Playgroud)

这个怎么运作:

  • -l要求ls一个很长的目录列表。

  • -i请求lsinode 信息(可选)。

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

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

由于POSIXls支持-l-i以及-d期权,这种方法是便携式的。


ter*_*don 7

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

$ stat -c '%G %U %y' .
terdon terdon 2015-03-03 19:37:48.007033824 +0200
Run Code Online (Sandbox Code Playgroud)

解释

   -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
Run Code Online (Sandbox Code Playgroud)

因此,上面的命令将打印当前目录的用户 ( %U)、组 ( %G) 和修改时间 ( %y) .。它还可以打印其他信息,几乎是您需要的任何信息。查看man stat更多。