What is ... ?

a brief overview of Unix, tcsh and AFNI

Descriptions, examples, comments, sample commands, syntax and getting help...


Unix

What is Unix?

   - Unix is a type of operating system (a standard), first developed in 1969

Examples of Unix operating systems:

   - Solaris, OpenSolaris, Irix, AIX, HP-UX, OS X, Linux, FreeBSD
     (actually, Linux and FreeBSD are not formally Unix, but are very similar)

Comments:

   - has graphical environment, but strength is in command-line capabilities
   - hundreds or more usually thousands of programs come with systems
     (not just a handful that have screen icons)

Sample commands:

   - ls, cat, less, mv, cp, date, ssh, vi, rm

Syntax (characters that mean something special):

   - variables ($), quotes (', ", `), wildcards (*, ?, []),
     pipes (|), redirection (>)

Getting help:

   - 'man' is short for manual, the on-line manual for unix commands

         man ls
         man less
         man man

   - 'info' is a newer help system

   - books, having one that also covers shell programming can be helpful
     (an in our case, the focus is on tcsh rather than bash)



tcsh

What is tcsh?

   - the T-shell is a Unix shell: a command-line interpreter

      - when user types a command and hits Enter, the shell
        processes that command and decides what to do:

         - processes special characters
         - decides what program to run, if any
         - runs the program, passing along any options and parameters

Examples of similar shell programs (but different from tcsh):

   - sh, bash, csh, ksh, zsh

Comments:

   - tcsh is just one of many common Unix programs
   - the actual program (a file on disk) is generally /bin/tcsh
   - has own syntax
   - has own sub-commands (cd, echo, set, ...)
   - not has powerful as bash, but more simple and readable

Sample commands:

   - tcsh has many sub-commands: commands that do not exist on the system,
     but are just part of the shell, e.g.

        - cd, echo, set, setenv, alias, foreach, while, bg, exit, ...

   - for example, 'cd' is not a program, it just tells the shell that you want
     to be "sitting in a new location"

Syntax (characters that mean something special):

   - home directories (~), history (!), jobs (%), redirecting stderr (>&)

Getting help:

   - since 'tcsh' is just a Unix program, "man tcsh" is one way to get help

         man tcsh

   - again, consider getting a book that covers tcsh



AFNI

What is AFNI?

   - AFNI is a suite of data analysis and viewing tools
   - well over 500 programs, scripts and plugins

Examples of similar packages (but different from AFNI):

   - FSL, SPM, just to name a couple

Comments:

   - good for viewing (and hopefully understanding) data
   - written on top of X11 and for Unix systems
   - does not work directly on Windows (can use a virtual system)
   - is free (costs nothing)
   - is open source (can see and modify the code)

Sample commands:

   - afni, suma, 3dcalc, afni_proc.py, 3dDeconvolve

Syntax (characters that mean something special):

   - sub-brick selection ([$,..]), range (<>), index ({}), transposition (')
   - many programs have their own special syntax

Getting help:

   - virtually every AFNI program provides help using the -help option, e.g.
        afni_proc.py -help
        afni_proc.py -help | less
        afni_proc.py -h_view
   - this output is also available at: help: all AFNI programs
   - course material is available at: help: course handouts
   - class data is available at: AFNI data packages