Overview of UNIX Commands



  1. at
    execute commands at a later time
    $ at now + 2 minutes
    ls
    job ask.854115763.a will be run at Fri Jan 24 08:22:43 1997
    


  2. awk
    Pattern scanning and processing language
    $ ls -l | awk '{sum+=$5} END { print sum}'
    212744
    


  3. biff
    Notify user if mail arrives and who it is from. Biff is named after the dog at UCB who barked when the postman delivered the mail.

  4. cal
    print calendar
    $ cal 9 1752
      September 1752      
    Sun Mon Tue Wed Thu Fri Sat  
              1   2  14  15  16
     17  18  19  20  21  22  23
     24  25  26  27  28  29  30
    


  5. cat
    Concatenate
    $ cat filein >fileout
    


  6. cd
    Change working directory
    $ cd /etc
    


  7. chgrp
    Change group
    $ chgrp staff little.c
    


  8. chmod
    Change mode
    $ chmod 644 little.c
    


  9. chown
    Change owner and group of a file
    $ chown kochis little.c
    


  10. clear
    clear terminal screen

  11. cp
    Copy
    $ cp /usr/home/instruct/kochis/unix/data? .
    


  12. crontab
    User clock daemon.
    $ crontab -l
    15 6-17 * * *  collector
    


  13. crypt
    Encode/decode using DES.

  14. cut
    Cut out selected fields of each line of a file
    $ date | tr -s ' ' ':' | cut -d: -f4
    07
    


  15. date
    Print and set the date
    $ date
    Wed May 26 10:57:25 CDT 1993
    


  16. df
    Disk free
    $ df
    Filesystem    Total KB    free %used   iused %iused Mounted on
    /dev/hd4         49152   16824   65%    1131     9% /
    /dev/hd2       1515520  625240   58%   25126     6% /usr
    /dev/hd3        327680  304436    7%     309     0% /tmp
    /dev/hd1        163840   44296   72%    2401     5% /home
    /dev/hd5        409600  103116   74%    4537     4% /public
    


  17. diff
    Differential file and directory comparator
    $ diff int.c new.c
    


  18. du
    Summarize disk usage
    $ du .
    328     ./CC
    224     ./Homework
    712     .
    


  19. echo
    Echo arguments
    $ echo $TERM
    vt100
    


  20. expr
    Evaluate arguments as an expression
    $ expr 5 + 6
    11
    


  21. file
    Determine file type
    $ file *
    CC:             directory
    a.out:          executable 
    cgi-lib.pl:     ascii text
    int.c:          c program text
    little:         commands text
    mailfile:       ascii text
    


  22. find
    Find files
    $ find . -name mcq1 -print
    ./Outline/Unix/quizes/mcq1
    
    
    $ find c -type d -print
    c
    c/utility
    c/fmt
    c/acctng
    c/obfuscated
    c/obfuscated/1984
    c/obfuscated/1985
    c/obfuscated/1986
    c/class
    c/class/problems
    
    Sometimes find is the ONLY way to remove a file. 
    For example how many files in the following directory? 
    $ ls
          new
    
    It looks like 1 file, but using the -l option shows two files! 
    $ ls -l
    total 0
    -rw-r--r--   1 stud     staff          0 May 30 12:22 
    -rw-r--r--   1 stud     staff          0 May 30 12:20 new
    
    Since we can't see the name of the first file we assume it was 
    created using special characters. The -b option will show the characters. 
    
    $ ls -1b
    \006
    new 
    
    We can't type the file name as it is an unprintable character. 
    We can obtain the inode of the files with the -I option.
    
    $ ls -1I
    4321 
    4320 new 
    
    Find will let us access a file by it inode number to remove it.
    
    $ find . -inum 4321 -exec rm {} \;
    $ ls -1b
    new
    


  23. finger
    User information lookup program
    $ finger ask
    Login name: ask                         In real life: Allan Kochis
    Directory: /u/ask                       Shell: /bin/ksh
    On since Jan 08 07:29:59 on pts/2 from trd.tea.state.tx
    1 minute 14 seconds Idle Time
    No Plan.
    


  24. grep
    Search a file for a pattern
    $ grep -in title *.html
    a010.html:3:$lt;title> Unix Syllabus</title>
    a020.html:3:<title> Unix Assignments</title>
    a030.html:3:<title> Unix History</title>
    a040.html:3:<title> OS and Shell</title>
    


  25. groups Show group memberships
    $ groups
    staff web
    


  26. head Give first few lines of a file
    $ head -4 a010.html    
    <html>
    <head>
    <title> Unix Syllabus</title>
    </head>
    


  27. hostname Set or print name of current host system
    $ hostname
    testbed.austin.cc.tx.us
    


  28. kill Terminate a process with extreme prejudice
    $ kill -9 67455
    


  29. last Indicate last logins of users and teletypes
    $ last ask 
    ask       hft/0                   Thu Jan 23 14:41 - 14:42  (00:01)
    ask       hft/0                   Thu Jan 23 14:17 - 14:31  (00:13)
    


  30. ln
    make links
    Symbolic (soft) link.
    $ ln -s fileX fileY
    $ ls -il file?
    -rw-r--r--   1 root     system  0 Oct 26 11:12 fileX
    lrwxrwxrwx   1 root     system  5 Oct 26 11:12 fileY -> fileX
    

    Hard Link.
    $ ln fileX fileY
    $ ls -il file?
    -rw-r--r--   2 root     system  0 Oct 26 11:13 fileX
    -rw-r--r--   2 root     system  0 Oct 26 11:13 fileY
    


  31. lpq
    Spool queue examination program
    $ lpq
    Queue   Dev   Status    Job Files  User         PP %   Blks  Cp Rnk
    ------- ----- --------- --- ----------------- ---- -- ----- --- ---
    bsh     bshde READY    
    


  32. lp
    Off line print
    $ lp little.c
    


  33. ls
    List contents of directory
    $ ls file?
    fileX  fileY
    


  34. mail
    Send and receive mail
    $ mail -s"Test" kochis
    Hi  there
    This is a test message
    ^d
    


  35. man Display on line reference manual information
    $ man awk
    AWK(1)
    NAME
    awk - Scans and processes patterns
    SYNOPSIS
    awk       [-Fc] prog [parameters] [files]
    awk       [-Fc] -f file [parameters] [files]
    DESCRIPTION
    The awk command scans each input file for lines
    


  36. mkdir
    Make a directory
    $ mkdir new
    


  37. more,pg
    File perusal filter for CRT viewing
    $ more index.html
    


  38. mv
    Move or rename files
    $ mv index.html index.old
    


  39. nice
    Run a command at low priority (sh only)
    $ nice sort <filein >fileout &
    


  40. od
    Octal, decimal, hex, ascii dump
    $ od a.out | head -2
    0000000  000737 000007 030665 155012 000000 004042 000000 000076
    0000020  000110 010002 000413 000001 000000 000554 000000 000070
    


  41. pagesize
    Print system page size
    $ pagesize
    4096
    


  42. passwd
    Change login password

  43. paste
    Merge same lines of several files or subsequent lines of one file

  44. perl
    Practical Extraction and Report Language

  45. pine
    User menu driven mail interface.

  46. ps
    Process status
    $ ps
    PID   TTY   TIME COMMAND
    98871 p044  0:00 sh
    94236 p044  0:00 csh
    18656 p044  0:00 ps
    


  47. pwd
    Working directory name
    $pwd
    /home/student/student01
    


  48. quota
    Display disk usage and limits
    $ quota -v
    Disk quotas for student (uid 1123):
    Filesystem     usage  quota  limit 
    /fs1            9530  40000  40200      
    /fs2               6  10000  10050                  
    


  49. rm,rmdir
    Remove (unlink) files or directories

  50. sed
    Stream editor (non interactive text editor)

  51. sleep
    Suspend execution for an interval
    $ date; sleep 10; date
    Wed May 26 11:16:20 CDT 1993
    Wed May 26 11:16:30 CDT 1993
    


  52. sort
    Sort or merge files
    $ du .
    110384  ./96
    25316   ./94
    18156   ./93
    18420   ./92
    12976   ./91
    4724    ./90
    119348  ./97
    
    $ du . | sort -n
    4724    ./90
    12976   ./91
    15632   ./95
    18156   ./93
    18420   ./92
    25316   ./94
    110384  ./96
    119348  ./97
    


  53. stty
    Set terminal options
    $ stty
    speed 9600 baud; -parity hupcl 
    brkint -inpck -istrip icrnl -ixon onlcr tab3 
    echo echoe echok 
    


  54. tail
    Output the last part of a file
    $ tr -sc '[A-Z][a-z]' '[\n*]' <a010.html | sort | uniq -c | sort -n | tail -3
    148 center
    192 Align
    384 TD
    


  55. tar
    Process tape archives. Tar will convert a directory structure to a flat file or expand a flat file to a directory structure.
    $ tar -xvf unix.tar 
    x UNIX
    x UNIX/vitutor
    x UNIX/vitutor/a.out, 90884 bytes, 178 tape blocks
    x UNIX/vitutor/vitutor.c, 56076 bytes, 110 tape blocks
    x UNIX/FNG
    x UNIX/FNG/Oct.98, 15 bytes, 1 tape blocks
    x UNIX/FNG/memo.09.10.98, 25 bytes, 1 tape blocks
    x UNIX/FNG/bridge.data, 15 bytes, 1 tape blocks
    x UNIX/FNG/route.data, 493 bytes, 1 tape blocks
    x UNIX/FNG/data2 , 55 bytes, 1 tape blocks
    x UNIX/a.out, 3525 bytes, 7 tape blocks
    x UNIX/files
    x UNIX/files/data1, 114 bytes, 1 tape blocks
    x UNIX/files/data2, 221 bytes, 1 tape blocks
    x UNIX/makeit.c, 353 bytes, 1 tape blocks 
    


  56. tee
    Pipe fitting
    $ echo hello | tee junk
    hello
    $ cat junk
    hello
    


  57. time
    Time a command
    $ time ls -al /usr >/dev/null
    real 0m0.12s
    user 0m0.01s
    sys  0m0.02s
    


  58. tr
    Translate characters
    $ who | cut -c1-8 | tr '[a-z]' '[A-Z]'
    JONES
    FRED
    STUDENT
    SMITH
    
    $ who | tr -s ' ' ' '
    jones ttyp1 Jun 11 16:32
    fred ttyp9 Jun 11 17:46
    student ttypa Jun 6 09:14
    smith ttypd Jun 7 10:04
    
    $ who | tr -d '[0-9]'
    jones    ttyp   Jun  :
    fred     ttyp   Jun  : 
    


  59. uniq
    Report repeated lines in a file (See tail for an example).

  60. uptime
    Show how long system has been up
    $ uptime
    11:21am up 3 days, 22:03, 66 users, load average: 20.17 20.09 20.76
    


  61. vi,view
    screen oriented (visual) text editors based on ex

  62. wc
    Word count
    $ wc find.txt
    22     101     717 find.txt
    


  63. which
    Locate a program file including aliases and paths (csh only)
    % which grep
    /bin/grep
    


  64. who
    Who is on the system
    $ who
    student1      lft0        Oct 14 08:24                    
    student2      pts/3       Oct 14 08:26
    

© Allan Kochis Last revision 3/16/2001