User Tools

Site Tools


terminal

↩ Library Workflows

Umgang mit dem Terminal-Programm

Terminal-Programm starten

  • Terminal gehört unter OSX zu den Dienstprogrammen im Programme-Ordner (Applications)

terminal.jpg

  • liegt aber auf den meisten Rechnern schon im Dock

Orientieren und Bewegen in den Verzeichnissen

  • Um sich in den Verzeichnissen zu bewegen wird der Befehl cd [Leertaste] Zielverzeichnis (change directory) verwendet. Für das Zielverzeichnis gibt es zwei Möglichkeiten:
    • Absolute Pfadangabe: Der gesamte Pfad wird mit einem / begonnen. Um an den Ordner 'Sonderauftraege' auf digigroup zu gelangen, geben wir in das Terminal cd /Volumes/digigroup/Sonderauftraege ein und bestätigen mit Enter.
    • Relative Pfadangabe: Wird der einleitende Schrägstrich bei der Pfadangabe weggelassen, fügt das Terminal automatisch das aktuell geöffnete Verzeichnis ein. Wenn wir uns im Ordner 'Sonderauftraege' befinden und in den Ordner Sonderauftraege/STRESA wechseln möchte, geben wir einfach cd STRESA ein.
  • Tipps:
    • Mit cd .. gelangen wir eine Ebene höher
    • Beim Start des Terminals befinden wir uns in unserem User-Ordner. Dieser wird mit ~ dargestellt
    • Laufwerke sind mit ihrer Bezeichnung im Ordner 'Volumes' in die Verzeichnisstruktur eingegliedert
    • Verzeichnisnamen können via Drag&Drop aus dem Finder in das Terminal kopiert werden
    • Sobald ein Verzeichnis- oder Dateiname eindeutig ist, kann er mit der Tabulatortaste automatisch vervollständigt werden.
  • Um uns in Verzeichnisstrukturen zurecht zu finden, benötigen wir jedoch zunächst Informationen, über den Inhalt der einzelnen Ordner. Hier hilft uns der Befehl ls (list), der um folgende Optionen ergänzt werden kann:
    • -a zeigt auch versteckte Dateien und Ordner an
    • -l zeigt die Zugriffsrechte, den Besitzer, dessen Benutzergruppe, Dateigröße in Bytes, sowie das jüngste Änderungsdatum.
    • Es gibt noch eine große Anzahl weiterer Option, die jedoch keine große Bedeutung für uns haben. Eine vollständige Liste finden wir in der Mac Developer Library oder durch Eingabe von man ls im Terminal
    • Optionen können auch kombiniert werden, also zB ls -la

Bewegen und Verändern der Verzeichnisse

  • Die folgenden Befehle folgen allgemein der Struktur Befehl[Leertaste]-Option[Leertaste]Ziel
  • Die wichtigsten Befehle:
    • mkdir (make (a) directory) erstellt ein Verzeichnis
    • mv (move) bewegt ein Verzeichnis oder eine Datei und dient auch dem Umbenennen
    • cp (copy) kopiert ein Verzeichnis oder eine Datei
    • rm (remove) löscht ein Verzeichnis oder eine Datei
  • Die wichtigsten Optionen
    • -R (rekursiv) ermöglicht das Erfassen von Ordnern
    • -v (verbose) gibt bei Gesamtvorgängen auch die Einzelvorgänge aus
  • Beispiele:
    • mkdir /Volumes/digigroup/foo erstellt auf digigroup einen Ordner mit dem Namen 'foo'
    • mv /Volumes/digigroup/foo/foo.bar /Volumes/USB-Stick/ verschiebt die Datei foo.bar vom Ordner 'foo' auf einen USB-Stick (dessen Name natürlich eingefügt werden muss)
    • mv /Volumes/digigroup/foo/foo.bar /Volumes/digigroup/foo/oof.bar benennt die Datei foo.bar in oof.bar um.
    • cp -rv /Volumes/digigroup/foo /Volumes/archive_data/library/inbox/ kopiert den Ordner foo von digigroup in den inbox-Ordner. Ohne die Option -r gäbe Terminal die Fehlermeldung cp: /Volumes/digigroup/foo is a directory (not copied). aus. Ohne die Option -v gäbe das Terminal bei einem erfolgreichen Kopiervorgang keine Meldung aus. Durch -v wird jede einzelne erfolgreich kopierte Datei angezeigt
    • rm -r /Volumes/digigroup/foo löscht den Ordner 'foo' auf digigroup. Ohne die Option -r erschiene die Fehlermeldung rm: /Volumes/digigroup/foo: is a directory
  • Tipp: Mit * können auch im Terminal Zeichen ersetzt werden. cp /Volumes/digigroup/foo/*.jpg /Volumes/digigroup/bar/ würde z.B. alle Dateien mit der Endung '.jpg' vom Ordner 'foo' in den Ordner 'bar' kopieren

Login

Mit dem Terminal können wir uns vom lokalen Rechner aus auf einen anderen Rechner am Netz einloggen.

  • ssh -l username servername
    • anschließend folgt die Passwortabfrage
  • bei SSH-Servern ohne Passwort wird ein Identifizierungsschlüssel (public-key) benötigt
  • Achtung: Auf dem Server liegt eine andere Verzeichnisstruktur vor. Zugriff auf 'archive_data' erfolgt über /mpiwg/archive/data/, 'online_permanent' wird mittels /mpiwg/online/permanent/ angewählt. digigroup und der eigene Rechner sind gar nicht erreichbar
    • Außerdem stehen uns einige Optionen, wie etwa -v nicht zur Verfügung
    • exit beendet die ssh-Verbindung

Weitere Befehle

  • du -ks Verzeichnis/*|sort -n: sortiert in einem Verzeichnis nach Größe
  • rsync -va [Quelle] [Ziel] synchronisiert zwei Ordner miteinander. Dabei werden die Dateien auch auf die Größe und das Änderungsdatum geprüft. Die Option –archive behält die Attribute der Dateien bei

Virtuelles Terminal

Wird das normale Terminalfenster geschlossen, wird ein laufender Vorgang (z.B. Kopieren) abgebrochen.
Vorgänge, die in einem virtuellen Terminal gestartet werden, laufen dagegen auch weiter, wenn der lokale Computer herruntergefahren und somit das Terminal-Programm beendet werden muss. Achtung! Ein einmal gegebener Befehl kann in einem virtuellen Terminal

  • screen bash: öffnet ein virtuelles Terminal
  • CTRL A und anschließend CTRL D drücken: das virtuelle Terminal wird auf der lokalen Maschine abgemeldet - alle Vorgänge laufen aber weiter. Wiederanmeldung erfolgt mit CTRL R
  • screen -ls: zeigt alle vorhandenen virtullen Terminals an
  • screen -r xxxxx: ruft ein virtuelles Terminal mit der Nummer xxxxx auf
  • exit: beendet ein aktives virtuelles Terminal
terminal.txt · Last modified: 2020/10/10 14:13 by 127.0.0.1