私はls -l "directory/directory/filename"
を使うことでファイルのパーミッションを教えてくれることを知っています。どのように私はディレクトリに同じことをするのですか?私は明らかに階層のより高いディレクトリでls -l
を使ってそれが見つかるまでただスクロールすることができました、しかしそれはそのような苦痛です。実際のディレクトリでls -l
を使用すると、実際のディレクトリではなく、その中のファイルのアクセス権/情報が表示されます。私はこれをMac OS X 10.5とLinux(Ubuntu Gutsy Gibbon)の両方の端末で試しましたが、それは同じ結果です。使用すべきフラグがありますか?
これが簡単な答えです。
$ ls -ld directory
これが何をするかです:
-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
manpages に興味があるかもしれません。それが、ここにいるすべての人がいい答えを得るところです。
ファイル/ディレクトリに関する詳細情報が必要な場合は、stat
コマンドを使用することもできます。 (あなたが学んでいると言っているとおり、これは正確です^^)
$ ls -ldディレクトリ
(ls) はファイルとディレクトリのリストを示します。 ( - ) は、ファイルが通常のファイルであることを示します。 (l) は長いリストを示します。 (d) はファイルがディレクトリであることを示します。これは基本的に特殊なファイルです。
GNU/Linuxでは、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 ~]$
OS Xでは、次のものを使用できます。
ls -lead
EオプションはACLを表示します。そしてACLはあなたのシステムの正確なパーミッションが何であるかを知るためにとても重要です。
上記の記事に加えて、 "man ls"は "ls"(List)コマンドについての素晴らしいマニュアルをあなたに与えるでしょう。
また、ls -la myFileを使用すると、そのファイルに関するすべての事実が一覧表示されます。
ls -lstr
これはパーミッションとuser:groupを含む通常のlsビューを示しています
これは、その許可とともにファイルを表示します
stat -c '%a - %n' directory/*