web-dev-qa-db-ja.com

「-rw-rw-r--。1」のようなUnix / Linuxファイルアクセス許可の後の数は、「ls -l」出力で何を意味しますか

誰でも説明できます-rw-rw-r--. 1とls -lartコマンドに関する「詳細」情報を提供します。

具体的には、数字は何をするのか1ファイルのアクセス許可が意味した後?なぜ変更されるのか、ファイルごとに異なるのはなぜですか?

17
VAR121

いくつかの例:

-rwxrw-r-- 1は、所有者の読み取り、書き込み、および実行権限を持つファイルです。グループには読み取りと書き込みがあり、他のグループには読み取りのみがあります。このデータへのリンクはありません。

drwxr-xr-x 10は8つのファイルがあるディレクトリです。余分な2は.および..。所有者だけがこのディレクトリにファイルを作成でき、他のユーザーはディレクトリにあるファイルにアクセスでき、権限が許可されている場合はそれらのファイルの内容を読み取ることができます。

-r-------- 2は、所有者だけが読み取ることができるが、実行または変更できないファイルです。リンクがあります。つまり、同じデータにアクセスする別のファイル参照がディスク上にあります。したがって、ディスク上の実際の「ファイルコンテンツ」には、それを参照する2つの「ファイル」があります。これらのリンクは、lnを使用して作成されることが多く、-s

そう:

  • 文字1はノードタイプです。通常は-またはdは、ファイルまたはディレクトリを示します。
  • 文字2、3、4は、所有者のread、write、およびe xecuteを示します。
  • 文字5、6、7はグループに対して同じことを行います。
  • 文字8、9、10は他の人にも同じことをします。
  • 後続の許可文字の数は、ノードがファイルの場合はリンクの数、ノードがディレクトリの場合は「サブノード」の数を示します。

章を参照The Long Format of man ls

15
sapht

ファイルの場合これは、ファイルのコンテンツへの ハードリンク の数です。 1はハードリンクがないことを意味し(通常の場合)、数値[〜#〜] n [〜#〜]1はこれと別のを意味しますN-1ファイル名は同じ内容を共有します。

ディレクトリの場合すべてではないがほとんど ファイルシステムは、リンク数2 +[〜#〜 ] n [〜#〜]ここで[〜#〜] n [〜#〜]はサブディレクトリの数です。

5
ndemou

[max @ localhost〜] $ ll

合計4

drwxrwxr-x 2 max max 4096 Sep 25 17:11 zzz

ここで2はリンク数を意味します

今私はzzzの中に3つのディレクトリを作成します

値が5に変更されました

 [max @ localhost〜] $ cd zzz 
 [max @ localhost zzz] $ mkdir abc 
 drwxrwxr-x 5 max max 4096 Sep 25 17:16。
 drwx ------ 5 max max 4096 Sep 25 17:12 .. 
 drwxrwxr-x 2 max max 4096 Sep 25 17:16 a 
 drwxrwxr-x 2 max max 4096 Sep 25 17:16 b 
 drwxrwxr-x 2 max max 4096 Sep 25 17:16 c 

[max @ localhost zzz] $ cd

[max @ localhost〜] $ ll

合計4

drwxrwxr-x 5 max max 4096 Sep 25 17:16 zzz

これは、zzz内に5つのディレクトリが存在するためです。3はabcで、2は隠しディレクトリ...

ファイルを作成した場合、リンク数は何も起こりません

 [max @ localhost zzz] $ touch 1 2 3 
 [max @ localhost zzz] $ ls -al 
 total 20 
 drwxrwxr-x 5 max max 4096 9月25日17時26分。 ------>現在のディレクトリリンク数
 drwx ------ 5 max max 4096 Sep 25 17:12 .. ------>親ディレクトリリンク数
 -rw-rw-r-- 1 max max 0 Sep 25 17:26 1 
-rw-rw-r-- 1 max max 0 Sep 25 17:26 2 
-rw-rw -r-- 1 max max 0 Sep 25 17:26 3 
 drwxrwxr-x 2 max max 4096 Sep 25 17:16 a 
 drwxrwxr-x 2 max max 4096 Sep 25 17:16 b 
 drwxrwxr-x 2 max max 4096 Sep 25 17:16 c 
 [max @ localhost zzz] $ cd 
 [max @ localhost〜] $ ll 
 total 4 
 drwxrwxr-x 5 max max 4096 Sep 25 17:26 zzz 
 

しかし、ディレクトリを削除すると、リンク数が変わります

 [max @ localhost zzz] $ rmdir bc 
 [max @ localhost zzz] $ cd 
 [max @ localhost〜] $ ll 
合計4 
 drwxrwxr-x 3 max max 4096 Sep 25 17:28 zzz 
1
max