Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was bedeutet Linux-Shell?

Was bedeutet Linux-Shell?

青灯夜游
青灯夜游Original
2022-11-11 11:18:572012Durchsuche

In Linux bezieht sich Shell auf „Shell“, den „Befehlszeileninterpreter“, der auf dem Betriebssystem vorhanden ist. Es bezieht sich auf eine benutzerorientierte Befehlsschnittstelle, die in einer vom Benutzer eingegebenen Schnittstelle ausgedrückt wird . Über diese Schnittstelle können auch Betriebsinformationen zurückgemeldet werden. Die Funktionen der Shell: 1. Übersetzen Sie die Befehle des Benutzers zur Verarbeitung an den Kernel. 2. Übersetzen Sie die Verarbeitungsergebnisse des Kerns (Kernels) an den Benutzer.

Was bedeutet Linux-Shell?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Das Shell-Programm von Linux heißt Shell (Befehlszeileninterpreter) und bezieht sich auf eine benutzerorientierte Befehlsschnittstelle, die als Schnittstelle ausgedrückt wird, die vom Benutzer eingegeben werden kann. Diese Schnittstelle kann auch laufende Informationen zurückmelden Die Funktionen der Shell sind:

    Befehle in den Kernel übersetzen

  • Kernel-Verarbeitungsergebnisse für Benutzer übersetzen
  • Im Allgemeinen verwenden wir die Bash-Shell.

Bei der Interpretation eines Befehls beteiligt sich Bash nicht direkt an der Interpretation, sondern erstellt einen neuen Prozess zur Interpretation des Befehls. Bash muss nur auf das Ergebnis warten, was die Sicherheit des Bash-Prozesses gewährleistet. 1. Shell Bei der Befehlszeilenmethode handelt es sich jedoch nicht um eine direkte Bedienung des Computers.

Wir wissen, dass die unterste Schicht des Computers tatsächlich aus

0 und 1

besteht. Die Übertragung jedes Befehls wird schließlich in 0,1-Signale umgewandelt und an den Computer übertragen, damit dieser die entsprechenden Anweisungen ausführen kann. Aber wenn jeder Computer auf diese Weise nutzt, wird es zweifellos sehr schwierig sein.

2. Funktion Linux-Betriebssystem dient als

Kern (Kernel)

und Benutzer können es nicht direkt bedienen . Stattdessen kommuniziert es mit dem Computer über Shell. Die englische Definition von „Shell“ ist „Shell“, das ist der

„Befehlszeileninterpreter“

, der auf dem Betriebssystem vorhanden ist, der verwendet wird, um Benutzerbefehle zur Verarbeitung an den Kernel zu übersetzen und dann zu übersetzen Verarbeitungsergebnisse für den Benutzer

Shell kann tatsächlich als „Übersetzer“ zwischen dem Benutzer und dem Betriebssystem angesehen werden. Der Benutzer und das Betriebssystem verstehen die Sprache nicht direkt, sondern über die Konversation Übersetzung: 3. Windows- und Linux-Shell (1) Windows um verwandte Vorgänge auszuführen

(2) Linux

Unter Linux parst die Shell unsere Anweisungen, übergibt die analysierten Anweisungen an den Linux-Kernel, gibt die Ergebnisse zurück und führt sie dann durch den Kernel Geben Sie das Ergebnis aus und analysieren Sie das Ergebnis über die Shell an den Benutzer

4. Bedeutung der Existenz

(1) Erleichtern Sie die Kommunikation zwischen dem Benutzer und dem Betriebssystem

Durch Mit der Shell kann der Benutzer mehr Das Betriebssystem auf einfache Weise nutzen

und die Lernkosten werden erheblich reduziert.

(2) Das Betriebssystem schützen

Ein weiterer Zweck der Shell besteht darin, das Betriebssystem zu schützen. Indem Sie illegale oder ungültige Benutzeranweisungen abfangen, verhindern Sie, dass das Betriebssystem nutzlose oder schädliche Vorgänge ausführt. Wenn wir beispielsweise unter Linux eine Zeichenfolge mit verstümmelten Zeichen eingeben, fängt die Shell den Befehl ab und gibt

5 zurück. Wenn die Shell den Befehl ausführt, führt sie den Benutzer aus

Einen untergeordneten Prozess forken

und die Shell selbst führt den entsprechenden Befehl im Allgemeinen nicht aus. Sie können sich Shell selbst als den Präsidenten eines

Übersetzungsunternehmens vorstellen. Wenn Benutzer Übersetzungsbedarf haben, senden sie Anfragen an Shell Person, sondern entsendet seine Untergebenen, um die zahlreichen und komplexen Anforderungen zu erfüllen. Diese

ausgelagerten Übersetzer sind nur ein Teilprozess.

2. Linux-Berechtigungen

1. Das Konzept der Linux-Berechtigungen

Berechtigungen sind die Einschränkungen für Benutzer im Betriebssystem. (1) Benutzerklassifizierung. Unter Linux sind Benutzer in zwei Arten unterteilt. Einer ist

Superuser

, also root. Das andere sind normale Benutzer.

1. Superuser (Root) Es gibt nur einen Root-Benutzer. Gleichzeitig verfügt der Root-Benutzer über die höchsten Berechtigungen auf dem Betriebssystem.

Man kann davon ausgehen, dass der Root-Benutzer im Betriebssystem wie der Kaiser eines alten Landes ist und an keine gesetzlichen Bestimmungen gebunden ist. Unter dem Root-Benutzer wird die Ausführung eines Befehls nicht durch Berechtigungen eingeschränkt. Sie können

auf die Dateien anderer normaler Benutzer zugreifen und diese ändern und löschen

. Sie können Vorgänge wie das Löschen des Root-Verzeichnisses und der Datenbank des Betriebssystems ausführen, was zu ernsthaften Schäden oder sogar zum Absturz des Betriebssystems führen kann. Daher muss das Passwort des Root-Kontos auf ein komplexes Passwort festgelegt und gut aufbewahrt werden. Die Eingabeaufforderung des

Root-Benutzers

lautet "#"2. Normale Benutzer können mehrere haben. Für normale Benutzer gelten Berechtigungsbeschränkungen. Diese Berechtigungseinschränkungen kommen vom System und von Root-Benutzern.

Die Eingabeaufforderung für normale Benutzer

lautet „$“

(2) Benutzerwechsel

Unter Linux können Sie den Befehl „su“ verwenden, um Benutzer zu wechseln

Hier: Um sich bei einem Konto anzumelden, müssen Sie das Passwort dieses Kontos eingeben. Versuchen Sie daher, das Passwort für jedes Konto unterschiedlich festzulegen. Um sich vom Konto abzumelden, geben Sie Beenden

ein oder verwenden Sie die Tastenkombination

„Strg-D“

Hinweis:

Für normale Benutzer drücken Sie „ su“ und Sie müssen das Passwort des entsprechenden Benutzers eingeben

. Allerdings Was bedeutet Linux-Shell?In „su“ unter dem Root-Benutzer ist es nicht erforderlich, das entsprechende Benutzerkennwort einzugeben

(3) Wechseln Sie nicht den Benutzer, um die entsprechenden Anweisungen auszuführen

Was bedeutet Linux-Shell?

Wenn wir

sind normale Benutzer, aber zu diesem Zeitpunkt benötigen wir Die Ausführung einer Anweisung erfordert Root-Rechte, und wir möchten nicht den Benutzer wechseln, um sie auszuführen

Zu diesem Zeitpunkt können wir den Befehl

„sudo“Was bedeutet Linux-Shell? verwenden. Dieser Befehl kann

kurzzeitig die Berechtigungen normaler Benutzer erhöhen

. Hinweis: Geben Sie bei der Eingabe des Passworts das Passwort dieses Benutzers ein, nicht das Passwort des Root-Benutzers ist kein vertrauenswürdiger Root-Benutzer, dieser normale Benutzer existiert nicht in der entsprechenden Root-Datei, was dazu führt, dass der Befehl „sudo“ nicht ausgeführt werden kann

2 Linux-BerechtigungsverwaltungUnter Linux werden Berechtigungen festgelegt durch „Person“und Zusammengesetzt aus „Dingattributen“.

Personen

bezieht sich auf den Benutzer, der den Vorgang ausführt,

Dingattribute

bezieht sich auf

Eigenschaften der Datei

Was bedeutet Linux-Shell?

(1) Klassifizierung von Dateibesuchern (Personen)

Unter Linux die Dateibesucher sind in drei Kategorien unterteilt: Eigentümer (Onwer), Gruppe (Gruppe)

,

Andere (Andere). Im Gegensatz zu Root-Benutzern und normalen Benutzern, die „konkrete Personen“ sind, handelt es sich bei den drei Kategorien von Dateibesuchern um ein relativ „abstraktes Konzept“, das als „eine Rolle“ angesehen werden kann. Das sind Die Identitäten anderer Benutzer in dieser Datei. Ein normaler Benutzer kann beispielsweise als Eigentümer und Gruppe von Dateien in seinem eigenen Verzeichnis erscheinen, für andere Benutzer jedoch als die Dateien anderer Personen. 1 Der Grund für die Existenz der Gruppe, zu der jemand gehört Jemand ist möglicherweise verwirrt, der Eigentümer einer Datei und andere sind leicht zu verstehen. Der Eigentümer ist der Ersteller der Datei. Und Anderer ist der Benutzer, der nicht der Ersteller ist die Gruppe, zu der die Datei gehört?

Angenommen, wir haben Team A und Team B, die Produkte auf demselben Linux-Rechner entwickeln. Zu diesem Zeitpunkt haben Mitglieder von Team A ein Modul implementiert und der Teamleiter möchte den Inhalt des Moduls sehen. Wenn unter Linux Eigentümer und Andere vorhanden sind, weil der Eigentümer wir selbst sind, müssen wir die Berechtigungen anderer freigeben, wenn der Leiter den Code anzeigen möchte. Aber ein anderes Team wird in diesem Dokument auch als „anders“ betrachtet. Das Loslassen von „anderen“ bedeutet, dass nicht nur der Leiter es sehen kann, sondern auch das andere Team Ihren Code sehen kann, was leicht zu Codelecks führen kann. Um diese Situation zu vermeiden, müssen Sie einer Gruppe angehören. Wir müssen nur den Anführer zu der Gruppe hinzufügen, zu der die Datei gehört, und die Berechtigungen der Gruppe freigeben, damit wir den Code für den Anführer öffnen können, ohne andere Berechtigungen zu öffnen (2) Dingattribute

Jetzt haben wir die obige test.c-Datei. Sie können sehen, dass vor dem Dateinamen dieser Datei eine lange Liste von Attributen steht. Zuvor wussten wir höchstens, dass „25. Okt. 16:43“

der

letzte ÄnderungszeitpunktWas bedeutet Linux-Shell? war und

100

die Festplattennutzung der Datei in Bytes war. Aber wir kennen die vorherigen Attribute nicht. 1. Dateibesucher

Wir haben oben auch die Klassifizierung der Dateibesucher erwähnt. Tatsächlich stellt die erste Wurzel im Bild oben den Eigentümer dar, und die

zweite Wurzel bezieht sich auf die Gruppe gehört zu

. „Andere“ wird nicht angezeigt, da Was bedeutet Linux-Shell?andere Benutzer als diese beiden Benutzer zu „andere“ gehören und keine Notwendigkeit besteht,

anzuzeigen Datei ist bedeutungslos . Weil Linux Dateitypen nicht anhand von Dateisuffixen unterscheidet. Das heißt aber nicht, dass es unter Linux keine Dateitypen gibt. Linux-Dateitypen werden durch

„ll“

als erstes Zeichen in der ersten Spalte der angezeigten Attributspalte unterschieden. Wie Sie im Bild oben sehen können, sind die ersten Zeichen in test und test.c die Zeichen

"d"

bzw. Was bedeutet Linux-Shell?"-"

. Diese beiden Zeichen geben tatsächlich den Dateityp an.

1) Häufige Dateitypen unter Linux -: Gewöhnliche Dateien umfassen hauptsächlich Quellcode, Bibliotheksdateien, ausführbare Programme, Dokumentkomprimierungspakete usw. d: Verzeichnisdateien

c : Zeichengerätedateien

Hauptsächlich Hardware wie Tastaturen, Monitore usw.

b: Blockgerätedateien

wie Festplatten

l: Verknüpfungsdateien

Am Beispiel von Windows die Verknüpfungen Auf dem Desktop befinden sich tatsächlich Es handelt sich um eine Linkdatei. Die Verknüpfung verweist auf das Startprogramm der entsprechenden Software. Unter Linux führen wir den Befehl „ln -s a.out test“ aus:

Zu diesem Zeitpunkt wird ein „Link-Dateitest“ für die a.out-Datei erstellt und der Anfang der Datei wird erstellt eigentlich steht " l" für

Link-Datei

Wenn wir eine.out-Datei ausführen möchten, können wir test verwenden:

p: Pipeline-Datei

Was bedeutet Linux-Shell?Pipeline-Datei beinhaltet

Interprozesskommunikation

, hier ist es nicht klar, jetzt müssen Sie nur noch wissen, dass eine solche Datei existiert3. Dateiberechtigungen

Wie Sie sehen können, sind außer dem ersten Zeichen hier der Dateityp übrig, es sind noch 9 übrig Charakter. Gleichzeitig wissen wir, dass

Dateibesucher in drei Kategorien unterteilt sindWas bedeutet Linux-Shell?, und unter diesen 9 Zeichen stellen

jede drei Zeichen eine Art Besucherzugriffsrecht dar

.

(1) Dateiberechtigungsklassifizierung

Dateiberechtigungen sind in drei Kategorien unterteilt, nämlich

„r“, „w“, „x“

.

Das „r“

steht für Was bedeutet Linux-Shell?read

, was

Datei lesen bedeutet. "w" bedeutet schreiben

, also

den Inhalt der Datei ändern. '"x"

steht für

ausführen, also die entsprechende Datei ausführen

Die Besucherberechtigungen jeder Datei setzen sich aus diesen drei Berechtigungen zusammen. Sortieren nach "rwx". Wenn die entsprechende Berechtigung „-“ ist, bedeutet dies, dass die Berechtigung

1Was bedeutet Linux-Shell?

der Berechtigung im Bild oben entspricht „rwx -xr r-x“, bedeutet, dass der Eigentümer über Lesen, Schreiben und Ausführen verfügt Berechtigungen ; gehört zu Die Gruppe hat Lese- und Schreibberechtigungen, aber keine AusführungsberechtigungenBesucher haben Lese- und Ausführungsberechtigungen, aber keine Schreibberechtigungen. Die Leerzeichen werden hier nur zur Vereinfachung der Unterscheidung hinzugefügt. In der tatsächlichen Anzeige werden keine Leerzeichen angezeigt. (2) Berechtigungsänderung nacheinander. Berechtigungen in Linux unterstützen auch die Änderung und Verwendung

„chomd“ beim Ändern von

Befehl. Wenn wir beispielsweise die Executor-Berechtigungen im Bild unten in „-wx“ ändern möchten, können wir „chomd u-r test“ ausführen: , „-“

bedeutet

die entsprechende Berechtigung entfernen. Und „g“

steht für

die Gruppe , zu der es gehört, und „o“ steht für andere Personen

. Wenn Sie

die Berechtigungen anderer Besucher ändern möchten, ändern Sie einfach „u“ 1Was bedeutet Linux-Shell? entsprechend. Wenn Sie

eine Art Berechtigung hinzufügen

möchten, können Sie „-“ in „+“ ändern. Natürlich können Sie beim Hinzufügen oder Löschen von Berechtigungen auch die Form „Mehrere Besucher und mehrere Berechtigungen“ verwenden, z. B. „chmod u-rwx,g-rwx test“: Wenn Sie möchten Um die Berechtigungen aller Besucher zu ändern, können Sie auch "u, g, o" in "a" mit den entsprechenden Berechtigungen ändern, was hier nicht gezeigt wird. 2. Ändern Sie den Dateieigentümer und die Gruppe Um den Dateieigentümer zu ändern, müssen Sie über die entsprechenden Berechtigungen verfügen, andernfalls müssen Sie

"sudo"

verwenden, um die Rechte zu erhöhen. Der Befehl zum Ändern des Dateieigentümers lautet „chown entsprechender Benutzerdateiname“:

1Was bedeutet Linux-Shell? Wenn Sie

die Gruppe ändern

möchten, verwenden Sie den Befehl „chgrp“ . Die Verwendungsmethode ist dieselbe wie „chown“ , hier werde ich es nicht mehr demonstrierenWenn Sie

den Eigentümer und die Gruppe gleichzeitig ändern möchten

, verwenden Sie einfach den Befehl „chown Benutzername: Benutzername Dateiname“ Die Verwendungsmethode ist das Gleiche:

Was hier verwendet wird: Als Root-Benutzer ist sudo für die Verwendung nicht erforderlich, während normale Benutzer sudo benötigen. Für Andere besteht keine Notwendigkeit,

zu ändern, da andere Benutzer als der Eigentümer und die Gruppe, zu der sie gehören, unterschiedliche sind

1Was bedeutet Linux-Shell?

3 Berechtigungen werden gleichzeitig geändert

Wir sagten, dass in einem Computer, Alle Befehle sind 0,1-Signale, die in gewisser Weise übertragen werden. Berechtigungen gibt es in zwei Zuständen: mit und ohne , die sich ebenfalls

aus 0,1

zusammensetzen. "rwx" kann als "111" und

"---"

als 1Was bedeutet Linux-Shell?"000"

gesehen werden. Und diese

binär

, wenn sie in

oktal umgewandelt werden, sind „7“ und „0“. Daher kann der Oktalbereich der Berechtigungen als "[0, 7]"

angesehen werden. Im Oktal bedeutet

"r" 4

,

"w"

bedeutet

2, "x" bedeutet 1 Daher ist beim Ändern von Berechtigungen zusätzlich zur Verwendung von „u-“ In Zusätzlich zur Änderung in dieser Form können Sie sie auch in oktaler Form ändern. Das ist „chmod die oktale Zahlenkombination der drei Besucherdateinamen“ . Zum Beispiel "chmod 777 test": Diese Änderungsmethode ist praktischer als die erste Methode, bei der mehrere Besucherberechtigungen einzeln geändert werden müssen. Hinweis: Wenn Sie nicht alles hier aufschreiben Methode: Wenn Sie beispielsweise "7" oder "35" schreiben, ändert das System es von hinten nach vorne, also aus der Richtung von other->group->owner, weil Zu diesem Zeitpunkt sind andere Berechtigungen standardmäßig auf 0. Wird nicht angezeigt . Wie unten gezeigt:

3. Berechtigungsmaske

Tatsächlich ist die Startberechtigung für ein neues Verzeichnis 777 und die Startberechtigung für einen neuen Ordner ist 666. Aber was wir tatsächlich sehen, ist nicht so. Der Grund dafür ist, dass das Erstellen von Dateien oder Verzeichnissen von umask (Berechtigungsmaske) beeinflusst wird.

(1) Die Rolle des

umask-Werts der Berechtigungsmaske, dh der Berechtigungen , die in der Berechtigungsmaske vorhanden sind, wird vom System automatisch konfiguriert. Entfernen Sie beim Generieren von Dateien oder Verzeichnissen die Berechtigungen in der Berechtigungsmaske.

(2) umask anzeigen

Um den umask-Wert anzuzeigen, geben Sie direkt den Befehl "umask" ein:

1Was bedeutet Linux-Shell?

Die erste 0 ist uns hier egal, nach der ersten 0 Das ist die Erlaubnis, die jeder Besucher entfernen muss. Das heißt, standardmäßig muss im System der Besitzer jeder neu erstellten Datei oder jedes neu erstellten Verzeichnisses keine Berechtigungen entfernen, und die Gruppe, zu der gehört, muss 2, also Schreibberechtigungen andere, entfernen Sie müssen 2 entfernen, d über. Bitte beachten Sie, dass die Umask-Werte von normalen Benutzern und Root-Benutzern unterschiedlich sind. Der Umask-Wert von normalem Benutzer

ist

002Was bedeutet Linux-Shell? und der von

Root-Benutzer

ist

022

(3) Ändern Sie den Umask-WertObwohl der Umask-Wert standardmäßig vom System generiert werden kann, es kann auch manuell geändert werden. Die Änderungsmethode ist

„umask 0 entsprechende Berechtigung“

. Beispiel: "umask 0444":

Sie können sehen, dass nach dem Ändern des umask-Werts die entsprechenden Berechtigungen in den Standardberechtigungen der neu erstellten Datei entfernt werdenHinweis: Der umask-Wert wird nicht verwendet die anfänglichen Berechtigungen, um den Berechtigungswert zu reduzieren, aber die entsprechende Berechtigung entfernen

. Beispielsweise beträgt die anfängliche Berechtigung der Datei 666. Zu diesem Zeitpunkt ändern wir den

umask-Wert in 0111Was bedeutet Linux-Shell?. Wenn Sie die Subtraktion verwenden, wird daraus 555, also

"r-xr-xr-x"

. Aber eigentlich sollte es so sein:

Entfernen Sie die „x“-Berechtigung

, die 1 entspricht, das heißt, es ist immer noch die „666“-Berechtigung, also “rw-rw-rw-“: Einige Die Leute fragen sich vielleicht, warum das Verzeichnis beginnt. Die anfänglichen Berechtigungen sind 777 und die anfänglichen Berechtigungen der Datei sind 666. Der Grund dafür ist, dass Sie zum Eingeben eines Verzeichnisses Ausführungsberechtigungen benötigen, d. x“-Berechtigungen , da der Root-Benutzer nicht durch Berechtigungen eingeschränkt ist

2Was bedeutet Linux-Shell?Verwandte Empfehlungen: „

Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet Linux-Shell?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn