UnixTools01 03

From
Revision as of 17:26, 23 November 2024 by Jpr (talk | contribs)
Jump to navigation Jump to search

Files, Directorie, Working Directory

Auf einem Computer gibt es tausende Dateien, die sich in Verzeichnissen befinden, die sich selbst auch wieder in Verzeichnissen befinden können.

Eine Datei info.txt', die sich in einem Verzeichnis b befindet, dass sich selbst in einem Verzeichnis a befindet, wird als /a/b/info.txt geschrieben. Man nennt dies auch den vollständigen Namen der Datei. (dass es sich um einen vollständigen Namen handelt erkennen wir daran, dass er mit einem / beginnt).

Ihre Shell hat zu jedem Zeitpunkt ein einziges Verzeichnis ganz besonders im Augo - das sogenannte Working Directory.Wenn Sie sich frisch angemeldet haben (login), ist dieses "auserwähöte Directory"" (Working Directory) ihr Home Directory. Das ist ein Verzeichnis, das der Systemadminstrator speziell für Sie angelegt hat, für Ihre Daten. Andere Nutzer werden andere Verzeichnisse haben, damit man sofort sieht, welche Dateien zu wem gehören.

pwd

Um den Namen des Working Directories zu erfahren, benutzen Sie das Kommando pwd (Pint Wirking Directory)

 gruenau4 jpr 1 ( ~ ) $ pwd
 /vol/home-vol1/unixsoft/jpr

Wenn Sie dies unmittelbar nach dem Anmelden (login) tun, dann erfahren Sie also den Namen ihres Home Directories.

Der Name des Working Directories ist übrigens immer ein vollständiger Name, was wir daran erkennen, dass er mit / beginnt.

cd my_directory =

Während Sie ihr Home Directory nicht ändern können (es ist einfach dasjenige Verzeichnis, in dem ihre Daten liegen), kann die Shell das Verzeichnis, das sie gerade im Auge hat, also das Working Directory, ändern. Dazu verwenden wir das Kommando cd (Change Directory) und geben gleich danach, als Argument, den Namen des neuen Working Directories an.

 gruenau4 jpr 1 ( ~ ) $ cd /vol/home-vol1/unixsoft/medvediu/
 gruenau4 jpr 2 ( medvediu ) $ pwd
 /vol/home-vol1/unixsoft/medvediu

Gleich danach können wir, wie zuvor, mit pwd den Namen des neuen Working Directories ermitteln. Tipp: Achten Sie auf den Prompt der Shell! Dort finden Sie vielleicht einen Hinweis darauf, dass Sie jetzt ein anderes Working Directory haben.

Die Bedeuting von ~

Dieser Hinweis, dass der Promt der Shell uns einen Hinweis auf das aktuelle Working Directory gibt (nur einen Hinweis, nicht den vollständigen Namen), bringt uns zu der Frage, warum am Anfang, gleich nach dem Anmelden (login), dort ~. Das ist kein Fehler. Das Zeichen ~ steht stellvertretend für den vollständigen Namen von Ihrem Home Directory. Es ist also egal, ob Sie ~, oder den vollen Namen von Ihrem Home Directory schreiben, es bedeutet dasselbe, * ist nur einfach kürzer und bequemer. Warum diese Regel? Sie werden sehen, dass Sie den NAmen Ihres Home Directories immerzu eingeben werden, es ist schließlich der Ort, an dem sich Ihre Dan befinden. Da ist es ungemein praktisch, wenn Sie das mit einem Zeichen, ~, abkürzen können.

Alles verstanden? Dann verstehen Sie auch, was das folgende Kommando macht

 gruenau4 jpr 3 ( medvediu ) $ cd ~
 gruenau4 jpr 4 ( ~ ) $ pwd
 /vol/home-vol1/unixsoft/jpr

Richtig, es ändert das Working Directory ... das neue Working Directory ist wieder ihr Home Directory (das Verzeichnis, in dem sich ihre persönlichen Daten befinden), so, wie es ganz am Anfang, nach dem login war.


ls

Das Kommando ls (LiSt) zeigt Ihnen, welche Dateinen und vielleicht auch Verzeichnisse sich in ihrem aktuellen Working Directory befinden.

  • gehen Sie mit 'cd /vol/home-vol1/unixsoft/jpr' zum Verzeichnis vol/home-vol1/unixsoft/jpr (das ist Jargon dafür, dass sie der Shell sagen, dass das Working Directory ab sofort /vol/home-vol1/unixsoft/jpr sein soll)
  • führen Sie das Kommando ls aus
  • jetzt werden Ihnen alle Dateien gezeigt, die sich im Verzeichnis /vol/home-vol1/unixsoft/jpr befinden (weil /vol/home-vol1/unixsoft/jpr aktuell das Working Directory ist).
  • gehen Sie jetzt mit 'cd /vol/home-vol1/unixsoft/medvediu' zum Verzeichnis /vol/home-vol1/unixsoft/medvediu
  • führen Sie das Kommando ls aus
  • jetzt werden Ihnen alle Dateien gezeigt, die sich im Verzeichnis /vol/home-vol1/unixsoft/medvediubefinden (weil /vol/home-vol1/unixsoft/medvediuaktuell das Working Directory ist).
 gruenau4 jpr 10 ( ~ ) $ ls
 archive.tar  ks-db  old-sftp  projects  sftp  sftp-old  pass

Falls Sie nicht ständig ihr Working Directory ändern wollen, kännen Sie dem Kommando ls auch gleich (als Argument) sagen, von welchem Verzeichnis Sie sich den Inhalt zeigen lassen wollen

 gruenau4 jpr 11 ( ~ ) $ ls /vol/home-vol1/unixsoft/medvediu
 bin  mydata  olddata  university   homeworks

ls -l

Das Kommando ls kennt eine Vielzahl von Optionen. Optionen beginnen mit einem - und sind dadurch von anderen Argumenten (wie zum Beispiel Dateinamen) unterscheidbar. Die Option '-l' (l = long) veranlasst ls, etwas mehr Informationen über den Inhalt eines verzeichnisses auszugeben


 gruenau4 jpr 11 ( ~ ) $ cd /vol/home-vol1/unixsoft/jpr
 gruenau4 jpr 12 ( ~ ) $ ls -l
 insgesamt 21670
 -rw------- 1 jpr unixsoft 22087680 23. Jul 22:09 archive.tar
 drwx------ 2 jpr unixsoft        3 17. Sep 15:04 ks-db
 drwx------ 9 jpr unixsoft        9 25. Apr 2024  old-sftp
 drwx------ 4 jpr unixsoft        4 17. Sep 15:06 projects
 drwx------ 2 jpr unixsoft        2  4. Okt 05:15 sftp
 drwx------ 9 jpr unixsoft        9 11. Mai 2024  sftp-old
 drwx------ 2 jpr unixsoft       36  5. Mai 2024  pass

In diesem Verzeichnis gibt es 7 Dinge, das erste (archive,tar) ist eine Datei, alles andere sind Verzeichnisse. Der Name steht jeweils am Ende. An dem 'd' ganz am Anfang sehen wir, dass essich um ein Verzeichnis handelt (wäre es eine Datei, würde dort '-' stehen, so wie in der ersten Zeile, für die Datei archive,.tar) Unmittelbar vor dem Namen befindet sich eine Zeitangabe,m wann diese Datei (oder dieses Verzeichnis) das letzte mal verändert wurde. Davor befindet sich die Angabe der Länge. Den Rest werden wir uns später genauer ansehen.