0

これは本当に基本的なことですが、ls のマニュアル ページでこの情報を見つけることができず、復習が必要です。

$ ls -ld my.dir
drwxr-xr-x    1 smith users      4096 Oct 29  2011 my.dir

drwxr-xr-x の後の数字 1 の意味は何ですか? ディレクトリ my.dir へのハードリンクの数を表していますか? 思い出せない。この情報はどこで確認できますか?

ありがとう、

ジョン・ゴーチ

4

3 に答える 3

3

ウィキペディアで見つけました:

duuugggooo (hard link count) owner group size modification_date name

数字はハードリンク数です。

より UNIX 的なソリューションが必要な場合は、次のように入力しinfo lsます。これにより、次のようなより詳細な情報が得られます。

`-l'
`--format=long'
`--format=verbose'
     In addition to the name of each file, print the file type, file
     mode bits, number of hard links, owner name, group name, size, and
     timestamp (*note Formatting file timestamps::), normally the
     modification time.  Print question marks for information that
     cannot be determined.
于 2012-07-15T08:23:16.433 に答える
3

これは、ファイルの名前付き (ハード リンク) の数です。そして、ここにエラーがあると思います。ディレクトリの場合、ここでは少なくとも 2 である必要があります。

$ touch file
$ ls -l
total 0
-rw-r--r-- 1 igor igor 0 Jul 15 10:24 file
$ ln file file-link
$ ls -l
total 0
-rw-r--r-- 2 igor igor 0 Jul 15 10:24 file
-rw-r--r-- 2 igor igor 0 Jul 15 10:24 file-link
$ mkdir a
$ ls -l
total 0
drwxr-xr-x 2 igor igor 40 Jul 15 10:24 a
-rw-r--r-- 2 igor igor  0 Jul 15 10:24 file
-rw-r--r-- 2 igor igor  0 Jul 15 10:24 file-link

ご覧のとおり、ディレクトリを作成するとすぐに、列に 2 が表示されます。

ディレクトリにサブディレクトリを作成すると、その数が増加します。

$ mkdir a/b
$ ls -ld a
drwxr-xr-x 3 igor igor 60 Jul 15 10:41 a

ご覧のとおり、ディレクトリには 3 つの名前 (「a」、「.」、そのサブディレクトリには「..」) があります。

$ ls -id a ; cd a; ls -id .; ls -id b/..
39754633 a
39754633 .
39754633 b/..

これら 3 つの名前はすべて同じディレクトリ ( inode 39754633) を指しています。

于 2012-07-15T08:24:02.287 に答える
0

ディレクトリの初期リンク カウント値が 2 である理由を説明しようとしています。Pl。これが役立つかどうかを確認してください。

すべてのファイル/ディレクトリは、inode によって識別されます。ハード リンクの数 = inode への参照の数。

ディレクトリ/ファイルが作成されると、1 つのディレクトリ エントリ (形式 - {myname, myinodenumber}) が親ディレクトリに作成されます。これにより、そのファイル/ディレクトリの i ノードの参照カウントが 1 になります。

これとは別にディレクトリが作成されると、ディレクトリ用のスペースも作成されます。これには、デフォルトで、作成されるディレクトリ用と親ディレクトリ用の 2 つのディレクトリ エントリ ({., myinodenumber} 形式の 2 つのエントリ) が必要です。および {.., myparent's sinodenumber}.

現在のディレクトリは「.」で参照されます。親は ".." で参照されます。

したがって、ディレクトリを作成すると、myinodenumber への参照が 2 つあるため、最初のリンク数の値 = 1+1=2 になります。また、親のリンク数の値が 1 増加します。

于 2012-07-15T14:50:16.727 に答える