the shell
Download
Skip this Video
Download Presentation
The Shell

Loading in 2 Seconds...

play fullscreen
1 / 32

The Shell - PowerPoint PPT Presentation


  • 196 Views
  • Uploaded on

The Shell. Chapter 7. Overview. The Command Line Standard IO Redirection Pipes Running a Program in the Background Killing (a process!). The Command Line. The shell executes a program when you give it a command

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' The Shell' - jacoba


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
the shell

The Shell

Chapter 7

overview
Overview
  • The Command Line
  • Standard IO
  • Redirection
  • Pipes
  • Running a Program in the Background
  • Killing (a process!)
the command line
The Command Line
  • The shell executes a program when you give it a command
  • The line that contains the command, including any arguments, is called the command line
the command line1
The Command Line
  • Syntax
    • Dictates the ordering and separation of the elements on a command linee.g. command [arg1] [arg2] … [argn]
    • Not all commands require arguments
    • Some commands do not allow arguments
    • Some commands require specific arguments
the command line2
The Command Line
  • Syntax (cont.)
    • Arguments
      • A sequence of nonblank characters is called a token or word
      • An argument is a token, such as a filename, that a command acts upone.g. $ cp temp tempcpy

temp is arg1

tempcpy is arg2

the command line3
The Command Line
  • Syntax (cont.)
    • Options
      • an argument that modifies the effects of a command
      • more than one option typically be specified
      • options are specific to and interpreted by the program (command), not the shell
      • most utilities allow the grouping of options after a single hyphen (-)
      • help option
        • Many utilities display a help message when the -help option is used
        • All GNU Project utilities accept --help
the command line4
The Command Line
  • Syntax (cont.)
    • Options (cont.)
    • Remember! The command must be in the search path, or a path must be supplied on the command line
the command line5
The Command Line
  • Executing the command line
    • When a command is issued, the shell starts a new process
    • The process is the execution of a command
    • While the command is executing, the shell waits for the process to finish.
      • At this point, the shell is in an inactive state called sleep
standard input and output
Standard Input and Output
  • Output & Input
    • Standard Output
      • A place that a program can send output, such as text
      • The program never “knows” where the output it sends to standard output is going
        • Could be a printer
        • Could be an ordinary file
        • Could be the screen (default)
    • Standard Input
      • A place that a program gets input from
        • Could be another program
        • Could be the keyboard (default)
standard input and output1
Standard Input and Output
  • Output & Input
    • Standard Error
      • A place that a program can send error messages to
standard input and output2
Standard Input and Output
  • The Screen as a File
    • Besides ordinary files, directory files, hard links, and soft links, Linux has an additional type of file - device files
      • Device files reside in the Linux file structure (usually under /dev)
      • Represent a peripheral device
standard input and output3
Standard Input and Output
  • The Screen as a File (cont.)
    • The device name that the who utility displays after your username is the filename of your screen
      • e.g. /dev/pts/4
    • When working with multiple windows, each window will have its own device name
    • You can read from and write to this device file as though it were a text file
standard input and output4
Standard Input and Output
  • The Screen as a File (cont.)
    • e.g. Using the keyboard and screen as standard input and standard output
standard input and output5
Standard Input and Output
  • Redirection
    • Allows you to alter where standard input comes from
    • Allows you to alter where standard output goes to
    • Redirecting Standard Output
      • (>) redirect standard output - instructs the shell to redirect the output of a command to the specified file instead of the screen
      • e.g. ls -l > dirlisting.txt
standard input and output6
Standard Input and Output
  • Redirection (cont.)
standard input and output7
Standard Input and Output
  • Redirection (cont.)
    • Redirecting Standard Input
      • (<) redirect standard input - instructs the shell to redirect a command’s input to come from the specified file instead of from the keyboard
standard input and output8
Standard Input and Output
  • Redirection (cont.)
    • Appending standard output to a file
      • (>>) - append output - causes the shell to add new information to the end of a file, leaving any existing information intact.
      • e.g.$ cat orangethis is orange$ cat pear >> orange$ cat orangethis is orangethis is pear
standard input and output9
Standard Input and Output
  • Redirection (cont.)
standard input and output10
Standard Input and Output
  • Pipes
    • The shell uses a pipe to connect the standard output of one command directly to the standard input of another command
    • The symbol for a pipe is a vertical bar (|)
    • e.g. command_a [args] | command_b [args]is the same as:command_a > tempcommand_b < temprm temp
standard input and output11
Standard Input and Output
  • Pipes (cont.)
    • Filters
      • A filter is a command that processes an input stream of data to produce an output stream of data
      • e.g. sort
running a program in the background
Running a program in the background
  • So far, all commands and utilities used have been running in the foreground
  • When a command is run in the foreground, the shell waits for it to finish before giving you another prompt
  • When a command is run in the background, you do not have to wait for the command to finish before running another command
running a program in the background1
Running a program in the background
  • JOBS
    • A series of one or more commands that can be connected by pipes
    • Only one foreground job allowed in a window or on a screen
    • Many background jobs are allowed
    • Running many jobs at a time utilizes multitasking
running a program in the background2
Running a program in the background
  • JOBS (cont.)
    • To run a job in the background, type an ampersand (&) just before [RETURN]
    • The shell will assign a small number to the job (job number) and displays it between brackets
    • Following the job number, the shell displays the process id (PID) number
    • E.g. $ ls –l | lpr & [1] 22092 $ … [1]+ Done ls –l | lpr
running a program in the background3
Running a program in the background
  • Moving a job from the foreground to the background
    • CONTROL-Z
      • Suspends a job
      • Shell stops the process and disconnects standard input from the keyboard
    • bg
      • Command to send a job to the background
      • E.g. move job 1 to background $ bg 1
running a program in the background4
Running a program in the background
  • Moving a job from the foreground to the background (cont.)
    • fg
      • Brings a job from the background to the foreground
      • Only the foreground job can accept input from the keyboard
      • E.g. $ fg 1
running a program in the background5
Running a program in the background
  • Killing a job
    • kill
      • Aborts a background job
      • Uses the PID or job number as an argument
    • E.g. $tail –f outfile & [1] 18228 $ ps | grep tail 18228 pts/4 00:00:00 tail $ kill 18228 [1]+ Terminated tail –f outfile
running a program in the background6
Running a program in the background
  • Killing a job (cont.)
    • E.g. $tail –f outfile & [1] 18236 $ bigjob & [2] 18237 $ jobs [1]- Running tail –f outfile & [2]+ Running bigjob & $ kill %1 $ RETURN [1]- Terminated tail –f outfile
filename generation pathname expansion
Filename generation/Pathname expansion
  • When you give the shell abbreviated filenames that contain special characters (metacharacters or wildcards) , the shell can generate filenames that match the names of existing files
  • Filenames that contain these characters are called ambiguous file references
  • The process the shell performs on these filenames is called pathname expansion or globbing
filename generation pathname expansion1
Filename generation/Pathname expansion
  • The ? Special character
    • Matches any single character in the name of an existing file
      • E.g. $ lpr memo?
      • E.g.$ lsmem memo12 memo9 memoalex newmemo5memo memo5 memoa memos$ ls memo?memo5 memo9 memoa memos
filename generation pathname expansion2
Filename generation/Pathname expansion
  • The * special character
    • Matches any number of characters, including zero characters, in a filename
    • E.g.$ lsamemo memo memoalx.0620 memosally user.memomem memo.0612 memoalx.keep sallymemomemalx memoa memorandum typescript$ echo memo*memo memo.0612 memoa memoalx.0620memoalx.keep memorandum memosally$ echo *meamemo memo sallymemo user.memo$ echo *alx*memalx memoalx.0620 memoalx.keep
filename generation pathname expansion3
Filename generation/Pathname expansion
  • The [] special characters
    • Causes the shell to match filenames containing the individual characters surrounded by the brackets or a range of characters
      • E.g. $ lpr part0 part1 part2 part3 part5$ lpr part[01235]$ lpr part[1-35]
      • E.g. print 39 files

$ lpr part[0-9] part[12][0-9] part3[0-8]

hands on time
Hands On Time
  • See ftp site for lab file:
    • BAI517 – Ch 6-7 Utils and Shell Exercise.doc
ad