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 ..
--author
print the author of each file
-b, --escape
print octal escapes for nongraphic characters
--block-size=SIZE
use SIZE-byte blocks
-B, --ignore-backups
do not list implied entries ending with ~
-c
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
-C
list entries by columns
--color[=WHEN]
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
-f
do not sort, enable -aU, disable -lst
-F, --classify
append indicator (one of */=@|) to entries
--format=WORD
across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C
--full-time
like -l --time-style=full-iso
-g
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)
--si
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
-k
like --block-size=1K
-l
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
-m
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)
-o
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-control-chars
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
--quoting-style=WORD
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
-S
sort by file size
--sort=WORD
extension -X, none -U, size -S, time -t, version -v
status -c, time -t, atime -u, access -u, use -u
--time=WORD
show time as WORD instead of modification time: atime, access, use, ctime or status; use specified time as sort key if --sort=time
--time-style=STYLE
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
-t
sort by modification time
-T, --tabsize=COLS
assume tab stops at each COLS instead of 8
-u
with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time
-U
do not sort; list entries in directory order
-v
sort by version
-w, --width=COLS
assume screen width instead of current value
-x
list entries by lines instead of by columns
-X
sort alphabetically by entry extension
-1
list one file per line
--help
display this help and exit
--version
output version information and exit

0 comments:

Post a Comment