Kann mir jemand für absolute Laien erklären was mit einem Verzeichnis gemeint ist, bei Linux wenn man pwd eingibt?
"pwd ist die Abkürzung für “print working directory”, so dass du jederzeit abfragen kannst in welchem Dateipfad sich deine Shell befindet.
Liste die Dateien deines momentanen Verzeichnis auf",
also ich muss mich mit Linux befassen für die Uni und verstehe leider nichts. Ich habe absolut keine Ahnung von so etwas und bin froh, wenn ich überhaupt mein Laptop hochgefahren bekommen. Könnte mir also einer für absolute Laien die Definition, die ich vom Prof bekommen habe erklären? Was genau bedeutet Verzeichnis und was sorgt pwd? Am besten mit einem einfachen Beispiel, damit ich es mir vorstellen kann. Ich habe viel gegooglet, aber die Erklärungen bringen mir nicht weiter, da ich jedes 2. Wort nicht verstehe, weil halt absolut 0 Wissen von Infomartik.
danke
6 Antworten
in Unix- und Linux-Betriebssystemen wird ein sogenannter Verzeichnisbaum aufgebaut. Dargestellt wird dieser "Baum" wie ein richtiger Baum, nur steht der auf dem Kopf.
Er beginnt mit einer Wurzel, verzweigt sich in dicke, weiter nach vorn in dünne Äste und endet bei den Blättern.
Bis auf den Namen "Wurzel" oder in englisch "root" (Zeichen / ) wird aber nicht mehr von Ästen und Blättern gesprochen.
Äste sind dann Verzeichnisse in englisch Directories oder auch Ordner.
Blätter sind dann Dateien bzw. Files.
Jedes Directory ist ähnlich aufgebaut wie eine Datei in dem dann die Namen untergeordneter Directories und Files wie in einer Datei aufgelistet sind. Zusätzlich kommen zu den Namen noch sogenannte Metadaten hinzu (wann erstellt, wer ist der Besitzer, welche Rechte ...).
Wenn man auf ein Verzeichnis oder eine Datei zugreifen will, muss eine "Wegbeschreibung" von der Wurzel bis zu dem Punkt vorliegen, wo sich das Directory bzw. der File befindet. So eine "Wegbeschreibung" wird Pfad (Path) genannt.
Ein Pfad beginnt immer mit / , gefolgt von allen notwendigen Verzeichnisnamen, die bis zum Ziel vorhanden sind.
Beispiel:
/home/Lucas/Dokumente/Zeugnisse/2020/
Wenn man das immer wieder eingeben sollte, wird man Blasen an die Fingern bekommen.
Unix und Linux haben für solche Namen Variablen, in die ein Teil dieser Namenskette automatisch eingetragen wird.
So z.B. die Variable HOME. Auf das Beispiel bezogen wird darin "/home/Lucas" stehen. Der Pfad muss dann nur noch mit
$HOME/Dokumente/Zeugnisse/2020/
angegeben werden. Eine selbst definierte Variable mit dem Inhalt
Z=$HOME/Dokumente/Zeugnisse/
verkürzt das Ganze dann auf $Z/2020
Nun gibt es den Befehl cd (change directory) der definiert selbst eine Variable, die immer den Namen PWD hat.
Würdest du mit cd /home/Lucas/Dokumente/Zeugnisse/2020/
dich in dieses Verzeichnis stellen , wird PWD genau diesen Inhalt erhalten.
Von dort aus kann man dann auf "kurzem Wege" in der Nähe liegende Verzeichnisse erreichen.
Das steht aber in vielen Büchern.
wird also
Die Files auf der Festplatte sind in "Ordnern" organisiert. Das ist sinnvoll, denn wenn man alle Files zusammen in einer Liste speichern würde, wäre das extrem unübersichtlich. Um Klarheit zu schaffen, kann man z.B. alle Files, die zum Betriebssystem gehören, in einen bestimmten Ordner speichern und die Dateien, die nur dich dich persönlich nützlich sind, in einen anderen. Dabei sind Unterorder auch hilfreich, also Ordner, die in Ordnern liegen.
Unter Linux kann das z.B. so aussehen:
/home ist der Ordner, indem alle Benutzer des Computers einen eigenen Ordner haben. Wenn dein Loginname Lucas ist, gibt es dann den Unterorder \user\Lucas . Darin kannst du einen Ordner erstellen, in dem deine Fotos liegen und einen für Texte: /home/Lucas/Fotos und /home/Lucas/Texte usw.
Die Shell arbeite immer in einem bestimmten Order. Wenn du z.B. den Befehl ls eingibst, wird dir der Inhalt dieses aktiven Ordner angezeigt. pwd zeigt dagegen den Namen des aktiven Ordners an. Mit cd wechselst du den Order.
Um die die Liste mit all deinen Fotos an zu zeigen, würdest du z.B. so vorgehen:
cd /user/Lucas/Fotos
ls
Dann ist der aktive Order, den dir pwd anzeigt "\user\Lucas\Fotos". Um eine Hierarchie höher zu kommen, also in "\user\Lucas" kannst du das entweder "absolut" adressieren:
cd \user\Lucas
oder die Abkürzung .. verwenden:
cd ..
Verzeichnis = Ordner (im Dateisystem). Das Dateisystem organisiert Dateien in einer Baumstruktur von Verzeichnissen.
In der Kommandozeile (Shell) bist du automatisch in einem "Arbeitsverzeichnis". Anfangs (wenn du dich in eine Shell begibst) ist das dein User-Home, wo sich deine "eigenen" Dateien befinden. Du kannst aber (mit dem Kommando "cd" = change directory) das Verzeichnis wechseln. In welchem du gerade "bist" zeigt eben "pwd" an.
Pfadangaben können relativ zum aktuellen Verzeichnis (ohne / am Anfang) sein oder absolut (mit / am Anfang). Relative Pfadangaben sind logischerweise bequemer, weil man nicht immer den vollen Pfad hinschreiben muss.
Das aktuelle Verzeichnis ist über die Abkürzung "." (Punkt) angebbar. Das übergeordnete durch zwei Punkte "..". Pfadtrenner is der Slash "/" (anders als bei Windows der Backslash).
Das Kommando
cd ../../xyz
bedeutet demnach "gehe in das übergeordnete Verzeichnis, von dort nochmal in das übergeordnete, und von dort in das Verzeichnis "xyz".
Das ist vergleichbar mit Telefonnummern und Vorwahlen: Im Ortsnetz muss du nicht keine Vorwahl eingeben, wenn du jemandem im selben Ort anrufen willst. Wenn du iom anderen Ort anrufen willst wählst du die 0 vor "raus aus meinem Ortsnetz" und danach die Ortsvorwahl ("rein in den Ort XY"). Und genauso mit Ländern: 00 ("raus aus dem Ort, raus aus dem Land") und dann die Ländervorwahl (49 für DE) und wieder die Ortsvorwahl.
Du solltest dich mal ein bisschen mit der Shell befassen, denn abstrakt ist das etwas schwer verständlich...
In computing, the working directory of a process is a directory of a hierarchical file system dynamically associated with each process. It is sometimes called the current working directory (CWD).
Ein Aufruf von pwd nennt dir den Pfad hin zum current working directory (ausgehend von der Wurzel / des Filesystems).
Mehr dazu hier: https://en.wikipedia.org/wiki/Working_directory
Mit cd (change directory) kannst Du in jedes gewünschte Verzeichnis wechseln.
Mit pwd kannst Du prüfen in welchem Verzeichnis Du Dich aktuell befindest.
|
Die folgenden Worte stehen für ein und dasselbe:
Verzeichnis = Dateiverzeichnis = Ordner = directory.
Verzeichnis = Ordner
In einem Ordner können andere Ordner, oder Dateien sein.
Nehmen wir an, du hast einen Ordner "Bilder" und da drin den Ordner "Urlaubsbilder" und "Vorlesungsfotos", in dem sich die Datei "Vorlesung_Informatik_1_Foto_2.jpg" befindet.
Alle deine Dateien befinden sich normalerweise in /home/lucas.
Dann wäre ein Dateipfad /home/lucas/Bilder/Urlaubsbilder und ein anderer /home/lucas/Bilder/Vorlesungsfotos/Vorlesung_Informatik_1_Foto_2.jpg.
Bei Linux sind die Schrägstriche aber andersrum. Also cd user/Lucas/Fotos
Und "user" wäre normalerweise eher "home".