如果当前路径是/data/db_1,并且/data有三个子路径,db_1, db_2, db_3。
我想知道db_1的修改,所有者和组。
目前我使用ls -li /data |grep db_1,但我认为必须有更好的方法来做到这一点?
要查看当前目录的权限,无论它是什么,请使用:
ls -lid .
Run Code Online (Sandbox Code Playgroud)
这个怎么运作:
-l要求ls一个很长的目录列表。
-i请求lsinode 信息(可选)。
-d告诉ls报告目录本身,而不是其中的内容。
. 按照 Unix 的惯例,指的是当前目录。
由于POSIXls支持-l,-i以及-d期权,这种方法是便携式的。
根本不要用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更多。