0% found this document useful (0 votes)
45 views17 pages

Topic 5

This document provides an overview of Linux shells and text editors. It discusses various Linux shells like Bourne shell, C shell, Bourne-Again shell, Korn shell, and Almquist shell. It also describes methods to access the shell interface like shell prompts, terminal windows, and virtual terminals. Finally, it lists and briefly explains popular Linux text editors like vi, pico, emacs, mcedit, joe, nedit, and xedit.

Uploaded by

Tauwab Zaabar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views17 pages

Topic 5

This document provides an overview of Linux shells and text editors. It discusses various Linux shells like Bourne shell, C shell, Bourne-Again shell, Korn shell, and Almquist shell. It also describes methods to access the shell interface like shell prompts, terminal windows, and virtual terminals. Finally, it lists and briefly explains popular Linux text editors like vi, pico, emacs, mcedit, joe, nedit, and xedit.

Uploaded by

Tauwab Zaabar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

TOPIC 5.

0
LINUX SHELLS

SHELL SCRIPT
Shell is the interface between end user and

the Linux system, similar to the commands

in Windows
Typical operations performed by shell

scripts include
file manipulation, program execution, text printing.

EXAMPLE OF A SHELL SCRIPT


Use text editor to generate the first file #!/bin/sh # first # this file looks for the files containing POSIX # and print it for file in * do if grep q POSIX $file then echo $file fi done exit 0 % /bin/sh first % chmod +x first %./first

IMPORTANCE OF A SHELL SCRIPT


easy program or file selection,
quick start, and interactive debugging. A shell script can be used to provide a sequencing and

decision-making linkage around existing programs


Non-expert users can use scripting to tailor the behaviour

of programs.

VARIOUS OF LINUX SHELLS


Bourne shell (sh commands) C shell (csh commands)

Bourne-Again shell (bash commands)


Korn shells (ksh commands) Almquist shells (ash commands)

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 Almquists 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.

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.

LINUX TEXT EDITOR


vi editor
Vi is often the default editor that pops up when we're ready to write an

e-mail message or when we're posting a News message.


Vi is complicated and seems difficult to learn at first. it is often the default for Unix and Linux systems.

pico (Pine composer) editor


Pico is a simple text editor that provides straight-forward options

and easy-to-use commands.


it provides everything necessary to write long documents with minimal

hassles.
Pico is not very good when manipulating certain types of files such as

making changes to .cgi files

LINUX TEXT EDITOR


emacs (Editor Macros) editor
Emacs falls somewhere between the straightforward Pico and the

complicated Vi.
Unlike Vi, we don't need to switch between modes to perform basic

text editing functions.


powerful commands themselves are difficult to remember.

mcedit editor (Midnight Commander Editor)


mcedit is a link to mc, the main GNU Midnight Commander executable. Executing GNU Midnight Commander under this name requests staring

the internal editor and opening the file specified on the command

line.
The editor is based on the terminal version of cooledit (standalone

editor for X Window System).

LINUX TEXT EDITOR


joe (Joes 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.

LINUX TEXT EDITOR


Graphical text editors:

Nedit editor
already installed in Computer Systems smaller and easier to use/customise than emacs easy to get it to do syntax colouring for Java/HTML etc suitable for Unix/Linux only (see below) impossible to use via telnet/ssh more difficult than emacs

Xedit editor
It is a text editor for the X Window System on Linux and UNIX

It is a visual text editor for the virtual machine operating system

You might also like