Home Operation and Maintenance Linux Operation and Maintenance What are the three commonly used shells in Linux?

What are the three commonly used shells in Linux?

May 09, 2022 pm 03:52 PM
linux

Three shells: 1. bourne shel, referred to as sh, is an interchangeable command interpreter and command programming language; 2. c shell, referred to as csh, uses "C-like" syntax and is C-style A kind of shell; 3. korn shell, upwardly compatible with sh, and contains many features of csh.

What are the three commonly used shells in Linux?

#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.

What is shell?

The shell of the Linux system serves as the shell of the operating system and provides users with an interface for using the operating system. It is a command language, command interpreter and programming language.

The shell is the interface program between the user and the Linux kernel. If you imagine the Linux kernel as the center of a sphere, the shell is the outer layer surrounding the kernel. When commands are passed to Linux from a shell or other program, the kernel reacts accordingly.

Shell is a command language interpreter. It has its own built-in shell command set. The shell can also be called by other applications in the system. The commands entered by the user at the prompt are first interpreted by the shell and then passed to the Linux kernel.

Three commonly used shells in Linux

There are many types of shells in Linux, the three most commonly used are bourne shell(sh ), c shell (csh), korn shell (ksh).

1. Bourne shell

Bourne shell is an interactive command interpreter and command programming language.

Bourne shell is a standard UNIX shell, which was often used to manage systems. Most of the system management command files, such as rc start, stop and shutdown, are Bourne shell command files, and are often used by system administrators when logged in as root in single user mode. Bourne shell was developed by AT&T and is famous for its simplicity and speed. The default value for the Bourne shell prompt symbol is $.

2. c shell

c shell is a variant Shell that is more suitable than Bourne Shell. It uses "C-like" syntax, and csh is A shell with C language style, it has 52 internal commands, which is relatively large.

C shell was developed at Berkeley and has added some new features, such as command line history, aliases, built-in arithmetic, filename completion ), and job control. For users who often execute shells in conversation mode, they prefer to use the C shell; but for system administrators, they prefer to use the Bourne shell as the command file because the Bourne shell command file is better than the C shell command file. It comes easy and fast. The default value for the C shell prompt symbol is %.

3. korn shell

korn shell is a Unix shell. It was written by David Korn at Bell Labs in the early 1980s. It is fully upwardly compatible with the Bourne shell and includes many features of the C shell, such as command editing required by Bell Labs users.

Korn shell is a superset of Bourne shell, developed by David Korn of AT&T. It adds some features and is more advanced than the C shell. Features of the Korn shell include editable procedures, aliases, functions, regular expression wildcards, built-in arithmetic, job control, coprocessing, and special exceptions. Wrong function. The Bourne shell is almost completely upward compatible with the Korn shell, so programs developed under the Bourne shell can still be executed on the Korn shell. The default value for the Korn shell prompt symbol is also $. The Korn shell used on Linux systems is called pdksh, which refers to Public Domain Korn Shell.

The three shells have their own advantages and disadvantages:

sh is the original shell used by Unix and can be used on every Unix. sh is quite good at shell programming, but it is not as good as csh and ksh in handling interaction with the user.

The default shell of Linux is bourne again shell (bash), which is fully backward compatible with sh. bash is placed in bin/bash. It has many features and can provide functions such as command completion, command editing and command history table. It also contains many advantages of csh and ksh, has a flexible and powerful programming interface, and at the same time Has a friendly user interface.

Therefore, we must at least know that both sh and bash are the default shells on Linux, and bash is an upgraded version of sh.

Related recommendations: "Linux Video Tutorial"

The above is the detailed content of What are the three commonly used shells in Linux?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to open web.xml How to open web.xml Apr 03, 2025 am 06:51 AM

To open a web.xml file, you can use the following methods: Use a text editor (such as Notepad or TextEdit) to edit commands using an integrated development environment (such as Eclipse or NetBeans) (Windows: notepad web.xml; Mac/Linux: open -a TextEdit web.xml)

Four ways to implement multithreading in C language Four ways to implement multithreading in C language Apr 03, 2025 pm 03:00 PM

Multithreading in the language can greatly improve program efficiency. There are four main ways to implement multithreading in C language: Create independent processes: Create multiple independently running processes, each process has its own memory space. Pseudo-multithreading: Create multiple execution streams in a process that share the same memory space and execute alternately. Multi-threaded library: Use multi-threaded libraries such as pthreads to create and manage threads, providing rich thread operation functions. Coroutine: A lightweight multi-threaded implementation that divides tasks into small subtasks and executes them in turn.

What is the Linux best used for? What is the Linux best used for? Apr 03, 2025 am 12:11 AM

Linux is best used as server management, embedded systems and desktop environments. 1) In server management, Linux is used to host websites, databases, and applications, providing stability and reliability. 2) In embedded systems, Linux is widely used in smart home and automotive electronic systems because of its flexibility and stability. 3) In the desktop environment, Linux provides rich applications and efficient performance.

How is Debian Hadoop compatibility How is Debian Hadoop compatibility Apr 02, 2025 am 08:42 AM

DebianLinux is known for its stability and security and is widely used in server, development and desktop environments. While there is currently a lack of official instructions on direct compatibility with Debian and Hadoop, this article will guide you on how to deploy Hadoop on your Debian system. Debian system requirements: Before starting Hadoop configuration, please make sure that your Debian system meets the minimum operating requirements of Hadoop, which includes installing the necessary Java Runtime Environment (JRE) and Hadoop packages. Hadoop deployment steps: Download and unzip Hadoop: Download the Hadoop version you need from the official ApacheHadoop website and solve it

Do I need to install an Oracle client when connecting to an Oracle database using Go? Do I need to install an Oracle client when connecting to an Oracle database using Go? Apr 02, 2025 pm 03:48 PM

Do I need to install an Oracle client when connecting to an Oracle database using Go? When developing in Go, connecting to Oracle databases is a common requirement...

Is Debian Strings compatible with multiple browsers Is Debian Strings compatible with multiple browsers Apr 02, 2025 am 08:30 AM

"DebianStrings" is not a standard term, and its specific meaning is still unclear. This article cannot directly comment on its browser compatibility. However, if "DebianStrings" refers to a web application running on a Debian system, its browser compatibility depends on the technical architecture of the application itself. Most modern web applications are committed to cross-browser compatibility. This relies on following web standards and using well-compatible front-end technologies (such as HTML, CSS, JavaScript) and back-end technologies (such as PHP, Python, Node.js, etc.). To ensure that the application is compatible with multiple browsers, developers often need to conduct cross-browser testing and use responsiveness

libv are two libv are two Apr 03, 2025 pm 08:03 PM

I developed a project called Lua-Libuv and am happy to share my experience. The original intention of the project is to explore how to use Libuv (an asynchronous I/O library written in C) to build a simple HTTP server without having to learn the C language in depth. With the help of ChatGPT, I completed the basic code of HTTP.C. When dealing with persistent connections, I successfully implemented closing the connection and freeing resources at the right time. At first I tried to create a simple server that ended the main program by closing the connection, but I had some problems. I've tried sending blocks of data using streaming, and while it works, this blocks the main thread. In the end, I decided to give up on this approach because my goal was not to learn C language in depth. Finally, I

Unable to log in to mysql as root Unable to log in to mysql as root Apr 08, 2025 pm 04:54 PM

The main reasons why you cannot log in to MySQL as root are permission problems, configuration file errors, password inconsistent, socket file problems, or firewall interception. The solution includes: check whether the bind-address parameter in the configuration file is configured correctly. Check whether the root user permissions have been modified or deleted and reset. Verify that the password is accurate, including case and special characters. Check socket file permission settings and paths. Check that the firewall blocks connections to the MySQL server.

See all articles