Download presentation
Presentation is loading. Please wait.
Published byJulia Walker Modified over 9 years ago
1
CIS 118 – Intro to UNIX Shells 1
2
2 What is a shell? Bourne shell – Developed by Steve Bourne at AT&T Korn shell – Developed by David Korn at AT&T C-shell – Developed by Bill Joy for Berkeley Unix
3
3 How the shell works Shell displays a prompt You type in a command You press the return key The shell interprets the commands you typed and tries to find the correct programs to run The kernel runs the requested programs and returns the results to the shell The shell displays the command prompt again
4
4 Standard Input, Output and Error Standard input – stdin – The place the program normally looks for input. – The keyboard. Standard output – stdout – The place where the program normally sends its output. – The screen. Standard error – stderr – Used by programs to display error messages. – Also the screen.
5
5 Redirection, >> < – Redirects the standard input [command] < [file name] – The command will open the file and use its content as its source of input
6
6 Redirection, >> > – Redirects the standard output [command] > [file name] – The results of the command will be sent to the specified file – Will create or overwrite the destination file cat june july aug > summer2000
7
7 Redirection, >> >> Also redirects the standard output – [command] >> [file name] The results of the command will be sent to the specified file Will append the results of the command to the existing file
8
8 Wildcards Typing in Unix can be tedious Unix supports three wild-card characters: – Asterisk (*): matches any string of characters including blanks – Question mark (?): matches single characters – Square brackest ([]): Tells the shell to match any characters that appear inside the brackets Quoting special characters
9
9 Grouping commands Executing one command at at time can be tedious Unix allows for grouping of commands by separating commands with a semi-colon (;) – pwd; cal 1 2000; date Though they are all on the same line, this is still 3 commands
10
10 Pipes & Filters You can construct powerful Unix command lines by combining several Unix commands Unix commands alone are powerful, but when you combine them together, you can accomplish complex tasks with ease
11
11 | (pipe) Similar to redirection and grouping combined Used to link commands together – [command] | [command] etc. The output of the first command is sent as the input to the second command, and so on, and so on … – who | more
12
12 Using a pipe A pipe sends the standard output of the command to the left of the pipe to the standard input of the command to the right of the pipe – This is similar to the > symbol used to redirect the standard output of a command to a file – However, the pipe is different because it is used to pass the output of a command to another command, not a file
13
13 Using a filter A filter is a Unix command that does some manipulation of the text of a file Some simple filters include wc, sort & more One of the most commonly used filters is grep
14
14 wc word count Used to display a word count of a file – wc [-c l w] [file name(s)] The output you will see will be a line showing the number of lines, words and characters Limit display with the flags
15
15 sort Sorts the contents of a file – sort [-b f n r u] [file name(s)] Takes the contents of a file and displays it in sorted order Flags: – -b: ignores blanks – -f: folds upper- and lowercase letters together – -n: numeric sort – -r: reverse usual order – -u: prints duplicate entries only once
16
16 Here is an example: alpha2: cat apple.txt core worm seed jewel alpha2: cat apple.txt | wc 2 4 21 alpha2: After the first shell prompt, we see the contents of the file apple.txt In the next shell prompt, the cat command displays the contents of the applex.txt file – The contents are displayed, not to the screen, but through a pipe to the wc (word count) command The wc command then does its job and counts the lines, words, and characters of its input
17
17 grep search for a string in a a file, display the line in which it appears alpha2: cat apple.txt core worm seed jewel alpha2: grep jewel apple.txt seed jewel alpha2: cat apple.txt | grep jewel seed jewel
18
18 Job control Unix works via jobs or processes Every command or program is a separate job/process executed by a user Jobs are usually run in the foreground, but can be made to run in the background Jobs can be killed by the user who created them
19
19 Job control ctrl-c: cancels a command/job ctrl-z: suspends a command/job jobs – Lists the jobs (programs) that you currently have running.
20
20 bg Forces a job to the background First, type a ctrl-z to suspend the job Then type bg and the job is forced to the background Use the jobs command to see it You can force a job to the background immediately with the &
21
21 fg Brings a job to the foreground Use the jobs command to see the jobs you have running Type fg %[number] and that job will be brought to the foreground
22
22 kill Kills a job that you have running Use the jobs command to see what you have running Type kill %[number] Not the most graceful way out, but it works
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.