Table of Contents
1. Bash Shell" >1. Bash Shell
2、Zsh Shell" >2、Zsh Shell
3、Fish" >3、Fish
4、Ksh shell" >4、Ksh shell
5、Tcsh Shell" >5、Tcsh Shell
Summarize" >Summarize
Home System Tutorial LINUX Linux Shell Battle: Features and Benefits of Five Popular Command Line Interfaces

Linux Shell Battle: Features and Benefits of Five Popular Command Line Interfaces

Feb 11, 2024 pm 12:50 PM
linux linux tutorial linux system linux command shell script embeddedlinux Getting started with linux linux learning

Linux shell is a command interpreter for executing other programs in the operating system. It is also a complete programming language with its own syntax and structure. Linux shell allows users to control and manage the system by entering text commands to achieve various functions and tasks. Linux has many different types of shells to choose from, each with their own pros and cons and suitable for different users and scenarios. This article will introduce you to the five most commonly used open source shells on Linux, which are:

  • Bash shell: A free version of the Bourne shell developed by the GNU Project and is the standard shell on all Linux distributions with powerful scripting capabilities and usability.
  • Zsh shell: An extended version of the Bourne shell, a highly customizable Linux shell with many new features and support for plugins and themes.
  • Fish shell: A modern command line interface with auto-suggestion, tab completion, and syntax highlighting for a smart and user-friendly Linux shell.
  • Ksh shell: A reimplementation of the Bourne shell developed by AT&T Bell Labs. It has command line editing, job control and other functions. It is a classic and stable Linux shell.
  • Tcsh shell: An enhanced version of the C shell using the vanilla C syntax model, with aliases, history, filename completion, and more, a Linux shell for C and C programmers.

1. Bash Shell

Brian Fox developed Bash for the GNU Project in 1988 as a free version of the Bourne shell. Bash is similar to the original version, but adds features such as command line editing.

Because Bash is the standard GNU shell, it has become the standard shell on all Linux distributions. Most modern Linux distributions now come with a Bash shell by default. This open source Linux shell is known in the community for its robust feature set and usability. The name is an acronym for "Bourne-Again SHell".

Linux shell 大比拼:五种流行的命令行界面的特点和优势

One of the reasons Bash is considered so powerful is because it is scriptable. Shell scripts are isolated lists of commands to optimize any task and be cost-effective, similar to other programming languages ​​with well-defined standards. You can enter anything into Bash manually, or you can list it in a plain text file and let Bash run it for you.

Learning Bash is very useful for performing automation. It is very powerful and has many features such as:

  • Directory operations
  • Job Control
  • Brace expansion
  • Tilde expansion
  • Alias
  • Command history
  • Command line editing
  • Keybinding
  • Integrated programming functions
  • Control structure
  • Dynamic loading of built-in plug-ins

Linus Torvalds, the creator of the Linux kernel, said that the first two programs he ran on the new kernel in 1991 were Bash and gcc, GNU's compiler.

2、Zsh Shell

Zsh (short for Z shell) is an extended version of the Bourne Shell with many new features and support for plugins and themes. It is a highly customizable Linux shell that includes some very powerful features such as tab completion, smart history, remote file expansion, and more. Zsh is a shell designed for interactive use, although it is also a powerful scripting language. Many useful features from Bash, Ksh, and Tcsh have been merged into and added to Zsh.

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Zsh was developed by Paul Fastad in 1990. The name zsh comes from Yale University professor Zong Shao. It has become one of the most popular shells for Linux operating systems.

Some of the more important Zsh functions are:

  • Command autocomplete
  • Improved variable handling
  • Spelling correction
  • Sharing command history
  • Environment variable setting is simple
  • custom made

When you use Linux, most of your user time is spent in the terminal. If you want to customize your terminal and make it look professional, you can use Oh My Zsh to achieve this goal. It is a community-driven open source framework for managing Zsh configurations. There are other frameworks for Zsh, such as Prezto, Zgen, Antigen, etc. Currently Oh My Zsh can support 150 themes and 275 plug-ins.

Zsh and Bash both have similar and impressive features, but also have their own unique tools. If you are looking for extensibility, greater customization, and advanced features not found in bash, the zsh shell is a great choice. Additionally, Zsh is the default login and interactive shell in macOS Catalina, replacing Bash.

Related: https://www.linuxmi.com/ubuntu-20-04-zsh.html

3、Fish

Fish shell is a modern command line interface with auto-suggestion, tab completion and syntax highlighting. It is a smart and user-friendly command line shell for Linux and macOS. The shell provides users with powerful functionality and control without sacrificing speed or efficiency. It is designed to be used out of the box without extensive configuration.

Linux shell 大比拼:五种流行的命令行界面的特点和优势

History-based inline auto-suggestions for Fish come out of the box. Using your history, Fish suggests the next possibility for completing the command.

This shell is more colorful than the classic Bash shell. You'll quickly notice that Fish performs syntax highlighting as you type. These colors and more can be changed by running fish_config. This will open a web-based GUI where you can select a color theme and configure the appearance of the shell.

Another great feature is the availability of commands. For example, if you type /usr/bin/linuxiac, it will show the line in red, indicating that it is not a valid command, but if you type /usr/bin/ping it will look normal.

Fish shell features:

  • Inline auto-suggestions based on history
  • Excellent tag completion
  • Syntax Highlighting
  • Intuitive wildcard support
  • Network-based configuration
  • Sound script

For users of other shells such as zsh, bash, etc., if they want to try a new and advantageous shell, Fish is a very powerful and useful Linux shell.

Related: FISH: Linux shell for post-90s generation https://www.linuxmi.com/fish-linux-shell.html

4、Ksh shell

Ksh (short for Korn shell) was invented by David Korn of AT&T Bell Labs and came into public life in 1986. It is a reimplementation of the Bourne shell. The Ksh shell's command editor interface enables quick and easy correction of input errors, as well as easy recall and reuse of command history. It does not provide command completion, but it does provide filename completion. Ksh allows developers to create new shell commands when needed.

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Ksh shell’s command line editing mode is the feature that tends to attract people to it in the first place. With command line editing, it's much easier to go back and fix errors. Another major Ksh feature aimed primarily at interactive users is job control.

Some of the more important Ksh functions are:

  • Job Control
  • Alias
  • Function
  • Command history
  • Command line editing
  • Integrated programming functions
  • Control structure
  • Debugging primitives
  • Commonly used expressions
  • Advanced I/O features

Ksh shell has been released in different versions such as pdksh, mksh, ksh88 and the latest ksh93.

5、Tcsh Shell

In the original days of Linux, the C and C programming languages ​​were very popular, and much of Linux itself was written in them. As expected, a new shell emerged, the C Shell using the vanilla C syntax model. Tcsh is an enhanced but fully compatible version of Berkeley UNIX csh (C Shell). It is a command language interpreter that can be used as an interactive login shell and a shell script command processor. Tcsh can be considered the next generation C shell.

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Tcsh was developed by Ken Greer at Carnegie Mellon University in 1979. The "t" in tcsh comes from the "T" in TENEX, an operating system developed by BBN in 1969 for the PDP-10 family of mainframe computers.

Early versions of MacOS X shipped with tcsh as the default shell, but newer versions the default becomes Bash. tcsh is now FreeBSD's default root shell.

The main functions of Tcsh are programmable command completion and command line editing. It strikes a good balance between stark simplicity and basic functionality. All the documentation you need to use tcsh is in man tcsh, rather than scattered among various help programs.

Summarize

Through the introduction of this article, you should already have a comprehensive and in-depth understanding of these five Linux shells. They are all useful tools for executing commands and writing scripts on Linux, helping you to be more efficient and flexible. Of course, this is just a small selection of shells that we have carefully selected. There are many other excellent shells in the Linux software repository waiting for you to discover and try. We recommend that you explore and install more Linux shells based on your own needs and preferences to make your Linux command line interface more powerful and personalized.

The above is the detailed content of Linux Shell Battle: Features and Benefits of Five Popular Command Line Interfaces. 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)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months 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)

Difference between centos and ubuntu Difference between centos and ubuntu Apr 14, 2025 pm 09:09 PM

The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

How to install centos How to install centos Apr 14, 2025 pm 09:03 PM

CentOS installation steps: Download the ISO image and burn bootable media; boot and select the installation source; select the language and keyboard layout; configure the network; partition the hard disk; set the system clock; create the root user; select the software package; start the installation; restart and boot from the hard disk after the installation is completed.

Centos options after stopping maintenance Centos options after stopping maintenance Apr 14, 2025 pm 08:51 PM

CentOS has been discontinued, alternatives include: 1. Rocky Linux (best compatibility); 2. AlmaLinux (compatible with CentOS); 3. Ubuntu Server (configuration required); 4. Red Hat Enterprise Linux (commercial version, paid license); 5. Oracle Linux (compatible with CentOS and RHEL). When migrating, considerations are: compatibility, availability, support, cost, and community support.

How to use docker desktop How to use docker desktop Apr 15, 2025 am 11:45 AM

How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

Detailed explanation of docker principle Detailed explanation of docker principle Apr 14, 2025 pm 11:57 PM

Docker uses Linux kernel features to provide an efficient and isolated application running environment. Its working principle is as follows: 1. The mirror is used as a read-only template, which contains everything you need to run the application; 2. The Union File System (UnionFS) stacks multiple file systems, only storing the differences, saving space and speeding up; 3. The daemon manages the mirrors and containers, and the client uses them for interaction; 4. Namespaces and cgroups implement container isolation and resource limitations; 5. Multiple network modes support container interconnection. Only by understanding these core concepts can you better utilize Docker.

What to do after centos stops maintenance What to do after centos stops maintenance Apr 14, 2025 pm 08:48 PM

After CentOS is stopped, users can take the following measures to deal with it: Select a compatible distribution: such as AlmaLinux, Rocky Linux, and CentOS Stream. Migrate to commercial distributions: such as Red Hat Enterprise Linux, Oracle Linux. Upgrade to CentOS 9 Stream: Rolling distribution, providing the latest technology. Select other Linux distributions: such as Ubuntu, Debian. Evaluate other options such as containers, virtual machines, or cloud platforms.

What to do if the docker image fails What to do if the docker image fails Apr 15, 2025 am 11:21 AM

Troubleshooting steps for failed Docker image build: Check Dockerfile syntax and dependency version. Check if the build context contains the required source code and dependencies. View the build log for error details. Use the --target option to build a hierarchical phase to identify failure points. Make sure to use the latest version of Docker engine. Build the image with --t [image-name]:debug mode to debug the problem. Check disk space and make sure it is sufficient. Disable SELinux to prevent interference with the build process. Ask community platforms for help, provide Dockerfiles and build log descriptions for more specific suggestions.

What computer configuration is required for vscode What computer configuration is required for vscode Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

See all articles