Inhaltsverzeichnis
2. Welche Parser gibt es in Linux?
2.1 / bin / bash 和 / usr / bin / bash
2.2 / bin / sh 和 / usr / bin / sh
Um Shell zu lernen, müssen Sie zunächst den Zweck von Shell kennen. In diesem Artikel werden Sie in den Shell-Parser eingeführt.
1. Was ist ein Parser?
Shell ist ein Befehlszeilenparser unter dem Linux-Betriebssystem. Es ist ein Tool für Benutzer zur Interaktion mit dem Linux-Kernel. Tatsächlich spielt Shell eine ähnliche Rolle wie ein Übersetzer, wie in der folgenden Abbildung dargestellt (handgemacht):

Wie Sie der obigen Abbildung entnehmen können, gibt es einen Grund, warum der Parser Shell heißt. Das gesamte Betriebssystem wird tatsächlich Schicht für Schicht umbrochen, was eine Abstraktionsebene ist. Je höher der Abstraktionsgrad, desto einfacher ist es Benutzer zu bedienen. Genau wie eine Programmiersprache ist der Assembler näher am unteren Rand, und die C-Sprache ist abstrakter als die Assemblersprache, und die Java-Sprache ist abstrakter.
Wer hat die erste Unix-Shell erfunden?
Ken Thompson entwickelte die Shell, als er die erste Version von UNIX schrieb, die die Implementierung der Shell auf Multics emulierte.
2. Welche Parser gibt es in Linux?
Es gibt verschiedene Arten von Linux-Parsern:
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
[root@localhost ~]#
/ Bin / bash wird in CentOS 7 standardmäßig verwendet, wie unten gezeigt:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# echo $SHELL
/bin/bash
[root@localhost ~]#
2.1 / bin / bash 和 / usr / bin / bash
Bash, eine Art Unix-Shell, wurde 1987 von Brian Fox für das GNU-Projekt geschrieben. Die erste offizielle Version wurde 1989 veröffentlicht. Sie sollte ursprünglich auf dem GNU-Betriebssystem verwendet werden, kann jedoch auf den meisten Unix-ähnlichen Betriebssystemen ausgeführt werden, einschließlich Linux und Mac OS X 10.4 bis MacOS Mojave. Standardmäßig Shell, seit macOS Catalina wird die Standard-Shell durch zsh ersetzt. ------ Wikipedia
2.2 / bin / sh 和 / usr / bin / sh
Wie unten gezeigt, sind / bin / sh und / usr / bin / sh ein Softlink von bash.
[root@localhost ~]# ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 9月 24 01:40 /bin/sh -> bash
[root@localhost ~]# ls -l /usr/bin/sh
lrwxrwxrwx. 1 root root 4 9月 24 01:40 /usr/bin/sh -> bash
[root@localhost ~]#
2.3 / bin / tcsh
tcsh ist eine Abix-Shell, die abwärtskompatibel mit der c-Shell ist. Es fügt der c-Shell im Wesentlichen Befehlsvervollständigung, Befehlsbearbeitung und andere Funktionen hinzu. Es ist derzeit die Standard-Shell für FreeBSD und seine erweiterten Distributionen. ------ Wikipedia
2.4 / bin / csh
Die C-Shell ist eine Art Unix-Shell, die von Bill Joy auf einem BSD-System entwickelt wurde. Die C-Shell wurde in der sechsten Unix-Ausgabe aus / bin / sh geboren und ist auch der Vorgänger der Bourne-Shell. Die Syntax dieser Shell ähnelt der C-Sprache. Im Vergleich zur Bourne-Shell verfügt die C-Shell über viele Besonderheiten wie Aliase und Befehlsverlauf. Gegenwärtig ist die C-Shell nicht mehr weit verbreitet, und ihre Nachfolger umfassen die Tenex C-Shell (tcsh), die Korn-Shell (ksh) und die GNU Bourne-Again-Shell (bash). ------ Wikipedia
Drei, Zusammenfassung
Shell ist eine Brücke zwischen Benutzern und dem Linux-Kernel. Shell ist auch eine Programmiersprache für Skripte. Klicken Sie auf Folgen und aktualisieren Sie weitere Informationen. Shell muss wissen, muss Wissenspunkte kennen ~