Upload
nghoanganh
View
472
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Shell Features
Section Overview
I/O Substitution
Pathname Substitution
Parameter/Variable Substitution
Command Substitution
UNIX Shell
Enables users to enter commandsText basedSimilar to MSDOS Command Prompt (but are much more powerful)Common Shells Bourne: sh, ksh, bash C: csh, tcsh
Shell Features
Environment variables and aliasesHistory of commands usedProgramming constructsAdded features in newer shells Command line editing Command line completion
Shell configuration files
Command History/Editing
Most shells maintain a history of previously entered commandshistory: View list of commands!#: Rerun command number #Command line editing Up/down arrow keys to cycle through list Left/right arrow keys to move within listed
command <ctrl><a>: move to start of command line <ctrl><e>: move to end of command line
Command Aliases
Shortcut for command lineSet/view using the alias commandExamples: alias ls='ls --color=tty' alias rm='rm –i'
Shell Variables
Customize environmentShared settings for programsAssigning Variables: var=“value”Referencing Variables: $varViewing variables: set, printenvVariables are case sensitive
Special Shell Variables
HOME – User’s home directory pathSHELL – Current shellUID – User’s UID numberPATH – Program search pathPS1/PS2 – Format for command prompt (prompt for csh/tcsh)
Must use “export” to set variables in shell
Parsing the Command Line
Breaks the command line into componentsSpecial Characters modify operation How command runs Filename Expansion I/O redirection Quotes
Command Run Modifiers
Write Space – Separate argumentsNewline (<cr>) – End of lineSpecial Characters
CharacterCharacter MeaningMeaning
; Separate multiple command on same line
& Run command in the background
\ At end of line, continue on next line
|| && Logical operators based on exit status
Filename Expansion
Special characters representing multiple filenamesAlso referred to as globbing
CharacterCharacter MatchesMatches
* 0 or more characters
? 1 character
[ ] Matches any 1 character in [ ](including ranges)
[^ ] Matches any 1 character not in [ ](including ranges)
I/O Redirection
Modifies how input and output is usedChain command to solve bigger tasks
CharactersCharacters ResultResult
command < file Use file as input for command
command > file Store command output in file
command >> file Append command output to file
command << label Input from standard input until label
`command` Execute command then replace command name with its output
cmd1 | cmd2 Use output from cmd1 as input to cmd2
Standard File Descriptors
Special file pointers for input and outputExtension from C language
NameName DescriptorDescriptor Default DeviceDefault Device
Standard input (stdin) 0 Keyboard
Standard output (stdout) 1 Screen
Standard error (stderr) 2 Screen
Using File Descriptors
Finer control over input/output redirectionstdout and stderr can be redirected to same file
CharactersCharacters ResultResult
command 2> file stderr output stored in file
cmd >& <file-descriptor> Output redirected to <file-descriptor>
Cmd > file 2>&1 Stderr & stdout redirected to file
Quote Characters
Prevent special characters from being interpreted by the shell
CharacterCharacter NameName ActionAction
‘ Single Quote Shell ignores all special characters enclosed ‘ ’
“ Double Quote Shell ignores all special characters enclosed “ ”except for $ ‘ \
\ Backslash Shell ignores character immediately following \