我知道使用ls -l "目录/目录/文件名"
可以告诉我一个文件的权限。那么如何在目录上执行相同操作呢?
显然我可以在更高层次的目录上使用ls -l
,然后滚动查找到它,但这太麻烦了。如果我在实际的目录上使用ls -l
,它会给出其中文件的权限/信息,而不是目录自身的。
我在Mac OS X 10.5和Linux(Ubuntu Gutsy Gibbon)的终端中都尝试过这种方法,结果都一样。我应该使用某种标志吗?
stat
命令来获取文件/目录的详细信息。 (我这么说是因为您说您正在学习 ^^)stat -f %A 目录或文件名
。 - iled$ ls -ld directory
ls
是列出目录内容的命令。
-
表示命令选项开始。
l
表示请求输出长格式列表,包括文件/目录的权限等信息。
d
表示仅显示指定目录本身的信息,而不显示其下的文件/子目录信息。如果没有指定目录名,则默认显示当前目录的信息。
ls
、namei
、getfacl
和stat
。对于目录,请使用以下命令:[flying@lempstacker ~]$ ls -ldh /tmp
drwxrwxrwt. 23 root root 4.0K Nov 8 15:41 /tmp
[flying@lempstacker ~]$ namei -l /tmp
f: /tmp
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
[flying@lempstacker ~]$ getfacl /tmp
getfacl: Removing leading '/' from absolute path names
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx
[flying@lempstacker ~]$
或者
[flying@lempstacker ~]$ stat -c "%a" /tmp
1777
[flying@lempstacker ~]$ stat -c "%n %a" /tmp
/tmp 1777
[flying@lempstacker ~]$ stat -c "%A" /tmp
drwxrwxrwt
[flying@lempstacker ~]$ stat -c "%n %A" /tmp
/tmp drwxrwxrwt
[flying@lempstacker ~]$
[flying@lempstacker ~]$ ls -lh /tmp/anaconda.log
-rw-r--r-- 1 root root 0 Nov 8 08:31 /tmp/anaconda.log
[flying@lempstacker ~]$ namei -l /tmp/anaconda.log
f: /tmp/anaconda.log
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
-rw-r--r-- root root anaconda.log
[flying@lempstacker ~]$ getfacl /tmp/anaconda.log
getfacl: Removing leading '/' from absolute path names
# file: tmp/anaconda.log
# owner: root
# group: root
user::rw-
group::r--
other::r--
[flying@lempstacker ~]$
或者
[flying@lempstacker ~]$ stat -c "%a" /tmp/anaconda.log
644
[flying@lempstacker ~]$ stat -c "%n %a" /tmp/anaconda.log
/tmp/anaconda.log 644
[flying@lempstacker ~]$ stat -c "%A" /tmp/anaconda.log
-rw-r--r--
[flying@lempstacker ~]$ stat -c "%n %A" /tmp/anaconda.log
/tmp/anaconda.log -rw-r--r--
[flying@lempstacker ~]$
stat -c '%a - %n' directory/*
ls -lead
e选项显示ACL。了解ACL非常重要,可以知道系统上的确切权限。
ls -lstr
这个命令会显示普通的ls视图,包括权限和用户:组。
要检查文件的权限配置,请使用以下命令:
ls –l [file_name]
要检查目录的权限配置,请使用以下命令:
ls –l [Directory-name]