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