Unix Crib Sheet (Linux and SGI)
Unix is the operating system running on all of the
facility's workstations and servers. The SGIs run their own version of
Unix called IRIX, while the Pentium 4 workstations run the public-domain
version of Unix called LINUX. The underlying operating system in Apple's
OSX is also Unix - try opening Terminal.app to get a shell.
Unix has a number of useful features:
- Simple User Interface - many things can be achieved quickly via the command line.
- Multiuser - multiple users have distinct data spaces to store their files.
- Multitasking - multiple processes can use the machine at the same time.
- Protected Memory - processes cannot overwrite each other's memory space.
The latter feature is especially useful because it's the habit of
other applications overwriting operating system memory that makes
PCs and older Macs crash with monotonous regularity. Apple's new OSX
operating system has
an underlying Unix core, thus providing all the above advantages.
PC hardware running Linux crashes about once every 3-4 months,
at most. A PC running Windows crashes about 10x more often.
Other sources of beginner Unix guides are:
The Unix Filesystem
Basic File Manipulation Commands
Command | Description | Usage example>
cd | Change directory | cd subdir
|
---|
pwd | Print working/current directory | pwd
|
---|
mkdir | Make directory | mkdir subdir
|
---|
rmdir | Remove (delete) directory | rmdir subdir
|
---|
ls | List directory contents | ls *.img
|
---|
cp | Copy (duplicate) file | cp a.pdb b.pdb
|
---|
rm | Delete file (permanently!) | rm a.pdb
|
---|
mv | Move (rename) file | mv a.pdb b.pdb
|
---|
cat | Concatenate (list) file to screen | cat a.pdb
|
---|
more | Page through a file | more a.pdb
|
---|
head | Show top of file | head a.pdb
|
---|
tail | Show end of file | tail a.pdb
|
---|
grep | Search for string in file | grep "HIS" a.pdb
|
---|
file | Try and determine type of file | file /bin/ls
|
---|
|
---|
Home directory is the top of your personal file tree.
Abbrevations for home are "~" for your home and "~user" for the home
directory of "user". The directory "." is always the current
directory. The directory ".." is the parent directory.
Directories in a filename are separated with the forward slash "/"
in Unix (":" in a Mac, "\" in Windows/DOS) e.g. xray0 is synonymous
with /ximpact1/usr1/phil. There is no Trash in Unix. Once you delete
a file it is gone forever.
Simple Shell Commands
alias | Make command alias | alias ls 'ls -alF'
|
---|
echo | Echo string to output | echo "This data is bad"
|
---|
exit | Exit the shell | exit
|
---|
history | Show command history | history
|
---|
logout | Exit the (login) shell | logout
|
---|
set | Set variable to value | set a = 1
|
---|
setenv | Set environment variable to value | setenv DISPLAY ximpact1:0
|
---|
See xray0/.cshrc for examples of this usage, and other stuff.
More Simple Unix Commands
date | Show date and time | date
|
---|
df | Display filesystem data | df -k
|
---|
du | Disk usage | du -sk *
|
---|
man | Manual (help) | man cat
|
---|
script | Record EVERYTHING you type/see | script really_big_logfile
|
---|
who | Who is logged into the system | who
|
---|
whoami | Who the Hell am I ? | whoami
|
---|
which | Which command will I execute? | which denzo
|
---|
Job Control
& | Run process in background | gzip *img &
|
---|
^Z | Suspend (stop) process | ^Z
|
---|
^C | Interrupt (kill) process | ^C
|
---|
bg | Run (suspended) process in background | bg
|
---|
fg | Run process in foreground | fg
|
---|
ps | Show processes | ps, ps -efl
|
---|
jobs | Show jobs (process under shell control) | jobs
|
---|
kill | Kill process | kill process_id
|
---|
killall | Kill all named processes | killall netscape
|
---|
nice | Run processes at reduced priority | nice gzip *img
|
---|
If a process is running in the foreground, the shell waits
for it to complete before accepting more command input. In the
background, the process runs semi-independently of the shell
- even if the shell exits the process keeps running (you may need "set nohup"
in your .cshrc for this).
File Redirection
> | Write output to file | ls > listing
|
---|
>> | Append output to file | ls .. >> listing
|
---|
| | Piple output to input of next command | ls * | grep img
|
---|
< | Take input from file | molscript < ms.in
|
---|
<< String | Read data from input until "String" | peek2 << EOF
|
---|
If you have noclobber set in tcsh, then > and >> will not
overwrite existing files or create new ones. Use the forms >! and
>>! to override this option.
Printing
lp | Print to default printer | lp mydata.ps
|
---|
cancel | Cancel print job | cancel request-ID
|
---|
lpstat | Show status of printer queue | lpstat -PHP4si
|
---|
Advanced File Manipulation
chown | Change owner | chown phil.user myfile.dat
|
---|
chmod | Change mode (permissions) | chmod a+x my_script_file.csh
|
---|
ln | Soft or hard links | ln -s ../mbsd39.fobs my_local_clone.fobs
|
---|
cut | Cut file by columns | cut -c1-30 file1
|
---|
paste | Paste files back together by columns | paste file1 file2
|
---|
diff | Show file differences | diff peek2.f peek2_old.f
|
---|
sort | Sort a file | sort -n +7 -8 water.pdb
|
---|
tee | Copy output to screen and file simultaneously | ls | tee listing
|
---|
touch | Create empty file/update access time | touch file1
|
---|
wc | Count characters/words/lines | wc file1
|
---|
find | Powerful file finder | find . -size +3000 -print
|
---|
Use of any of these commands without consulting the manual first (e.g.
"man find") is likely to result in disaster.
File Transfer and Archiving
gzip | Efficient file compression | gzip *.img ; gunzip *.img.gz
|
---|
compress | Less efficient file compression | compress *.img ; uncompress *.img.Z
|
---|
tar | Make tape/disk archive | tar -cvf /dev/tape my_data/.
|
---|
ftp | File transfer between remote machines | ftp xray2.mskcc.org
|
---|
telnet | Login to remote machine | telnet xray2.mskcc.org
|
---|
Simple Graphics Commands - LINUX
acroread | Adobe Acrobat Reader (PDF) | acroread paper.pdf
|
---|
gs | View Postscript/PDF files | gs paper.ps
|
---|
display | Display graphics file | display image.jpg
|
---|
convert | Convert between file formats | convert image.jpg image.pict
|
---|
gimp | Photoshop-like image manipulation | gimp
|
---|
Simple Graphics Commands - SGI
acroread | Adobe Acrobat Reader (PDF) | acroread paper.pdf
|
---|
xpsview | View Postscript files | xpsview paper.ps
|
---|
display | Display graphics file | display image.jpg
|
---|
xv | Display graphics file | xv image.jpg
|
---|
ipaste | Display graphics file (SGI format only) | ipaste image.sgi
|
---|
convert | Convert between file formats | convert image.jpg image.pict
|
---|
imgworks | SGI-format image manipulation | imgworks image.sgi
|
---|
cedit | Interactive color editor | cedit
|
---|
makemap | Restore colormap after cedit mangling | makemap
|
---|