The Quickest Unix Refresher ever 2014
Unix Command Cheat Sheet
Basic linux commands you need to know like breathing air
ls
- list the contents of the current directorypwd
- print the present working directory - tells you where you are currently. The format is something like/home/myID
- just like on most computer systems, this represents leaves on the tree of the file system structure, also called a "path".cd <whereto>
- change the present working directory to<whereto>
You will need to provide a path like /work/myID to change to that directory.- Some special
<wheretos>
:..
(period, period) means "up one level". . means current directory. ~ (tilde) means "my home directory".~myfriend
(tilde "myfriend) means "myfriend's home directory".
- Some special
nano - The text editor we'll be using
df
shows you the top level of the directory structure of the system you're working on, along with how much disk space is availablehead <file>
andtail <file>
shows you the top or bottom 10 lines of a file<file>
more <file>
andless <file>
both display the contents of<file>
in nice ways. Read the bit above aboutman
to figure out how to navigate and search when usingless
file <file>
tells you what kind of file<file>
is.cat <file>
outputs all the contents of<file>
- CAUTION - only use on small files.rm <file>
deletes a file. This is permanent - not a "trash can" deletion.cp <source> <destination>
copies the filesource
to the location and/or file namedestination
}. Using.
(period) means "here, with the same name". *cp -r <dirname> <destination>
will recursively copy the directorydirname
and all its contents to the directorydestination
.scp <user>@<host>:<source> <destination>
works just like cp but copiessource
from the useruser
's directory on remote machinehost
to the local filedestination
mkdir <dirname>
andrmdir <dirname>
make and remove the directory "dirname". This only removes empty directories - "rm -r <dirname>" will remove everything.wget <url>
fetches a file with a valid URL. It's not that common but we'll usewget
to pull data from one of TACC's web-based storage devices.- man <unixcommand> displays the manual page for a unix command.
- > is used to redirect STDOUT and STDERR to files.
Wildcards and special file names
The shell has shorthand to refer to groups of files by allowing wildcards in file names. *
(asterisk) is the most common; it is a wildcard meaning "any length of any characters". Other useful ones are []
to allow for any character in the set <characters>>
For example: ls
*.bam
lists all files in the current directory that end in .bam
Three special file names:
.
(single period) means "this directory"...
(two periods) means "directory above current." Sols -l ..
means "list contents of the parent directory."- ~ (tilde) means "my home directory".
The concept of PATH
On a unix command line, you can only access files that are in your current working directory. If you are in /home/dhivya/dinner and you issue the command:
less lunchMenu
this will work only if lunchMenu is located in /home/dhivya/dinner.
To access files outside your current directory, you can provide the absolute path or relative path to find the file. If lunchMenu is actually located in /home/dhivya/lunch, then you can open it by using one of these two commands:
less /home/dhivya/lunch/lunchMenu
(or)
less ../lunch/lunchMenu
Exception: If the location of a file, most often, an executable is included in your shell enviornment variable called PATH, you can run it from anywhere without specifying where it is.
echo $PATH to see what is in your PATH.
Always use tab to complete file names. If the file is in the current directory or is in your PATH, tab will do auto complete.
Always remember where you are, on a Unix enviornment!
So many options...
When running scripts and software tools, all the inputs you provide to it are called arguments or parameters or options. Each tool/script can be a little different in how it takes its arguments. But typically, they follow a structure.
command <options> inputfile > outputfile
command -option1 value1 -option2 value2 -option3 inputfile > outputfile
- option1 and option2 are types that take a value.
- option3 is a yes or no flag, so it does not take a value.
Example: blastp -query scaffolds.fasta -db TAIR10_pep_20101214 -eval 0.0001 -outfmt 6 -out blastp.out
If you need to find out the options for a command, try any of these (again each tool is different):
- command -h
- command --h
- command -help
- command
BACK TO THE COURSE OUTLINE
Welcome to the University Wiki Service! Please use your IID (yourEID@eid.utexas.edu) when prompted for your email address during login or click here to enter your EID. If you are experiencing any issues loading content on pages, please try these steps to clear your browser cache.