Thursday, August 26, 2010

ls in unix / linux

  1. Use ls without any arguments to display your current directory contents. How many files do you see?
  2. Now use ls with the -a option. How many files do you see this time? Notice that the "new" files all begin with a "dot", which indicates they are "hidden" files.
         ls -a
  3. This command is useful for distinguishing between directories, ordinary files, and executable files. Notice how its output differs from ls without arguments.
         ls -F
  4. Use the command ls -l to obtain a "long" listing of your files. Sample output from this command and an explanation of the information it provides appears below.
    -rwxr-xr-x   1 jsmith   staff         43 Mar 23 18:14 prog1
    -rw-r--r--   1 jsmith   staff      10030 Mar 22 20:41 sample.f
    drwxr-sr-x   2 jsmith   staff        512 Mar 23 18:07 subdir1
    drwxr-sr-x   2 jsmith   staff        512 Mar 23 18:06 subdir2
    drwxr-sr-x   2 jsmith   staff        512 Mar 23 18:06 subdir3
        1        2   3        4           5       6          7
    1 = access modes/permissions
    2 = number of links
    3 = owner
    4 = group
    5 = size (in bytes)
    6 = date/time of last modification
    7 = name of file  
  5. Recursive listings can be very useful. Try both of the commands below. What does the output tell you?
         ls -R
         ls -Rl
  6. Try three options together:
         ls -lFa
More options
-a, --all
do not hide entries starting with .
-A, --almost-all
do not list implied . and ..
print the author of each file
-b, --escape
print octal escapes for nongraphic characters
use SIZE-byte blocks
-B, --ignore-backups
do not list implied entries ending with ~
with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime
list entries by columns
control whether color is used to distinguish file types. WHEN may be `never', `always', or `auto'
-d, --directory
list directory entries instead of contents
-D, --dired
generate output designed for Emacs' dired mode
do not sort, enable -aU, disable -lst
-F, --classify
append indicator (one of */=@|) to entries
across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C
like -l --time-style=full-iso
like -l, but do not list owner
-G, --no-group
inhibit display of group information
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
likewise, but use powers of 1000 not 1024
-H, --dereference-command-line
follow symbolic links on the command line
--indicator-style=WORD append indicator with style WORD to entry names:
none (default), classify (-F), file-type (-p)
-i, --inode
print index number of each file
-I, --ignore=PATTERN
do not list implied entries matching shell PATTERN
like --block-size=1K
use a long listing format (shows permission , owner, size and last modified)
-L, --dereference
when showing file information for a symbolic link, show information for the file the link references rather than for the link itself
fill width with a comma separated list of entries
-n, --numeric-uid-gid
like -l, but list numeric UIDs and GIDs
-N, --literal
print raw entry names (don't treat e.g. control characters specially)
like -l, but do not list group information
-p, --file-type
append indicator (one of /=@|) to entries
-q, --hide-control-chars
print ? instead of non graphic characters
show non graphic characters as-is (default unless program is `ls' and output is a terminal)
-Q, --quote-name
enclose entry names in double quotes
use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape
-r, --reverse
reverse order while sorting
-R, --recursive
list subdirectories recursively
-s, --size
print size of each file, in blocks
sort by file size
extension -X, none -U, size -S, time -t, version -v
status -c, time -t, atime -u, access -u, use -u
show time as WORD instead of modification time: atime, access, use, ctime or status; use specified time as sort key if --sort=time
show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT
FORMAT is interpreted like `date'; if FORMAT is FORMAT1FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with `posix-', STYLE takes effect only outside the POSIX locale
sort by modification time
-T, --tabsize=COLS
assume tab stops at each COLS instead of 8
with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time
do not sort; list entries in directory order
sort by version
-w, --width=COLS
assume screen width instead of current value
list entries by lines instead of by columns
sort alphabetically by entry extension
list one file per line
display this help and exit
output version information and exit


Post a Comment