列出单个文件的所有父目录的权限

列出单个文件的所有父目录的权限

假设我有一个位于的文件/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java

我想列出它的所有父目录以查看它们的权限,以便获得如下所示的内容,这样我就可以追踪权限问题。

drwxr-xr-x  7 root     root  4096 Dec 16 17:50 java
dr-xr-xr-x  2 root     root  4096 Dec 16 17:50 bin
dr-xr-xr-x  3 root     root  4096 Dec 16 17:50 jre
drwxr-xr-x 14 root     root  2920 Dec 16 17:50 java-1.6.0-openjdk-1.6.0.0.x86_64
...

这可能吗?

答案1

一个主意:

FILE=/usr/bin/ppmpat

until [ "$FILE" = "/" ]; do
        ls -lda $FILE
        FILE=`dirname $FILE`
done

当然,将 FILE 更改为您想要的文件。顺序确实与您的要求相反(从文件到顶部),但最终您可以通过“tac”运行命令(如果需要);)

我的输出:

-rwxr-xr-x 1 root root 22672 Oct 17  2011 /usr/bin/ppmpat
drwxr-xr-x 2 root root 114688 Dec 19 07:04 /usr/bin
drwxr-xr-x 13 root root 4096 Feb 11  2013 /usr

或者通过管道输入“tac”:

drwxr-xr-x 13 root root 4096 Feb 11  2013 /usr
drwxr-xr-x 2 root root 114688 Dec 19 07:04 /usr/bin
-rwxr-xr-x 1 root root 22672 Oct 17  2011 /usr/bin/ppmpat

相关内容