Answers:
该命令可能是:
namei -m /home/user/dir/child/file
namei -mo
很好,它也可以给您所有者。
sudo su nginx -s/bin/bash
我认为您可能正在考虑该tree
命令。例如:
$ tree -pufid apps/glassfish3/ | less
apps/glassfish3
[drwxr-xr-x saml ] apps/glassfish3/bin
[drwxr-xr-x saml ] apps/glassfish3/glassfish
[drwxr-xr-x saml ] apps/glassfish3/glassfish/bin
[drwxr-xr-x saml ] apps/glassfish3/glassfish/config
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/doc-files
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation/security
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation/sql
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/decorator
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/ejb
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/ejb/embeddable
...
...
上面的开关执行以下操作:
-p
-权限-u
-用户名/用户名-f
- 完整路径-i
-不要打印缩进线-d
-仅打印目录/home/user/dir/child/file
不是孩子的祖先。
-u
真的有必要吗?似乎这是默认设置(GNU bash 4.2.45下的Tree版本1.6.0)。是否可以使“用户名/用户名”静音?
经过深思熟虑后,我想到了这个
#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
ls -ld $l_path
l_path=$(dirname -- "$l_path")
done
输出看起来像这样
-rw------- 1 tant tant 181016423 Jun 25 23:49:17 2013 /home/tant/test_file
drwxr-xr-x 85 tant tant 5632 Jul 9 19:40:11 2013 /home/tant
lrwxr-xr-x 1 root wheel 8 Sep 4 23:53:27 2012 /home -> usr/home
我希望可以按相反的顺序进行。
根据评论,这是从下往上列出的一种方法:
#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
ls -ld $l_path
l_path=$(dirname -- "$l_path")
done | sed '1!G;h;$!d'
| tac
如果有的话,可以用或来| sed '1!G;h;$!d'
代替。
apropos mode
或apropos permissions
在OS X和Debian上看不到任何启发性的东西。您知道您使用的平台/发行版吗?可能是站点本地命令吗?您可以使用dirname
和编写此类工具的脚本stat
。