Für diejenigen, die noch nicht wirklich Erfahrung mit Linux haben und deshalb ggf einigen Tutorials nicht folgen können (oder nicht verstehen, was ein Befehl macht), gibt es hier eine Zusammenstellung der wichtigsten Befehle unter Linux, inklusive wichtigen Optionen und oder Switches.

Paketquellen aktualisieren (sollte immer vor der Installation eines Pakets gemacht werden und auch sonst ab und an, um nach Updates zu suchen):

Debian basiert (also auch Ubuntu): „apt-get update“

Yum basiert (CentOS, Fedora…): „yum update“

Updates installieren (nur für apt basierte Distributionen. Wenn man auf einem yum basierten System „yum update“ eingibt, werden Updates automatisch installiert, falls vorhanden):

„apt-get upgrade“

Paket installieren:

Apt basiert: „apt-get install [Paketname]“

Yum basiert: „yum install [Paketname]“

Paket deinstallieren:

„apt-get purge [Paketname]*“

In anderes Verzeichnis wechseln:

„cd [Unterordner oder Pfad zu einem Ordner]“

Beispiel 1: Man möchte in das Verzeichnis /etc/proftpd:

„cd /etc/proftpd“

Beispiel 2: Man befindet sich in /home und möchte in den Home Ordner des Nutzers „test“ (der absolute Pfad wäre also /home/test):

„cd test“

CD steht für Change Directory

Datei kopieren:

„cp [Quelldatei] [Zieldatei]“

Befindet man sich in dem Verzeichnis, in dem sich die Quelldatei befindet, so braucht man deren Pfad nicht angeben. Befindet sich eine Datei jedoch nicht im derzeitigen Verzeichnis (aktuelles Arbeitsverzeichnis wird über „pwd“ [steht für „Print working directory“] ausgegeben), muss der Pfad angegeben werden.

Beispiel 1: Man befindet sich im Root Verzeichnis ( /root ) worin sich die Datei „1“ befindet. Nun möchte man die Datei „1“ kopieren, ebenfalls ins Root Verzeichnis und die Zieldatei soll „2“ heißen:

„cp 1 2“

Beispiel 2: Man befindet sich im Root Verzeichnis und möchte die Datei „3“ deren absoluter Pfad /etc/test/abc/3 lautet zu /var/log/apache2 kopieren. Der Dateiname soll beibehalten werden:

„cp /etc/test/abc/3 /var/log/apache2“

CP steht für CoPy

Datei verschieben:

Gleiche Syntax wie fürs Kopieren, aber statt „cp“ „mv“ verwenden.

Beispiel: Die Datei „4“ deren absoluter Pfad /etc/apache2/sites-enabled/4 lautet ins Root Verzeichnis verschieben:

„mv /etc/apache2/sites-enabled/4 /root“

MV ist die Abkürzung für MoVe

Datei umbenennen:

Hierfür wird ebenfalls mv verwendet.

Beispiel: Man befindet sich im Root Verzeichnis. Hier befindet sich die Datei „5“ welche man zu „6“ umbennen will:

„mv 5 6“

Datei erstellen:

Um einfach nur eine leere Datei zu erstellen:

„touch [Dateiname oder Pfad mit Dateiname]“

Um eine neue Datei zu erstellen und diese mit nano (muss ggf extra per „apt-get install nano“ bzw „yum install nano“ installiert werden) öffnen möchte um sie zu bearbeiten:

„nano [Dateiname oder Pfad mit Dateiname]“

Inhalt eines Verzeichnis (mit Größe) und Dateigröße einer definierten Datei ausgeben:

„ls“ gibt alle, nicht versteckten (deren Name daher nicht mit einem Punkt beginnt) Dateien im aktuellen Verzeichnis aus.

„ls [Pfad]“ gibt alle, nicht versteckten Dateien im spezifizierten Verzeichnis aus.

Oft verwendete Switches:

„ls -a [ggf Pfad]“ gibt ALLE Dateien im aktuellen bzw spezifizierten Verzeichnis aus. Auch versteckte Dateien.

„ls -sh [ggf Pfad]“ gibt alle, nicht versteckten Dateien im aktuellen oder spezifizierten Verzeichnis inklusive deren Dateigröße in „menschlich lesbarer“ Form aus. Ohne den -h Switch würde die Dateigröße in Byte ausgegeben werden.

„ls -sh [Dateiname oder Pfad zu einer Datei]“ gibt nur die Dateigröße für die spezifizierte Datei aus.

LS steht für LiSt

Datei oder Ordner löschen:

„rm [Dateiname oder Pfad zu einer Datei]“ löscht die spezifizierte Datei.

„rm -r [Ordnername oder Pfad zu einem Ordner]“ löscht den spezifizierten Ordner.

Achtung: Linux fragt NICHT nach, ob man eine Datei „wirklich löschen“ möchte. Auch einen „Papierkorb“ gibt es normal nicht!

RM steht für ReMove

Datei leeren:

Um eine Datei zu leeren, ohne deren Berechtigungen, Namen oder sonstiges zu verändern:

„> [Dateiname oder Pfad zur Datei]“

> leert eine Datei und schreibt einen definierten String (der vor das „>“ Zeichen kommt) in die Datei. Da bei dem angegebenen Befehl kein String definiert ist, wird „Nichts“ in sie hineingeschrieben, wird daher „geleert“.

Output eines Befehls in Datei schreiben:

Hat an der Stelle eigentlich nichts verloren, ist nur der Vollständigkeit halber zu „>“ vorhanden:

„[Befehl] > [Dateiname oder Pfad zu einer (neuen) Datei]“

Inhalt einer Datei an einen Befehl übergeben:

Auch nur der Vollständigkeit halber:

„[Befehl] < [Dateiname]“

Dies sagt dem Befehl, nicht auf stdin (Standard Input) zu hören, sondern alles aus der definierten Datei zu lesen.

Noch eine Möglichkeit wäre

„cat [Dateiname] | [Befehl]“

Übergibt ebenfalls den Inhalt der definierten Datei an den Befehl.

Befehle miteinander verbinden:

Und noch etwas der Vollständigkeit halber, um zu erklären, was das „|“ Zeichen soll. | ist eine Pipe und verbindet über ein „Rohr“ Befehle miteinander. Jedoch arbeiten die Befehle dann nicht direkt zusammen, der 1. übergibt seinen Output nur an den 2. (und ggf so weiter).  Es können aber auch mehr Befehle miteinander verbunden werden, die den Output dann an den jeweiligen „Vordermann“ übergeben.

Passwort ändern:

Um das Passwort des Nutzers, als der man gerade angemeldet ist zu ändern:

„passwd“

Ist man als Root angemeldet, kann man ganz einfach das Passwort eines anderen Nutzers ändern:

„passwd [Name des Nutzers]“

Passwd steht sinnlicherweise für Password

Neuen Nutzer erstellen:

„adduser [Name für neuen Nutzer]“

Anschließend ggf Passwort festlegen (jedoch nicht zwingend erforderlich) und wenn man möchte ein paar Informationen zum neuen Nutzer eingeben. Die Eingabe der Informationen ist aber ebenfalls nicht erforderlich.

Nutzer löschen

„userdel [Name des Accounts]“

„rm -r /home/[Name des Accounts]“

Liste laufender Prozesse, deren CPU und RAM Nutzung, PID und Weiteres ausgeben:

„top“

Einen Vorgang abbrechen / beenden:

Läuft ein Vorgang im Vordergrund (man bekommt daher dessen Output auf den Bildschirm), so kann dieser über die Tastenkombination Ctrl + C (daher Strg + C) abgebrochen werden. C steht hier für Cancel.

Einen Prozess beenden:

„kill [PID]“ Sagt dem Prozess mit der definierten PID (welche man z.B. durch top herausgefunden hat), dass er sich beenden soll. Reagiert der Prozess darauf nicht, z.B. weil es ein „Zombie Prozess“ ist (der also läuft, aber nichts (sinnvolles) tut):

„kill -kill [PID]“

Dies „schießt“ einen Prozess zwangsweise ab. Kann zu Datenverlust führen.

Eine Verknüpfung erstellen:

„ln [Name der Quelldatei oder Pfad dazu] [Name der neuen Verknüpfung oder Pfad dazu]“

Mit dem Switch -s (steht für „symbolic“) wird eine symbolische Verknüpfung erstellt. Braucht man bspw. für nginx um von einer VHost Datei im „sites-available“ Ordner einen symbolischen Link (daher Verknüpfung) zu erstellen, um die Verknüpfung dann im „sites-enabled“ Ordner abzulegen.

LN steht für LiNk

Die Verwendung eines Befehls und verfügbare Optionen und Switches anzeigen:

Der passende Befehl kommt auf den Befehl, über den man mehr erfahren möchte, an. Eine der 3 folgenden Befehle sollten aber immer funktionieren:

„man [Befehl]“

„[Befehl] –help“ (Ja, 2 Bindestriche)

„[Befehl]“ (ohne Optionen, Switches und Definitionen)

Man steht für MANual (pages), daher „Gebrauchsanweisung“. In Man nagivigiert man mit den Pfeiltasten (hoch und runter), zum beenden q für quit drücken.

Zeit und Datum setzen:

Aktuelles Datum und Zeit ausgeben: „hwclock“

Neues Datum und oder Zeit setzen: „date -s „[Datum und Zeit im selben Format wie es hwclock ausgibt]““

Infos zur CPU anzeigen:

„lscpu“


Fehlt eine wichtige Funktion? Ab in die Kommentare damit! 😉

 

Die wichtigsten Linux Befehle (Allgemein)
Markiert in:                                                                         

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.