ASTR 3520: Introduction to Unix and the command line



I have not found any very good, simple introductions to unix and the command line. For the purpose of this class, I'm going to outline how to do some very simple operations. I think the best way to learn is directly from someone else - watch over someone's shoulder in lab or when working with a group, and ask "How did you do that?" when you see something that you want to know. Feel free to e-mail questions to Adam.

Starting IRAF


On the cosmos machines, you need to be in a terminal (most likely an "xterm") to access IRAF and most useful commands. To do this, right-click on the desktop, navigate to the "Tools" menu, and click "Terminal."
To access IRAF, you need to open an xgterm (X graphics terminal). Type "xgterm &" and press enter.
If you have never used iraf before, you need to create a login.cl file in your home directory. This can be done by running the "mkiraf" script. Type "mkiraf" and press enter.
IRAF needs to run from within a c shell (csh), and while this should happen automatically, it doesn't hurt to be sure. Type "csh" and press enter.
Finally, to open IRAF, type "cl" and press enter. You should now be at an IRAF cl> prompt.

Opening .tar files


To make downloading a large number of files simpler, we put them into a tar archive file. "tarballs" are similar to zip files on windows and are an effective way to put a whole folder into a single file. To extract a tar file, use the command
tar -xf (filename)
If there is a .tgz or .tar.gz file, you can use the command
tar -xzf (filename.tar.gz)
or
gunzip (filename.tar.gz)
tar -xf (filename.tar)

General UNIX instructions



Amy Bender included some UNIX introductions on her ASTR 3510 page:
Brian Keeney's Introduction to Unix (pdf)
Amy Bender's Introduction to Unix (ps)

I'm also a fan of Josh Walawender's Introduction to Unix (pdf)


Understanding SED:

There are many worthwhile advanced unix tools, my favorite being sed, the stream editor, awk, and perl. SED takes lines of text and applies specified edits to them before they are output. AWK similarly runs through lines of text, but is more flexible and complicated. Perl is a programming language that is significantly more powerful than awk and sed, but it requires a little learning to use and is not good for one-liners. However, it is probably the easiest beginner programming language - it is relatively tolerant of being imprecise.

What does the command !sed -e 's/\.FIT/\.fits/g' list_fit > list_fits do?
     The ! at the beginning of the line means that the command is being run in the unix terminal instead of IRAF
     sed is the command
     -e is an optional parameter that is not strictly necessary in this case, it allows you to specify an expression
     's/\.FIT/\.fits/g' is the meat of the code, it is a regular expression.
        s means "substitute" the second string for the first
        /\.FIT/ specifies the first string.
        The /'s specify the boundary of the expression. \ is the escape operation, it is needed because . is treated as a wildcard otherwise
        Similarly,/\.fits/ specifies the second string.
        g means every occurence of the first string on the line will be replaced, not just the first occurrence
     list_fit is your original file with .FIT images listed
      > redirects your output to the second file
     list_fits is your target file with .fits images listed where .FIT were listed previously


Getting started with SED
SED reference
Pat Hartigan's SED page
Pat Hartigan's AWK page
A brief description of the sudo command


ASTR3520 home

Page written by