1 / 24

UNIX – The Shell

UNIX – The Shell. The Shell The agency that sits between the user and the UNIX system All the wonderful things that we can do with UNIX are possible because the Shell does a lot of work on our behalf

forrester
Télécharger la présentation

UNIX – The Shell

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIX – The Shell • The Shell • The agency that sits between the user and the UNIX system • All the wonderful things that we can do with UNIX are possible because the Shell does a lot of work on our behalf • Shell looks for special symbols in the command line, perform the tasks associated with them, and then executes the command. • for example, it opens a file to save command ouput whenever it sees the > symbol. © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  2. UNIX – The Shell • The Shell • Unique and Multifaceted program • It is a command interpreter and a programming language rolled into one • It is a process that creates an environment to work in • focus is on the shell’s basic interpretive activities • rm * or ls | more © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  3. UNIX – The Shell • The Shell as a Command Processor • When you login to a UNIX machine, you first see a prompt • A UNIX command starts running at the terminal when you login • It starts functioning when we log in • It withers away when we log out • This command is the UNIX shell • run the ps command (shows processes); you will see it running; • $ ps © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  4. UNIX – The Shell • The Shell as a Command Processor • When we key in a command, it goes as input to the shell • The shell first scans the command line for metacharacters • Metacharacters are special characters that mean nothing to the command, but means something special to the shell • echo date > date.sh • rm * • ls | more © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  5. UNIX – The Shell • The Shell as a Command Processor • When the shell sees the metacharacters like the >, |, *, etc. in its input, it translates these symbols to their respective actions before the command is executed. • It replaces the * with all filenames in the current directory so that rm ultimately runs with these names as arguments. • When the shell sees >, it opens the file date.sh and connects echo’s output to it © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  6. UNIX – The Shell • The Shell as a Command Processor • Basically the shell recreates the command line by removing all metacharacters and finally passes on the command to the kernel for execution © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  7. UNIX – The Shell • The Shell as a Command Processor • Following activities are typically performed • Shell issues a prompt and waits for you to enter a command • It scans the command line for metacharacters and expands abbreviations to create a simplified command line • It then passes on the command line to the kernel for execution • The shell waits for the command to complete and normally can’t do any work while the command is running • After the command execution is complete, the prompt reappears and the shell returns to its waiting role to start the next cycle. © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  8. UNIX – The Shell • Shell offerings • UNIX system offers a variety of shells for you to choose from. The shells we consider can be grouped into two categories: • The Bourne family comprising the Bourne shell (/bin/sh) and its derivatives – the Korn shell (/bin/ksh) and Bash (/bin/bash) • The C Shell (/bin/csh) and its derivatives, Tcsh (/bin/tcsh) • To know the shell you are using invoke $SHELL © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  9. UNIX – The Shell • Pattern Matching – The Wild Cards • The * and ? • The * metacharacter is one of the characters of the shell’s special set. It matches any number of characters including none. When it is appended to the string chap, the chap* matches filenames beginning with the string chap – including the file chap • ls -l chap* • echo * • rm * -- bad news © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  10. UNIX – The Shell • Pattern Matching – The Wild Cards • The * and ? • The ? Matches a single character. • ls chap? • chapx chapy chapz • ls chap?? • chap01 chap02 chap03 chap04 chap15 chap16 chap17 © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  11. UNIX – The Shell • Pattern Matching – The Wild Cards • The Character Class • It comprise a set of characters enclosed by the brackets [ and ], but it matches a single character in the class • ls chap0[124] • chap01 chap02 chap04 • ls chap0[1-4] range 1,2,3,4 • ls chap[x-z] © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  12. UNIX – The Shell • Pattern Matching – The Wild Cards • The Mystery of the find Command • find / -name “*.[hH][tT][mM][lL]” –print • will display html and HTML files • find . –name “note??” –print • wild cards in the feature of find and not the shell • quotes around the pattern, ensures that the shell can’t even interpret this pattern. © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  13. UNIX – The Shell • Pattern Matching – The Wild Cards • Matching the Dot • The * and ? Don’t match all filenames beginning with a . (dot) • to matche hidden files in your directory having at least 3 characters after the dot, • ls .???* • to match files with the dot anywhere but the beginning • ls *c © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  14. UNIX – The Shell • Redirection • What is a Terminal? • a generic name that represents the screen, display or keyboard (or even an X window that emulates a terminal) • We see command output and error messages on the terminal (display), and we sometimes provide command input through the terminal (keyboard) • The shell associates three files with the terminal • two for display and one for keyboard © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  15. UNIX – The Shell • Redirection • What is a Terminal? • even though our terminal is also represented by a specific device name, commands don’t usually read from or write to this file. • All terminal related activity is performed with the three files that the shell makes available to every command • These files are actually streams of characters which many commands see as input and ouput © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  16. UNIX – The Shell • Redirection • What is a Terminal? • stream is simply a sequence of bytes • when a user logs in, shell makes available 3 files representing three streams • each stream is associated with a default device, and generally speaking the device is the terminal © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  17. UNIX – The Shell • Redirection • Standard Input • The file (or stream) representing input, which is connected to the keyboard • Standard Output • The file (or stream) representing output, which is connected to the display • Standard Error • The file (or stream) representing error messages that emanate from the command or shell.This is also connected to the display © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  18. UNIX – The Shell • Redirection • A group of UNIX commands read and write to these files • A command is designed to send output to this file not to the terminal • similarly, it is not designed to accept input from the keyboard, but from the standard file which it sees as a stream • All commands using streams will always find these files open and available © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  19. UNIX – The Shell • Redirection • Even though the shell associates each of the files with a default physical device, can unhook a stream from its default device • when it see some special characters in the command line • we as users of UNIX have to instruct the shell to do that by using symbols like > and < in the command line © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  20. UNIX – The Shell • Redirection • Standard Input • This file can represent three input sources • The keyboard, the default source • A file using redirection with the < symbol ( metacharacter) • Another program using a pipeline © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  21. UNIX – The Shell • Redirection • Standard Input • wc without an argument and have no special symbols like < and | in the command line; wc obtains its input from the default source • apache[kkhan:301] wc • Standard input can be redirected • It can come from a file • or a pipeline • 3 14 71 © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  22. UNIX – The Shell • Redirection • Standard Input • wc with the filename as argument • apache[kkhan:302] wc /etc/passwd • 18 44 732 /etc/passwd © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  23. UNIX – The Shell • Redirection • Standard Input • wc with a character • apache[kkhan:302] wc < /etc/passwd • 18 44 732 • On seeing the <, the shell open disk file. /etc/passwd, for reading • It unplugs the standard input file from its default source and assigns it to /etc/passwd © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

  24. UNIX – The Shell • Redirection • Standard Input • wc reads from standard input which has earlier been reassigned by the shell to /etc/passwd • wc has no idea where stream came from; it is not even aware that shell had to open the file on its behalf! • Input from both file and Standard Input • cat – foo • cat foo – bar © 2006 The McGraw-Hill Companies, Inc. All rights reserved.

More Related