Presentation is loading. Please wait.

Presentation is loading. Please wait.

Second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. UNIX – The Shell The Shell The agency that.

Similar presentations


Presentation on theme: "Second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. UNIX – The Shell The Shell The agency that."— Presentation transcript:

1 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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.

2 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

3 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

4 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

5 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

6 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

7 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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.

8 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

9 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

10 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

11 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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]

12 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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.

13 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

14 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

15 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

16 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

17 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

18 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

19 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

20 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

21 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

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

23 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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

24 second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. 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


Download ppt "Second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. UNIX – The Shell The Shell The agency that."

Similar presentations


Ads by Google