Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what does terminal command: ls -l show?

I know that it outputs the "long" version but what do each of the sections mean?

On my mac, when I type in

ls -l /Users  

I get

total 0 drwxr-xr-x+ 33 MaxHarris  staff  1122 Jul  1 14:06 MaxHarris drwxrwxrwt   8 root       wheel   272 May 20 13:26 Shared drwxr-xr-x+ 14 admin      staff   476 May 17 11:25 admin drwxr-xr-x+ 44 hugger     staff  1496 Mar 17 21:13 hugger 

I know that the first line it the permissions, although I don't know what the order is. It would be great if that could be explained too. Then whats the number after it?

Basically, what do each one of these things mean? Why are the usernames written twice sometimes and don't match other times?

like image 357
mharris7190 Avatar asked Jul 10 '13 18:07

mharris7190


2 Answers

The option '-l' tells the command to use a long list format. It gives back several columns wich correspond to:

  • Permissions
  • Number of hardlinks
  • File owner
  • File group
  • File size
  • Modification time
  • Filename

The first letter in the permissions column show the file's type. A 'd' means a directory and a '-' means a normal file (there are other characters, but those are the basic ones). The next nine characters are divided into 3 groups, each one a permission. Each letter in a group correspond to the read, write and execute permission, and each group correspond to the owner of the file, the group of the file and then for everyone else.

  • [ File type ][ Owner permissions ][ Group permissions ][ Everyone permissions ]

The characters can be one of four options:

  • r = read permission
  • w = write permission
  • x = execute permission
  • - = no permission

Finally, the "+" at the end means some extended permissions.

like image 146
rodelarivera Avatar answered Sep 18 '22 14:09

rodelarivera


If you type the command

$ man ls 

You’ll get the documentation for ls, which says in part:

The Long Format
If the -l option is given, the following information is displayed for each file: file mode, number of links, owner name, group name, number of bytes in the file, abbreviated month, day-of-month file was last modified, hour file last modified, minute file last modified, and the pathname. In addition, for each directory whose contents are displayed, the total number of 512-byte blocks used by the files in the directory is displayed on a line by itself, immediately before the information for the files in the directory. If the file or directory has extended attributes, the permissions field printed by the -l option is followed by a '@' character. Otherwise, if the file or directory has extended security information (such as an access control list), the permissions field printed by the -l option is followed by a '+' character.

The man command is short for “manual”, and the articles it shows are called “man pages”; try running man manpages to learn even more about them.

like image 31
andrewdotn Avatar answered Sep 18 '22 14:09

andrewdotn