Befindet man sich auf dem Terminal unter Linux nicht in seinem Home-Verzeichnis, gibt man unter normalen Umständen, um einen Befehl darin auszuführen, den kompletten Pfad zur ausführbaren Datei an, also etwa: Show
Code: Alles auswählen
Dies ist ein sehr langer Befehl, unter Linux kann man den Pfad zu seinem Home-Verzeichnis mit der Tilde "~" abkürzen, also: Code: Alles auswählen
Windows lässt sich mit einem U-Boot vergleichen - mach ein Fenster auf und die Probleme beginnen ... Auf dem OMNI-Cluster ist, wie auf praktisch allen Hochleistungsrechnern, das Betriebssystem Linux installiert (in diesem Falle CentOS 8.5). Hier sind ein paar allgemeine Konzepte, sowie gängige Befehle, insbesondere solche, die die Arbeit auf dem Cluster betreffen. Die Informationen auf dieser Seite entsprechen größtenteils denen in unserem semesterweise stattfindendem Linux-Einführungskurs sowie dem von uns miterstellten interaktiven Linux-Video-Tutorial. Ein weiteres sehr gutes Tutorial über Linux-Grundlagen findet sich zum Beispiel hier. Auf dieser Website stehen Informationen zu den folgenden Themen:
Linux enthält außerdem einen eingebauten Hilfemechanismus, der von der Konsole aus erreichbar ist. Der Befehl
die von den SLURM-Entwicklern geschriebene
Man-Page für den Befehl Viele Befehle bieten auch eine interne Hilfefunktion, die meist mit VerzeichnisstrukturDie Verzeichnisstruktur in Linux ist eine Baumstruktur, es gibt ein Verzeichnis auf der höchsten Ebene,
das sogenannte Root-Verzeichnis, bezeichnet mit Die Dateistruktur bei Linux ist etwas anders als die von Windows. Während bei Windows die einzelnen Festplatten Buchstaben zugewiesen bekommen und die Unterteilung eindeutig sind, benutzt Linux sogenannte Mounting Points: Die Verzeichnisstruktur ist bei jedem Linux-System (weitestgehend) identisch und die verschiedenen Festplatten sind an einer bestimmten Stelle in dieser Verzeichnisstruktur, ihrem Mounting Point, eingehängt. Der Vorteil ist, dass Sie als Nutzer sich in der Regel keine Gedanken über die physikalischen Festplatten machen müssen. Insbesondere im Fall des OMNI-Clusters gibt es zwei Verzeichnisse, in denen Sie sich in der Regel bewegen: Ihr Home-Verzeichnis ( Achtung: Diese Verzeichnisse können sich jederzeit ändern! Es ist immer sinnvoller, wenn möglich Umgebungsvariablen zu verwenden anstatt hart festgeschriebener Dateipfade. Wie Sie Umgebungsvariablen verwenden, wird weiter unten erklärt. BerechtigungenWas Sie unter Linux tun dürfen, hängt davon ab, als welcher User (Nutzer) Sie angemeldet sind. Üblicherweise haben Sie genau einen Usernamen, der mit Ihrer ZIMT-ID (g-Nummer) identisch ist. Der User mit den höchsten Administratorrechten wird unter Linux als Superuser oder Root-User ( User werden zu Gruppen zusammengefasst. Jeder User hat eine primäre Gruppe und kann beliebig vielen weiteren Gruppen angehören. Sie können Ihre Gruppen mit dem Befehl Jede Datei und jedes Verzeichnis in Linux gehört einem User und nur dieser User (oder der Es gibt drei Arten von Zugriffsrechten für Dateien und Verzeichnisse: lesen (read), schreiben (write) und ausführen (execute). Die Rechte können für drei Typen von Nutzern getrennt gesetzt werden, nämlich für den Besitzer (Owner), die Gruppe (Group) oder alle anderen (Other). So können Sie beispielsweise festlegen, dass andere Nutzer eine Ihnen gehörende Datei lesen, aber nicht ändern dürfen. Berechtigungen ändernDer Befehl
In diesem Beispiel fügt ein User ( Auto-VervollständigungEine wichtige Funktionalität, die die Arbeit mit Linux stark erleichtert, ist die Auto-Vervollständigen-Funktion. Wenn Sie einen Teil eines Befehls eingeben und dann Tab (die Tabulatortaste)
drücken, wird der Befehl automatisch vervollständigt, allerdings nur wenn er eindeutig ist. Beispielsweise reicht es nicht,
Man erkennt, dass z.B. Die Auto-Vervollständigen-Funktion funktioniert nicht nur mit Befehlen, sondern auch mit Dateipfadangaben. ProzesseWie bei Windows laufen unter Linux zu jeder Zeit eine große Anzahl an Prozessen, inklusive derer, die Sie ausdrücklich (mit einem bestimmten
Befehl) gestartet haben. Manchmal ist es notwendig, den Status eines Prozesses zu überwachen oder ihn zwangsweise zu beenden. Dazu dient der Befehl Die Oberfläche von
In dieser (verkürzten und anonymisierten) Darstellung sind die laufenden Prozesse aufgelistet. Die Oberfläche von Tipp: Die Prozentzahl in der Elementare KonsolenbefehleLinux wird, insbesondere auf entfernten Systemen, hauptsächlich über ein Textinterface, die sogenannte Konsole (auch Shell oder Terminal), bedient. Beachten Sie, dass es sich um die Bash-Konsole handelt, die auf dem
Cluster standardmäßig aufgerufen wird. Wie die meisten Linux-Systeme hat der Cluster mehrere Konsolen installiert, die sich in der Handhabung leicht unterscheiden. Sie können zum Beispiel alternativ die C-Shell (mit dem Befehl Alle hier angegebenen Befehle können sowohl von Hand in der Konsole eingegeben als auch in einer Textdatei (einem sogenannten Skript) nacheinander aufgelistet werden. Die Shell kann dann dieses Skript ausführen und die Wirkung ist dieselbe, als ob die Befehle von Hand eingegeben wurden. Man spricht deshalb auch von Shell-Skripten. Dies ist einer der Gründe für die Popularität von Linux – repetitive Vorgänge lassen sich sehr leicht automatisieren. Spezielle Zeichen
Bewegen in VerzeichnissenDie häufigsten Operationen in der Konsole von Linux sind die Bewegung von Verzeichnis zu Verzeichnis und die Manipulation von Dateien im aktuellen Verzeichnis. Hier sind die wichtigsten Befehle, die Sie kennen sollten. Unabhängig vom Befehl gibt es noch zwei weitere Sonderzeichen, die bei Dateipfaden verwendet werden: Der Punkt Hinweis:
Linux unterscheidet Groß- und Kleinschreibung, ein Befehl In ein anderes Verzeichnis wechselnSie können mit dem Befehl
Mit Hilfe von
oder das Schwesterverzeichnis mit
Sie können auch den absoluten Pfad angeben, so ist der vorherige Befehl identisch mit
wenn sich, wie in diesem Beispiel, Verzeichnis anzeigenSie können mit dem Befehl
Verzeichnisinhalt anzeigenDer Befehl
In diesem Beispiel enthält der Ordner einen Unterordner namens
Hier wird der Inhalt des Unterordners Sie können auch zusätzliche Details anzeigen lassen. So zeigt die Option
Hier sehen Sie die folgenden zusätzlichen Informationen: Ganz links sind die Zugriffsrechte, die bereits erklärt wurden. Beachten Sie, dass Verzeichnisse mit Versteckte Ordner (und Dateien) anzeigenEine versteckte Datei in Linux ist eine Datei, deren Name mit
Wie Sie in diesem Beispiel sehen können, ist es auch möglich, Optionen zu kombinieren. In diesem Fall ist Verzeichnis erstellenDer Befehl
Verzeichnis umbenennen oder kopierenDer Befehl
Der Befehl Dateien und Verzeichnisse suchenDer Befehl
In diesem Beispiel wird mit Text in Dateien suchenDer Befehl
ein. Der Text muss strenggenommen nur in Anführungszeichen stehen, wenn er Leerzeichen enthält. Statt eines
einzelnen Dateinamens können auch Wildcards verwendet werden (z.B. Skripte: erstellen und ausführenEin Skript im Linux-Kontext ist eine Datei, in der eine Reihe von Befehlen stehen. Wie bereits erwähnt, können praktisch alle Befehle, die in der Konsole eingegeben werden, auch einfach in ein Skript geschrieben werden. Die Ausführung des Skripts ist dann identisch mit der Ausführung aller gelisteten Befehle nacheinander. Ein (Shell-)Skript beginnt immer mit der Zeile Damit ein Skript ausgeführt werden kann, muss es ausführbar sein (siehe oben im Abschnitt über Berechtigungen und
(Umgebungs-)VariablenZusätzlich zu ausdrücklich
geschriebenen Argumenten können auch Variablen verwendet werden. Variablen in Bash dienen demselben Zweck wie in anderen Programmiersprachen und funktionieren ähnlich. Der Hauptunterschied zu den meisten Programmiersprachen ist der, dass Werte von Variablen ausgegeben werden, indem ein Im folgenden Beispiel werden mehrere Operationen mit derselben Datei durchgeführt:
Diese Beispiel demonstriert die Nützlichkeit von Variablen: Wenn Sie dieselben Operationen mit einer anderen Datei durchführen möchten, muss der Dateiname nur an einer Stelle im Skript geändert werden anstatt überall. UmgebungsvariablenEine Variable ist immer nur in der Konsole oder dem
Skript erreichbar, in dem sie definiert wurde. Es gibt allerdings auch sogenannte Umgebungsvariablen. Diese sind auch in allen Unterprozessen erreichbar (d.h. in Prozessen, die vom aktuellen Prozess gestartet wurden). Auf diese Weise kann zum Beispiel vor dem Aufruf eines Skripts oder Programms eine bestimmte Einstellung gesetzt werden. Umgebungsvariablen werden mittels In jedem
Linux-System sind standardmäßig eine große Anzahl von Umgebungsvariablen gesetzt, entweder vom System oder von installierter Software. Beispielsweise gibt es in Linux immer eine Variable KommandozeilenparameterIm Spezialfall von Shell-Skripten stehen außerdem noch weitere Variablen automatisch zur Verfügung. So können zum Beispiel mit
dann wäre Die PATH-VariableDie Umgebungsvariable
Die Reihenfolge der einzelnen Pfade ist wichtig, weil ein gleichlautender Befehl in mehreren Verzeichnissen im Achtung:
Beachten Sie, dass Fehler bei der Manipulation von Eigene EinstellungenEinstellungen wie das Exportieren von Umgebungsvariablen oder das Laden von Modulen haben nur solange Bestand, wie die aktuelle Shell offen ist. Wenn Sie sich beispielsweise vom Cluster abmelden, oder das Skript mit den entsprechenden
Einstellungen beendet ist, gehen diese verloren. Es gibt allerdings Möglichkeiten, Einstellungen permanent zu machen. Die wichtigste ist die Datei Sie können auch Einstellungen in einem
eigenen Shell-Skript zusammenfassen und diese Einstellungen mit dem Befehl Achtung: da die Verschiedene Tipps
Aktualisiert um 15:26 am 8. Februar 2021 von Jan Steiner Wie ist ein Linux Befehl aufgebaut?Ein Linux-Befehl ist ein Programm oder Dienstprogramm, das auf der Kommandozeile ausgeführt wird. Eine Kommandozeile ist eine Schnittstelle, die Textzeilen entgegennimmt und sie in Anweisungen für deinen Computer umwandelt.
Was bedeutet die Option hinter dem Kommando ls ls )?Man spricht in diesem Fall von einem chroot jail. Der Kommandozeilenbefehl ls steht für list und wird verwendet, um den Inhalt eines Verzeichnisses (die Namen aller Dateien und Ordner, die sich im angegebenen Verzeichnis befinden) anzuzeigen.
Was bewirkt der Befehl ls?Der Befehl ls schreibt den Inhalt jedes angegebenen Verzeichnisses oder jeder angegebenen Datei zusammen mit allen anderen Informationen, die mit den Flags angefordert werden, in die Standardausgabe. Wenn Sie keine Datei und kein Verzeichnis angeben, zeigt der Befehl ls den Inhalt des aktuellen Verzeichnisses an.
Was sind Pipes in Linux?Pipes sind im quelloffenen Linux-Betriebssystem ein mächtiges Werkzeug. So ermöglichen Ihnen Linux-Pipes etwa, eine Reihe von Befehlen, die sich auf einen Datenbestand beziehen, sequenziell abzuarbeiten bzw. Daten zwischen Befehlen effizient hin- und herzubewegen.
|