Chapter 5 Linux Shell.

Slides:



Advertisements
Similar presentations
A Guide to Unix Using Linux Fourth Edition
Advertisements

A Guide to Unix Using Linux Fourth Edition
Chapter One The Essence of UNIX.
Linux+ Guide to Linux Certification, Second Edition
1 Using Editors Editors let you create and edit ASCII files UNIX normally includes two editors: vi and Emacs Vi and Emacs are screen editors: they display.
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
Guide to Linux Installation and Administration, 2e1 Chapter 6 Using the Shell and Text Files.
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
Getting Started with Linux: Novell’s Guide to CompTIA’s Linux+ (Course 3060) Section 2 Use the Linux Desktop.
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 4P. 1Winter Quarter Introduction to UNIX.
TOPIC 5.0 LINUX SHELLS.
Linux Shells Dr. Michael L. Collard 1.
CSCI 330 T HE UNIX S YSTEM Editing files. E DITOR C ONCEPTS Editing a file is to modify the content of a file Text editor: Enter and modify text in a.
Using the “CLI” Unix / Linux Preparation Course May 25 Djibouti.
One to One instructions Installing and configuring samba on Ubuntu Linux to enable Linux to share files and documents with Windows XP.
Linux+ Guide to Linux Certification Chapter Three Linux Installation and Usage.
Introduction to Shell Script Programming
Chapter 3 Mastering Editors
CIM6400 CTNW (04/05) 1 CIM6400 CTNW Lesson 6 – More on Windows 2000.
Module 1 Introduction to UNIX/Linux
Chapter 6: Shell Programming
CENT 305 Information Systems Security Linux Introduction.
Chapter Three The UNIX Editors. 2 Lesson A The vi Editor.
SUSE Linux Enterprise Desktop Administration Chapter 2 Use the Linux Desktop.
Booting Ubuntu Linux Live CSCI 130 – Fall 2008 Action Lab Dr. W. Jones.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
CS 390 Unix Programming Environment Summer Suchindra Rengan - CS3902 Course Details Instructors Suchindra Rengan – ‘sachin’ ( Section 001)
UNIX/LINUX SHELLS.  “A Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and.
Using Commands Unix / Linux Preparation Course May 6, 2012 Serrekunda, The Gambia.
© Prepared By: Razif Razali 1 TMK 265: UNIX SYSTEM CHAPTER ONE – UNIX PHILOSOPHY.
Introduction to Unix (CA263) File Editing By Tariq Ibn Aziz.
Chapter Three The UNIX Editors.
1 Lecture 1 Introduction & Getting Started COP 3353 Introduction to UNIX.
Using Commands Introduction to Unix May 24, 2008 Rabat, Morocco Hervey Allen.
FTP Short for File Transfer Protocol, the protocol for exchanging files over the Internet.protocolfilesInternet works in the same way as HTTP for transferring.
Lab 3 + Using the Terminal 1. "Under Linux there are GUIs (graphical user interfaces). where you can point and click and drag, and hopefully get work.
Lab 3 + Using the Terminal 1. "Under Linux there are GUIs (graphical user interfaces). where you can point and click and drag, and hopefully get work.
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
Using the “CLI” Unix / Linux Preparation Course June 9, 2013 Lusaka, Zambia.
Introduction to UNIX CS465. What is UNIX? (1) UNIX is an Operating System (OS). An operating system is a control program that allocates the computer's.
Unix Advanced Shells Chapter 10. Unix Shells u Command Line Interpreter –once logged in, login gives control to a shell –it prompts for input, then parses,
Linux+ Guide to Linux Certification, Second Edition Chapter 4 Exploring Linux Filesystems.
1 CS3695 – Network Vulnerability Assessment & Risk Mitigation – Introduction to Unix & Linux.
ITX2000 Remote hosts and web servers Prof. Xiaohong (Sharon) Gao Room: T125 Ext: Week 14 – UNIX vi text editor.
INTRODUCTION TO SHELL SCRIPTING By Byamukama Frank
Course : PGClass : MCA Subject: Operating SystemSub.Code : 3CT11 Staff Name : S.SomasundaramYear & Sem : II nd & III rd.
Chapter 3: Mastering Editors Chapter 3 Mastering Editors (Emacs)
Development Environment
Unix Scripting Session 1 March 6, 2008.
SUSE Linux Enterprise Desktop Administration
Introduction to Unix May 24, 2008 Rabat, Morocco Hervey Allen
Welcome to Linux Chap#1 Hanin Abdulrahman.
Unix Shells.
Parts.cat.com Client training 2016.
Guide To UNIX Using Linux Third Edition
The Linux Operating System
Linux System Administration Editors
Chapter 1 The Essence of UNIX and Linux
Red Hat Linux 9 Basics CHAPTER 2.
You do want to create and edit programs?
Chapter 2: System Structures
Chapter 2: The Linux System Part 1
Linux Professor Sabol.
Welcome to Linux Chap#1 Hanin Abdulrahman.
Linux Operations and Administration
Welcome to Linux Chap#1.
CSCI The UNIX System Editing files
Day 5 Emacs Editor David A. Gaitros Department of Computer Science
Presentation transcript:

Chapter 5 Linux Shell

Before icons and windows took over computer screens, you typed commands to interact with most computers. On UNIX systems, from which Linux was derived, the program used to interpret and manage commands was referred to as the shell.

Shell is the interface between end user and the Linux system, similar to the commands in Windows The shell is a command language interpreter. If you have used Microsoft operating systems, you’ll see that using a shell in Linux is similar to—but generally much more powerful than—the interpreter used to run commands in DOS or in the CMD command interface. As you grow into Linux you will surely need to use the shell at some point to track down a problem or administer some features.

It provides a way to create executable script files run programs work with file systems compile computer code operate a system manage the computer. Most Linux experts consider the shell to be much more powerful than GUIs.

Important of shell script Shells have been around a long time, and many advanced features have been built into them. Several major reasons for learning how to use the shell are: 1) You will know how to get around any Linux or other UNIX-like system. For example, you can log in to my Red Hat Enterprise Linux MySQL server, bootable floppy router/firewall, or iMac and explore and use any of those computer systems from a shell.

2) Enable you to gather data input and direct data output between commands and the Linux file system. To save on typing, you can find, edit, and repeat commands from your shell history. Many power users hardly touch a graphical interface, doing most of their work from a shell.

3) Can gather commands into a file using programming constructs such as conditional checks, loops, and case statements to quickly do complex operations that would be difficult to retype over and over. Programs consisting of commands that are stored and run from a file are referred to as shell scripts. Most Linux system administrators use shell scripts to automate tasks such as backing up data, monitoring log files, or checking system health.

Various Linux Shell To find out what your current login shell is, type the following command: $ echo $SHELL /bin/bash In this example, it’s the bash shell. There are many other shells, and you can activate a different one by simply typing the new shell’s command (ksh, tcsh, csh, sh, bash, and so forth) from the current shell. For example, to change temporarily to the C shell, type the following command: $ csh

You might want to choose a different shell to use because: You are used to using UNIX System V systems (often ksh by default) or Sun Microsystems and other Berkeley UNIX– based distributions (frequently csh by default), and you are more comfortable using default shells from those environments. You want to run shell scripts that were created for a particular shell environment, and you need to run the shell for which they were made so you can test or use those scripts. You might simply prefer features in one shell over those in another. For example, a member of my Linux Users Group prefers ksh over bash because he doesn’t like the way aliases are always set up with bash.

Types of shell bash shell tcsh shell C shell ash shell korn shell

BOURNE SHELL (sh commands) The Bourne shell, or sh, was the default Unix shell of Unix Version 7, It replaced the Thompson shell, but the executable file had the same name, sh. It was developed by Stephen Bourne, and released in 1977 in the Version 7 Unix. It remains a popular default shell for Unix accounts. The binary program of the Bourne shell or a compatible program is located at /bin/sh on most Unix systems Its command interpreter contained all the features that are commonly considered to produce structured programs. Although it is used as an interactive command interpreter, it was always intended as a scripting language.

BOURNE SHELL (sh commands) The Bourne shell, or sh, was the default Unix shell of Unix Version 7, It replaced the Thompson shell, but the executable file had the same name, sh. It was developed by Stephen Bourne, and released in 1977 in the Version 7 Unix. It remains a popular default shell for Unix accounts. The binary program of the Bourne shell or a compatible program is located at /bin/sh on most Unix systems Its command interpreter contained all the features that are commonly considered to produce structured programs. Although it is used as an interactive command interpreter, it was always intended as a scripting language.

C SHELL (csh commands) The C shell is a Unix shell that was created by Bill Joy in the late 1970s. It has been distributed widely in 1978. The C shell is a command processor that's typically run in a text window, allowing the user to type commands which cause actions. The C shell can also read commands from a file, called a script. C shell has an interactive features and overall style. Its new features made it easier and faster to use. And the overall style of the language looked more like C and was seen as more readable.

BOURNE-AGAIN SHELL (bash commands) Bash is the shell, or command language interpreter, that will appear in the GNU operating system. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. The manual is available online at www.gnu.org/software/bash/manual/. BASH can be downloaded at http://ftp.gnu.org/gnu/bash/

KORN SHELL (ksh commands) The Korn shell (ksh) is a UNIX shell which was developed by David Korn in the early 1980s. It is backwards-compatible with the Bourne shell but includes many features of the C shell as well, such as a command history The main advantage of ksh over the traditional Unix shell is in its use as a programming language. Several features were gradually added, while maintaining strong backwards compatibility with the Bourne shell.

ALMQUIST SHELL (ash commands) The Almquist shell (also known as A Shell, ash) was originally developed by Kenneth Almquist‘s it is a fast, small, POSIX-compatible Unix shell designed to replace the Bourne shell in later BSD distributions. Originally it did not feature line editing or command history mechanisms - should be moved into the terminal driver; ash are installed as the default shell (/bin/sh) on FreeBSD, NetBSD, DragonFly BSD and Minix. Debian's version of ash is known as Debian Almquist Shell (dash).

METHODS TO GET SHELL INTERFACE Shell Prompts It looks like an MS-DOS screen. Users type commands at a shell prompt, the shell interprets these commands, and then the shell tells the OS what to do. Linux functions can be completed faster from the shell prompt than from a GUI.

METHODS TO GET SHELL INTERFACE Terminal Windows synonymous with a command line shell or text terminal, the term terminal covers all remote terminals, including graphical interfaces. A terminal emulator inside a GUI is often called as terminal window. A terminal window allows the user access to Command Line Interfaces (CLI) and Text User Interface applications. On Unix-like OS, it is common to have one or more terminal windows connected to the local machine.

Here are two common ways to launch a Terminal window from a Linux desktop: Right-click the desktop. In the context menu that appears, look for Shells, New Terminal, Terminal Window, Xterm, or some similar item and select it. In Fedora, rightclick on the desktop and click Open Terminal. Click on the panel menu. Many Linux desktops include a panel at the bottom of the screen from which you can launch applications. For example, in systems that use the GNOME desktop, you can select Applications➪Accessories➪Terminal to open a Terminal window. For Mandriva, select System➪Terminals.

METHODS TO GET SHELL INTERFACE Virtual Terminal In open systems, a virtual terminal (VT) is an application service that: Allows host terminals on a multi-user network to interact with other hosts regardless of terminal type and characteristics, Allows remote log-on by LAN managers for the purpose of management, Allows users to access information from another host processor for transaction processing, Serves as a backup facility. ITU-T defines a virtual terminal protocol based on the OSI application layer protocols.

Learning Outcomes Upon completion this topic, student should be able to : 1.Understand Linux Text Editor

5.2 Linux text editor Text editors are similar to word processors, providing various features for writing documents. vi pico emacs 

vi Vi text editor comes with every version of Linux or Unix Often the default editor that pops up when you're ready to write an e-mail message or when you're posting a News message.  Vi is complicated and seems difficult to learn at first. Vi provide a cryptic command and frustrated interface The hardest thing to understand about vi is the concept of modes Vi have a command and input mode. There are no clue as to which mode is currently actice  However, it is often the default for Unix and Linux systems.  This chapter explains the use of the Vi editor.  

In Command mode, you can move the cursor, search for characters, and delete existing text But to enter or edit new text, you have to switch to Input mode. When you start vi, you're in Command mode. To enter Input mode, type the letter a (lowercase only) to signal that you want to add text after the cursor position.

Example of using vi Here's how to create a file from scratch using vi. To start, create a new file named cow.joke by typing : vi cow.joke You'll see a screen that looks like this:-

Common vi Commands Have a look at this list of common vi commands (there are many more, but these will at least allow you to get some basic work done). Note: As with all of Linux, vi commands are case sensitive. Positioning the Cursor � Move cursor one space right. � Move cursor one space left. � Move cursor up one line. � Move cursor down one line. ctrl-F Move forward one screen.

ctrl-B Move backward one screen. $ Move cursor to end of line. ^ Move cursor to beginning of line. :1 Move to first line of file :$ Move to last line of file / Search for a character string. ? Reverse search for a character string. x Delete the character at the cursor position. dd Delete the current line. p Paste data that was cut with x or dd commands. u Undo. For further command please refer to : http://lowfatlinux.com/linux-editor- vi.html

pico Short for Pine Composer pico is a fairly simple text editor that provides straight-forward options and easy-to-use commands.  The pico text editor doesn't have a lot of fancy features, but it's a welcome alternative to the vi or Emacs editors because learning it is quick and easy Cursor movement and text entry are straightforward, and--best of all--you don't have to learn any arcane commands To start Pico, enter a command like this: pico bulb.joke  

In response, you should see the file bulb In response, you should see the file bulb.joke displayed on your screen in Pico, ready for editing, as shown here:

Getting around in Pico Before we explore Pico commands, here's a summary of how to navigate your way around a file in Pico. Positioning the Cursor � Move cursor one space right (also ctrl-N). � Move cursor one space left (also ctrl-P) � Move cursor up one line (also ctrl-F). � Move cursor down one line (also ctrl-B). del Delete character at cursor (also ctrl-D). ctrl-Y Move backward one screen (maybe F7). ctrl-V Move forward one screen (also F8). ctrl-A Move cursor to beginning of line. ctrl-E Move cursor to end of line. Further command please refer to : http://lowfatlinux.com/linux-editor- pico.html

emacs The Emacs editor is a lot easier to use than vi. Emacs falls somewhere between the straightforward Pico and the complicated Vi.  There are no silly modes to trip you up--when you want to enter text, you just position the cursor and type. It also has built-in help. powerful commands themselves are difficult to remember. Emacs is a vast improvement over vi, you'll still have to remember quite a few commands to be productive, and you'll probably get a little lost Unlike vi commands, Emacs commands are not case sensitive  Let's try creating a file from scratch using Emacs. To start, enter this command: $ emacs bulb.joke

If you get into a situation where Emacs seems to be stuck, or if you don't know what to do, press ctrl-G and things will return to normal. (The ctrl-G key cancels the current operation in Emacs.)

mcedit editor (Midnight Commander Editor) JOE is a full featured terminal-based screen editor It is distributed under the GNU General Public License (GPL). JOE has been around since 1988 It is comes standard with many Linux distributions. JOE is being maintained by its original author Joseph Allen JOE is written in C and its only dependency is libc.

joe (Joe’s Own Editor) JOE is a full featured terminal-based screen editor It is distributed under the GNU General Public License (GPL). JOE has been around since 1988 It is comes standard with many Linux distributions. JOE is being maintained by its original author Joseph Allen JOE is written in C and its only dependency is libc.