introduction to unix - accre vanderbilt · introduction to unix 2 outline overview of the unix...
TRANSCRIPT
![Page 1: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/1.jpg)
Introduction to Unix
2007 May
http://www.accre.vanderbilt.edu
![Page 2: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/2.jpg)
Introduction to Unix 2
Outline
Overview of the Unix Operating System (slides 3-4)
Shell, CL, Basic Ops, Help, Special Characters (slides 5-15)
Files, Directories, & Access Rights (slides 16-17)
Defining Your Environment (slides 18-24)
Text Editors (slides 25)
Input/Output Redirection - Pipelines & Filters (slides 26-38)
Processes & Multitasking (slides 39-40)
Scripting (slides 41-44)
Compressing & Archiving (slides 45-46)
Getting Help from ACCRE (slide 47) ; O’Reilly books (slide 48)
screen, a nice Unix tool (slide 49)
![Page 3: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/3.jpg)
Introduction to Unix 3
What is UNIX?
UNIX is an operating system like Windows orMac OS X
UNIX was originally created in 1971 by KenThompson and Dennis Ritchie of AT&T BellLabs
It was designed to be a portable, multitasking,multiuser operating system
UNIX is a “standard”, i.e. there isn't *a* UNIX,but multiple implementations of the UNIXdesign (Linux, BSD, Solaris, AIX, OS X)
![Page 4: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/4.jpg)
Introduction to Unix 4
All UNIX's aren't the same
All UNIX's share a common design philosophyof simplicity
Each UNIX usually develops its own niche orspecialization
Mac OS X: “User-friendly” desktop• Red Hat Linux: “Easy” workstation, simple server
• Debian Linux: “Advanced” workstation and server
• FreeBSD: High-performance server
• OpenBSD: Security and network applications
![Page 5: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/5.jpg)
Introduction to Unix 5
Unix Shell and CL The shell is an interpreter used to communicate with
the OS interactively on the command line (CL)
The cluster has two “flavors”: tcsh and bash. Onlinemanuals and FAQ:
http://www.gnu.org/software/bash/
http://www.tcsh.org/Home
For historical reasons, tcsh is the default shell for allusers on VAMPIRE (the ACCRE cluster)
If you wish to change your default shell, use the chshcommand on vmpsched
CL prompt> chsh -s /bin/bash
![Page 6: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/6.jpg)
Introduction to Unix 6
CL Operations and Files
There are Unix commands (same function inany shell) and shell built-in commands
Commands entered at the CL prompt haveoptions and arguments
Files and directories are the primary abstractionin UNIX (similar to icons and folders inWindows)
Directories are files with information on theircontents
Some useful Unix commands for interactingwith files and directories:
![Page 7: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/7.jpg)
Introduction to Unix 7
Basic Commands
• pwd - print working directory• ls - list contents of directories• mkdir - make (create) new directories• cd - change the current directory
• cp - copy files or directories• mv - move files or directories• rm - remove (delete) files or directories
• cat - concatenate file contents• more/less - scroll file contents• file - show file type
simple bash examples with CL editing
![Page 8: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/8.jpg)
Introduction to Unix 8
Command Help
Unix traditionally includes instructions and helpfiles (manual pages) on most commands andAPI's and their options. To access a manpage:
CL prompt> man foo
For csh/tcsh and sh/bash built-in commands:
CL prompt> man builtin
Some commands have command line help (usagehints or --help)
Other sources of help: /usr/share/doc, Google
![Page 9: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/9.jpg)
Introduction to Unix 9
Basic CL & Editing• <tab> complete filenames and commands on CL• up/down arrows scroll CL history• left/right scrolls back and forth on CL• history shell command lists CL history (also tcsh)
functionCL (event) repeat
(function described on next slide):
repeat most recent, but substitute new forfirst old^old^new^
repeat nth event (see history)!n
repeat nth previous event!-n
repeat last containing string!?string
repeat last starting with string!string
repeat previous command!!
![Page 10: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/10.jpg)
Introduction to Unix 10
Basic CL & Editing
• “:” allows more complex CL editing, e. g., selectlast event containing specific word, replace word,then execute command:
CL prompt> !?old:s/old/new/
This repeats the last event containing old, butsubstitutes new for old
![Page 11: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/11.jpg)
Introduction to Unix 11
Basic CL & Editing
temporary interrupt (can also send to background, slide38)
^Z
cancel current CL, return prompt^C
delete under cursor^D
delete to end of line^K
back 1 word<esc>B
back 1 character^B
forward 1 word<esc>F
forward 1 character^F
end of line^E
beginning of line^A
next line^N
previous line^P
function on command linekeystroke
![Page 12: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/12.jpg)
Introduction to Unix 12
Files, Directories, SpecialCharacters
Files to care about• hidden (filenames begin with a dot, list with ls -a),
e. g., user initialization, .login, .bashrc, .cshrc, …• global initialization, e. g., /etc/bashrc• devices• symbolic links
/ = top root directory
A few special Unix shortcuts for file/directory names/paths:• ~ = expands word to your home directory path• ~username = home directory of any username• . = current directory• .. = parent directory
![Page 13: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/13.jpg)
Introduction to Unix 13
Files, Directories, SpecialCharacters
Blank space
Shell executes command in background (slide 31)&
Quote following special character as normal string(e. g., filnames containing spaces, or slide 17)
\
Examples throughout presentation (esp. scripts)“ ` { } #
Separates commands (see slide 15);
more special characters
Used within [] denotes range of characters-
Enclose set of characters, match any one by position[ ]
Match any single character in filename?
Match any character in filename*
wildcards
N. b., best to avoid using these characters in filenames
![Page 14: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/14.jpg)
Introduction to Unix 14
Files, Directories, SpecialCharacters
E. g., globbing (expanding wildcard to match pattern):
CL prompt> ls -1 *file1file2~file3
CL prompt> ls ?ile1file1
CL prompt> ls file[1-2]file1
CL prompt> ls file[a-z0-9]~file2~
![Page 15: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/15.jpg)
Introduction to Unix 15
Multiple commands and ;
You can use the “;” operator to append manycommands on one line:
CL prompt> date ; uptime
Tue May 8 11:41:26 CDT 2007
11:41 up 8 days, 22:26, 1 user, load averages:0.81 0.69 0.67
![Page 16: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/16.jpg)
Introduction to Unix 16
File Permissions
Files/directories have an owner and a group
The owner can grant read/write/executepermissions to three groups (the user, the user'sgroup, and all others on the system)
prompt> ls -l /home/usernametotal 16drwxr-xr-x 2 username group 8192 May 1 15:59 certs/drwxr-xr-x 3 username group 8192 Sep 15 17:28 classes/
![Page 17: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/17.jpg)
Introduction to Unix 17
File Permissions
These permissions are modified by the chmodcommand, e. g. :
CL prompt> chmod g+rx file
permits other users in the owner’s group toread and execute file
![Page 18: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/18.jpg)
Introduction to Unix 18
Startup Files, Variables, Aliases
Two types, environment and shell, can be(re)initialized at any time.
If defined in .login, environment variablesare set upon login
If defined in shell run command files (e. g.,.bashrc, .cshrc, .tcshrc), shellvariables set upon each instance of shell
Frequently used variables should be set inthese files
![Page 19: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/19.jpg)
Introduction to Unix 19
Startup Files, Variables, Aliases
default when spawned by other programsEDITOR
login nameUSER
terminal typeTERM
default printerPRINTER
directories containing commandsPATH
operating systemOSTYPE
name of computerHOST
home directory pathHOME
screen for X windows displayDISPLAY
machine architectureARCH
functionname
A few common variables common to both shells:
![Page 20: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/20.jpg)
Introduction to Unix 20
Startup Files, Variables, Aliases
Important environment variables:
• PATH - points to executables
• LD_LIBRARY_PATH – points to libraries
Reference a variable with $ or ${}
echo and printenv commands:
CL prompt> echo $PATHCL prompt> echo ${PATH}CL prompt> printenv PATH
![Page 21: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/21.jpg)
Introduction to Unix 21
Setting Variables
To assign a value to a variable (shells have different syntax):
Example of adding to your PATH:
rehash lets shell know PATH was just updated
set FOO = “bar”
setenv FOO “bar”tcsh
export FOO=bar
FOO=bar ; export FOObash
set path = ( $path $home/bin:/directory2 )
setenv PATH “${PATH}:${HOME}/bin:/directory2”tcsh
export PATH=$PATH:$HOME/bin:/directory2bash
![Page 22: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/22.jpg)
Introduction to Unix 22
Setting Variables
Example of setting a new variable to the outputvalue of a command:
CL prompt> current_date_time=`date`CL prompt> echo $current_date_timeMon Apr 23 14:15:35 CDT 2007
Another example (note pwd vs. $PWD):CL prompt> echo "I am in `pwd` on $HOST”I am in /home/username on vmps08CL prompt> echo "I am in $PWD on $HOST”I am in /home/username on vmps08
![Page 23: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/23.jpg)
Introduction to Unix 23
Setting Command Aliases
Shorten frequently used or lengthy commands:• tsch syntax:
alias rm 'rm -i’
• bash syntax:alias rm='rm -i’
• other useful aliases:alias cp='cp -i'alias mv='mv -i'alias ls='ls --color-tty -F'alias ll='ls -laF'
![Page 24: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/24.jpg)
Introduction to Unix 24
Setting Command Aliases
Return to default:
• “backslash” temporarily returns to default:
\rm junk
• unalias returns default for rest of session:unalias rm
rm junk
![Page 25: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/25.jpg)
Introduction to Unix 25
Text Editors on Cluster
Fairly basic:
Nano (http://www.nano-editor.org/)
More advanced:
Vim (http://www.vim.org/)
Emacs (http://www.gnu.org/software/emacs/)
Create/edit a new file example.txt
![Page 26: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/26.jpg)
Introduction to Unix 26
Input/Output Redirection
Most programs have three I/O streams:
• stdin – standard input
• stdout – standard output
• stderr – standard error.
They all default to the console ("console"means the keyboard for the input and thescreen for the output)
![Page 27: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/27.jpg)
Introduction to Unix 27
Input/Output Redirection
To redirect stdout of a program to a file:bash: myprogram 1> output.log
tcsh: myprogram > output.log
To redirect stderr of a program to a file: bash: myprogram 2> error.log
To redirect both stdout and stderr to same file (ordermatters): bash: myprogram > combined.log 2>&1
To redirect both stdout and stderr separately:(myprogram >output.log) >&error.log
![Page 28: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/28.jpg)
Introduction to Unix 28
Input/Output Redirection
( comm > ofile ) >& efilestdout/err to 2 files
comm < ifile > ofile 2> efilestderr to third file
comm < ifile > filecomm < ifile > fileredirect stdin/out
comm <<ccomm <<cstdin until “c”
comm >> ofile 2>&1comm >>& ofilestdout/err to end
comm 2>> ofilestderr to end of file
comm >> ofilecomm >> ofilestdout to end of file
comm < ifilecomm < ifilestdin from file
comm >ofile 2>&1
comm &> ofilecomm >& ofilestdout/err to file
comm 2> filestderr to file
comm > filecomm >ofilestdout to file
bashtcshfunction
![Page 29: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/29.jpg)
Introduction to Unix 29
Input/Output Redirection
Example of “>>” operator to appendinformation to a file:
prompt> date > foo
prompt> cat fooWed Aug 31 17:27:52 CDT 2005
prompt> date >> foo
prompt> cat fooWed Aug 31 17:27:52 CDT 2005Wed Aug 31 17:27:56 CDT 2005
![Page 30: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/30.jpg)
Introduction to Unix 30
Input/Output Redirection
Use of single back quotes to substitute in thevalue of another command:
Compare to slides 14 and 22:
prompt> ls `find . -name “file[a-z0-9]~”`file2~
prompt> echo `find . -name “file[a-z0-9]~”`file2~
![Page 31: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/31.jpg)
Introduction to Unix 31
Input/Output Redirection
script to redirect CL stdin/out to recordsession to a file (however, formatting not sonice)
To redirect output to “nowhere” use the nulldevice, /dev/null
To redirect stdout to null device (tcsh/bash):myprogram >/dev/null
To redirect stdout and stderr to null (bash):myprogram >/dev/null 2>/dev/null
![Page 32: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/32.jpg)
Introduction to Unix 32
I/O Redirection - Pipes/Filters
Pipelines are a set of processes chained by their standardstreams, so that the stdout of each process feeds directlyas the stdin of the next.
Pipelines are defined using the “|” character.
E. g., use a pipe and tee to direct output of echo toboth stdout and to a file:
prompt> echo "Hello World" | tee output.txt
comm 2>&1 | comm2comm |& comm2pipe stdout/err to comm2
comm | comm2comm | comm2pipe stdout to comm2
bashtcshfunction
![Page 33: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/33.jpg)
Introduction to Unix 33
I/O Redirection - Pipes/Filters
Commands can be used as filters which take the outputof a program and modify it. E. g., use a pipe to countwords from the output of echo:
prompt> echo "Hello World" | wc -w2
Very useful filters include:• grep - Pattern matching• sed - Search and Replace• cut - Print specific columns• sort - Sort alphabetically / numerically• uniq - Remove duplicate lines from a file
![Page 34: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/34.jpg)
Introduction to Unix 34
I/O Redirection - Pipes/Filters
grep example:
prompt> cat example.txtHello WorldGoodbye World
prompt> cat example.txt | grep HelloHello World
prompt> cat example.txt | grep -v HelloGoodbye World
![Page 35: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/35.jpg)
Introduction to Unix 35
I/O Redirection - Pipes/Filters
sed example:
prompt> cat example.txtHello WorldGoodbye World
prompt> cat example.txt | sed “s/Hello/Goodbye/g”Goodbye WorldGoodbye World
![Page 36: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/36.jpg)
Introduction to Unix 36
I/O Redirection - Pipes/Filters
cut example:
prompt> cat example.txt1,Hello,World2,Goodbye,World
prompt> cat example.txt | cut -d "," -f 2-Hello,WorldGoodbye,World
![Page 37: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/37.jpg)
Introduction to Unix 37
I/O Redirection - Pipes/Filters
sort example:
prompt> cat example.txt2 Goodbye1 Hello2 Goodbye
prompt> cat example.txt | sort -n1 Hello2 Goodbye2 Goodbye
![Page 38: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/38.jpg)
Introduction to Unix 38
I/O Redirection - Pipes/Filters
uniq example:
prompt> cat example.txt2 Goodbye1 Hello2 Goodbye
prompt> cat example.txt | sort -n | uniq1 Hello2 Goodbye
![Page 39: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/39.jpg)
Introduction to Unix 39
Processes and Multitasking
To run a program in the background, use the “&”character (or “^Z” followed by “bg”):
prompt> myprogram &[1] 7895
myprogram is now running in the background asprocess id (PID) 7895
Whenever your process finishes, it will print“Done” to the console.
![Page 40: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/40.jpg)
Introduction to Unix 40
Processes and Multitasking
To check on the status of your jobs running onthe system, use the ps command
prompt> ps -a PID TTY TIME CMD 8095 pts/3 00:00:00 ps
You can get an expanded list by typingps agux, or by using the top command
Use uptime to check the load average (howhard system is working) on slowly respondingmachines
![Page 41: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/41.jpg)
Introduction to Unix 41
Simple Shell Scripting
String unix commands into a shell script.#/bin/csh N. b., not a comment on line 1
To execute:tsch: prompt> source myscript01.csh
bash: prompt> . ./myscript01.sh
Or run as executable:prompt> chmod u+x myscript01.csh
prompt> myscript01.csh
prompt> ./myscript01.csh (if not in path)
![Page 42: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/42.jpg)
Introduction to Unix 42
Simple Shell Scripting
Simple bash programming: myscript02.sh#!/bin/sh# define variablelist="Mercury Venus Earth Mars Jupiter Saturn Uranus
Neptune”# initiate counteri=1# for loopfor planet in $listdo echo "planet $i is $planet" # Print to STDOUT i=`expr $i + 1` # Increment counterdone
Execute it:prompt> chmod u+x myscript02.sh ; ./myscript02.sh
![Page 43: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/43.jpg)
Introduction to Unix 43
More on Variables
Can also define conditional variables:
If VAR, use its value else usealternate_value and exit if in shellscript; if alternate_value also emptyprint print msg to stderr
${VAR:?alternate_value}
If VAR, use alternate_value${VAR:+alternate_value}
If VAR, use its value else usealternate_value and set VAR=alternate_value
${VAR:=alternate_value}
If VAR defined, use its value else usealternate_value${VAR:-alternate_value}
resultformat
![Page 44: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/44.jpg)
Introduction to Unix 44
More on Variables
Example bash uses of conditional variables:
prompt> echo $VAR $ERROR
prompt> echo ${ERROR:?”An error was found”}bash: ERROR: An error was found
prompt> ERROR=TRUE
prompt> echo ${ERROR:+”An error was found”}An error was found
prompt> echo ${ERROR:-”An error was found”}TRUE
prompt> echo ${ERROR:=”An error was found”}TRUE
![Page 45: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/45.jpg)
Introduction to Unix 45
Compressing and Archiving
There are several ways you can compress files toreduce disk usage or transfer time.
The “Windows” way is using the zip and unzipcommands:prompt> ls -alh testfile1 testfile2-rw-r--r-- root root 1.0M testfile1-rw-r--r-- root root 1.0M testfile2
prompt> zip testfile.zip testfile1 testfile2
prompt> ls -alh testfile.zip-rw-r--r-- root root 2.4K testfile.zip
![Page 46: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/46.jpg)
Introduction to Unix 46
Compressing and Archiving
Traditional UNIX archiving tools, tar and gzip.
tar takes a number of files/directories andcombines them into a single file
gzip takes combined archive and compresses it:
tar -c file1 file2 ... | gzip -9 > archive.tgz
Or simply:tar -zc archive.tgz file1 file2 …
To extract files from a tar archive:tar xfzp archive.tgz
![Page 47: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/47.jpg)
Introduction to Unix 47
Getting Help from ACCRE
ACCRE website FAQ and Getting Started pages:
www.accre.vanderbilt.edu/support
ACCRE helpdesk:
www.accre.vanderbilt.edu/support/contact/submit_RT.php
accre-forum mailing list
Office hours at ACCRE M-F 4-5 PM
![Page 48: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/48.jpg)
Introduction to Unix 48
Give UNIX a try!
There are several free flavors of UNIX available:
•Fedora: http://www.fedora.redhat.com
•Debian: http://www.debian.org
•FreeBSD: http://www.freebsd.org
•Ubuntu: http://www.ubuntu.com
O’Reilly has excellent desktop reference materials (I. e., books):
http://www.oreilly.com/
(E. g., “Linux in a Nutshell”, “Class Shell Scripting”, …)
O’Reilly pocket guides also very useful quick references (Linux OS,shells, editors, …)
\
![Page 49: Introduction to Unix - ACCRE Vanderbilt · Introduction to Unix 2 Outline Overview of the Unix Operating System (slides 3-4) Shell, CL, Basic Ops, Help, Special Characters (slides](https://reader030.vdocument.in/reader030/viewer/2022020105/5d64cef388c99317158b4d7b/html5/thumbnails/49.jpg)
Introduction to Unix 49
Screen
Another useful unix tool with remote session Tutorial :
… Log onto cluster noting the gateway (i. e., vmpsxx) …prompt> screenprompt> nano junk.txt
… While in editor, close window …
… Must log back onto node you were on, i. e.,vmpsxx.accre.vanderbilt.edu …
… Find SCREEN process ID (PID) …prompt> ps augx | grep <your user name>prompt> screen -R <PID>
… Your process is Restored where you left off …