John Goche
John Goche

Reputation: 433

Basic Unix refresher inquiry: ls -ld

I know this is really basic, but I cannot find this information in the ls man page, and need a refresher:

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

What is the meaning of the number 1 after drwxr-xr-x ? Does it represent the number of hard links to the direcory my.dir? I cannot remember. Where can I find this information?

Thanks,

John Goche

Upvotes: 1

Views: 5180

Answers (3)

Tanmoy Bandyopadhyay
Tanmoy Bandyopadhyay

Reputation: 985

Trying to explain why for directory the initial link count value =2. Pl. see if this helps.

Any file/directory is indentified by an inode. Number of Hard Links = Number of references to the inode.

When a directory/file is created, one directory entry (of the form - {myname, myinodenumber}) is created in the parent directory. This makes the reference count of the inode for that file/directory =1.

Now when a directory is created apart from this the space for directory is also created which by default should be having two directory entries one for the directory which is created and another for the parent directory that is two entries of the form {., myinodenumber} and {.., myparent'sinodenumber}.

Current directory is referred by "." and the parent is referred by ".." .

So when we create a directory the initial number of Links' value = 1+1=2, since there are two references to myinodenumber. And the parent's number of link value is increased by 1.

Upvotes: 0

Igor Chubin
Igor Chubin

Reputation: 64603

That is the number of named (hard links) of the file. And I suppose, there is an error here. That must be at least 2 here for a directory.

$ 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

As you can see, as soon as you make a directory, you get 2 at the column.

When you make subdirectories in a directory, the number increases:

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

As you can see the directory has now three names ('a', '.' in it, and '..' in its subdirectory):

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

All these three names point to the same directory (inode 39754633).

Upvotes: 3

arx
arx

Reputation: 16906

I found it on Wikipedia:

duuugggooo (hard link count) owner group size modification_date name

The number is the hard link count.

If you want a more UNIXy solution, type info ls. This gives more detailed information including:

`-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.

Upvotes: 4

Related Questions