Die PATH-Variable
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 61 von 82.
Die PATH-Variable ist eine der wichtigsten Umgebungsvariablen in Ihrem System. Sie gibt der Shell an, wo sie nach ausführbaren Programmen suchen soll, wenn Sie einen Befehl eingeben.
Wenn Sie einen Befehl wie ls oder cat ausführen, weiß die Shell nicht magisch, wo diese Programme gespeichert sind. Sie durchsucht eine Liste von Verzeichnissen, die in PATH definiert sind. Zeigen Sie es mit an:
echo $PATHSie sehen etwas Ähnliches wie dieses:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbinJedes Verzeichnis ist durch einen Doppelpunkt (:) getrennt. Wenn Sie ls eingeben, überprüft die Shell jedes Verzeichnis der Reihe nach: zuerst /usr/local/bin, dann /usr/bin usw., bis sie das ls-Programm findet.
Wenn ein Programm in keinem dieser Verzeichnisse ist, erhalten Sie eine „command not found“-Fehlermeldung. Deshalb ist das Verständnis von PATH wichtig.
Wenn Sie neue Software installieren oder eigene Skripte erstellen, müssen diese in einem Verzeichnis stehen, das in PATH aufgeführt ist, oder Sie müssen den vollständigen Pfad eingeben, um sie auszuführen.
Mit which können Sie genau herausfinden, wo ein Befehl liegt:
which lsDies zeigt den vollständigen Pfad zum Programm, das ausgeführt wird, wenn Sie diesen Befehl eingeben.
Aufgabe
EinfachVerwenden Sie den which-Befehl, um den vollständigen Pfad zum cat-Programm zu finden.
Der which-Befehl durchsucht die in Ihrer PATH-Variable aufgeführten Verzeichnisse und zeigt Ihnen genau, wo die ausführbare Datei eines Befehls liegt.
Ihre Ausgabe sollte den vollständigen Pfad zum cat-Programm anzeigen (etwas wie /usr/bin/cat oder /bin/cat).
Hinweis: Das Befehlsformat ist
which command_name
Spickzettel
Die PATH-Variable teilt der Shell mit, wo sie nach ausführbaren Programmen suchen soll. Zeigen Sie sie an mit:
echo $PATHDie Ausgabe zeigt Verzeichnisse, die durch Kolons (:) getrennt sind:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbinWenn Sie einen Befehl ausführen, durchsucht die Shell diese Verzeichnisse der Reihe nach, bis sie das Programm findet.
Um den genauen Speicherort eines Befehls zu finden, verwenden Sie which:
which lsProbier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-Pipeline