Zum Inhalt springen

Linux Befehlsreferenz

Linux Befehle

Linux Befehle und Erläuterungen

Die wichtigsten Linux-Befehle, die man regelmäßig benötigt.


Wir listen hier die wichtigsten Linux-Befehle auf und wie man sie anwendet.
Als IRC-Server Betreiber wirst Du regelmäßig Eggdrops oder IRCDs installieren, oft über Source -Dateien.
Daher werden wir hier eine Sammlung an Unix und Linux-Befehlen auflisten, damit Du diese schnell nachschlagen kannst. Dieser Abschnitt ist der Aufwendig, Du kannst Befehle jederzeit hinzufügen.

Es ist nicht unser Ziel ein ultimativen Linux Guide zu erstellen, da es bereits tolle Referenzen und Guides gibt, die mit viel Liebe erstellt, gepflegt und kopiert wurden.

Linux Befehle

Es gibt 12 Linux Befehle in diesem Verzeichnis, die mit dem Buchstaben C beginnen.
C

cat

cd

chmod
In Unix-ähnlichen Betriebssystemen legt der Befehl chmod die Berechtigungen für Dateien oder Verzeichnisse fest.
Dateiname der  Berechtigungen für chmod- Optionen  

Angenommen , Sie sind Eigentümer einer Datei mit dem Namen myfile und möchten ihre Berechtigungen so festlegen , dass:






    1. die U ser Dose r ead, w rite, und e x ecute es;







    1. Mitglieder Ihrer g roup kann r ead und e x ecute es; und







    1. o thers nur r es ead.




 
chmod u = rwx, g = rx, o = r meineDatei

Befehl:

chmod 774 meineDatei

Allerdings kann chmod auch für USB-Ports verwenden.

In Bezug auf USB-Ports wird chmod oft verwendet, um die Zugriffsrechte für Gerätedateien im /dev-Verzeichnis zu ändern, was den Zugriff auf USB-Geräte beeinflussen kann.

Beispiele für die Nutzung von chmod bei USB-Ports



  1. Ändern der Zugriffsrechte für ein USB-Gerät: Angenommen, ein USB-Gerät ist unter /dev/ttyUSB0 gelistet. Um allen Benutzern Lese- und Schreibzugriff zu gewähren, würden Sie folgenden Befehl verwenden: sudo chmod 666 /dev/ttyUSB0.

  2. Einschränkung des Zugriffs: Um den Zugriff auf das Gerät auf den Eigentümer zu beschränken, würden Sie den Befehl sudo chmod 600 /dev/ttyUSB0 verwenden.


Weitere Anwendungen von chmod außerhalb von Datei- und USB-Port-Administration



  • Script-Ausführbarkeit: Um ein Shell-Skript ausführbar zu machen, können Sie chmod +x skript.sh verwenden. Dies erlaubt allen Benutzern, das Skript auszuführen.

  • Sicherheit von privaten Schlüsseln: Bei der Verwendung von SSH-Schlüsseln ist es wichtig, die Dateiberechtigungen richtig zu setzen. Zum Beispiel sollte ein privater Schlüssel (id_rsa) mit chmod 600 id_rsa geschützt werden, um Lese- und Schreibzugriff nur für den Eigentümer zu erlauben.

  • Webserver-Dateiberechtigungen: Bei der Verwaltung eines Webservers müssen Sie möglicherweise die Berechtigungen von Dateien und Verzeichnissen anpassen, um die Sicherheit zu erhöhen und den korrekten Zugriff zu gewährleisten. Zum Beispiel könnten Sie chmod 755 /var/www/html verwenden, um das Verzeichnis für den Eigentümer beschreibbar und für alle anderen lesbar zu machen.

  • Dateiberechtigungen für gemeinsam genutzte Ressourcen: In einer Umgebung, in der mehrere Benutzer auf gemeinsame Ressourcen zugreifen, können Sie chmod verwenden, um zu steuern, wer diese Dateien lesen, schreiben oder ausführen kann. Beispielsweise ermöglicht chmod 774 datei dem Eigentümer und der Gruppe vollen Zugriff, während andere Benutzer sie nur lesen können.



Die Berechtigungen in Unix- und Unix-ähnlichen Systemen wie Linux, die mit dem Befehl chmod (change mode) gesetzt werden, sind in einem Oktalsystem (Basis 8) kodiert, das von 0 bis 7 reicht. Jede Ziffer in diesem System repräsentiert eine unterschiedliche Kombination von Zugriffsrechten. Die Berechtigungen beziehen sich auf drei Arten von Zugriffen: Lesen (read), Schreiben (write) und Ausführen (execute). Hier ist die Bedeutung jeder Zahl von 0 bis 7:

  1. 0: Keine Berechtigungen. Dies bedeutet, dass weder der Eigentümer noch die Gruppe noch andere Benutzer irgendeinen Zugriff (Lesen, Schreiben, Ausführen) auf die Datei oder das Verzeichnis haben.

  2. 1: Ausführungsberechtigung. Erlaubt das Ausführen einer Datei (z. B. ein Programm oder ein Skript), aber weder Lesen noch Schreiben.

  3. 2: Schreibberechtigung. Erlaubt das Schreiben oder Modifizieren einer Datei, aber weder Lesen noch Ausführen.

  4. 3: Schreib- und Ausführungsberechtigungen. Erlaubt das Schreiben/Modifizieren und Ausführen einer Datei, aber kein Lesen.

  5. 4: Leseberechtigung. Erlaubt das Lesen einer Datei oder das Auflisten eines Verzeichnisses, aber weder Schreiben noch Ausführen.

  6. 5: Lese- und Ausführungsberechtigungen. Erlaubt das Lesen und Ausführen einer Datei oder das Auflisten eines Verzeichnisses, aber kein Schreiben.

  7. 6: Lese- und Schreibberechtigungen. Erlaubt das Lesen und Schreiben/Modifizieren einer Datei oder das Auflisten und Ändern eines Verzeichnisses, aber kein Ausführen.

  8. 7: Vollzugriff. Erlaubt Lesen, Schreiben/Modifizieren und Ausführen einer Datei oder das Auflisten, Ändern und Ausführen von Operationen in einem Verzeichnis.


Diese Zahlen werden oft in einer dreistelligen Kombination verwendet, wobei jede Stelle für unterschiedliche Benutzergruppen steht: der Eigentümer (user), die Gruppe (group) und andere (others). Zum Beispiel würde chmod 754 datei dem Eigentümer vollen Zugriff (7), der Gruppe Lesen und Ausführen (5) und anderen nur Lesen (4) gewähren.

chown
chown - Ändert den Eigentümer und die Gruppe von Dateien und Verzeichnissen.
Beispiel: chown meinbenutzer:meinegruppe meine_datei.txt ändert den Eigentümer der Datei auf meinbenutzer und die Gruppe auf meinegruppe.

Ebenfalls eines der wichtigsten Befehle.
Gerade wenn man mit nginx arbeitet und plötzlich zahlreiche Fehlermeldungen erhält 😉

 

chroot

Clear
Der Clear -Befehl räumt Dein Terminal auf.
Ich nutze diesen relativ selten, wenn man sich aber viele Logfiles via "Cat" anschaut, dann dient es der Übersicht

cmp

comm

cp
cp = Copy-Befehl!

Der Copy-Befehl ist wohl einer der wichtigsten Befehle.
Gerade wenn man Sicherungsdateien wiederherstellen oder anlegen möchte
class="line-numbers language-mixed code-toolbar" data-language="mixed" data-trimmed="true">cp [Originalpfad] [Zielpfad]

Beispiel :
cp config.php /home/schutzgeist/backupdateien/
Sofern Du Dich im selben Verzeichnis befindest.
Alternativ kannst Du überall den kompletten Pfad angeben
cp /home/schutzgeist/config.php /home/schutzgeist/backupdateien/

Mehrere Dateien kopieren ?
Kein Problem

cp datei1.conf datei2.conf datei3.con /home/zielordner/

Du kannst auch mit Platzhaltern etc arbeiten

cp * /home/zielordner
würde alle Datien im Ordner in den Zielordner kopieren.

Der CP-Befehl hat noch weitere Optionen.
Willst Du auch alle  Unterverzeichnisse kopieren, so kannst Du den Befehl mit der Option -R (rekursiv) kopieren..

cp * -R /home/zielordner

Der Befehl
cp --help
zeigt Dir alle möglichen Optionen an:



cp --help
Aufruf: cp [OPTION]... [-T] QUELLE ZIEL
oder: cp [OPTION]... QUELLE... VERZEICHNIS
oder: cp [OPTION]... -t VERZEICHNIS QUELLE...
Kopieren von QUELLE nach ZIEL, oder mehreren QUELLE(n) in VERZEICHNIS

Erforderliche Argumente für lange Optionen sind auch für kurze erforderlich.
-a, --archive genau wie -dpR --preserve=all
--attributes-only nicht die Dateidaten, sondern nur die Attribute
kopieren
--backup[=KONTROLLE] eine Sicherung existierender Zieldateien erzeugen
-b wie --backup, akzeptiert aber kein Argument
--copy-contents wenn rekursiv, Inhalt von Spezialdateien kopieren
-d genau wie --no-dereference --preserve=links
-f, --force wenn existierende Zieldatei nicht geöffnet werden
kann, löschen und erneut versuchen (wird bei
Verwendung der Option -n ignoriert)
-i, --interactive vor einem Überschreiben nachfragen (überstimmt
eine vorangehende Option -n)
-H symbolischen Verknüpfungen, die auf der
Kommandozeile als QUELLE angegeben sind,
folgen
-l, --link Dateien verknüpfen, statt sie zu kopieren
-L, --dereference symbolischen Verknüpfungen in QUELLE immer folgen
-n, --no-clobber keine existierenden Dateien überschreiben
(übersteuert eine vorangehende Option -i)
-P, --no-dereference symbolischen Verknüpfungen in QUELLE nie folgen
-p genau wie --preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST] angegebene Datei‐Attribute erhalten wenn möglich
(Voreinstellung: mode,ownership,timestamps;
weitere Attribute: context, links, xattr, all)
-c deprecated, same as --preserve=context
--no-preserve=ATTR_LIST Angegebene Attribute nicht erhalten
--parents kompletten Quell‐Pfad an VERZEICHNIS anhängen
-R, -r, --recursive Verzeichnisse rekursiv kopieren
--reflink[=WANN] Klon/CoW Kopien kontrollieren. Siehe unten
--remove-destination jede Zieldatei vor dem Versuch, sie zu öffnen,
löschen (im Gegensatz zu --force)
--sparse=WANN Erstellung von Dateien mit Löchern (s. u.) steuern
--strip-trailing-slashes Schrägstriche vom Ende jedes QUELLE‐Arguments
entfernen
-s, --symbolic-link symbolische Verknüpfungen erzeugen anstatt
zu kopieren
-S, --suffix=ENDUNG Standard-Sicherungs‐Dateiendung ändern
-t, --target-directory=VERZ alle QUELLE‐Argumente in VERZ kopieren
-T, --no-target-directory ZIEL als normale Datei behandeln
-u, --update nur kopieren, wenn die QUELL‐Datei neuer ist
als die Zieldatei oder die Zieldatei nicht
existiert
-v, --verbose durchgeführte Tätigkeiten erklären
-x, --one-file-system in diesem Dateisystem verbleiben
-Z den SELinux-Sicherheitskontext der Zieldatei
auf den Standardtyp setzen
--context[=KTXT] Wie -Z, oder, wenn KTXT angegeben wurde, den
SELinux- oder SMACK-Sicherheitskontext auf
KTXT setzen
--help diese Hilfe anzeigen und beenden
--version Versionsinformation anzeigen und beenden

Standardmäßig werden QUELL‐Dateien mit Löchern („sparse“) durch eine einfache
Heuristik erkannt und die korrespondierenden ZIEL‐Dateien werden ebenfalls
„sparse“ gemacht. Dieses Verhalten wird mit --sparse=auto ausgewählt. Geben
Sie --sparse=always an, um „sparse“‐ZIEL‐Dateien zu erzeugen, wenn die
QUELL-Datei eine ausreichend lange Sequenz aus Null‐Bytes enthält.
Verwenden Sie --sparse=never, um das Erzeugen von „sparse“‐Dateien zu
verhindern.

Wird --reflink[=always] angegeben, wird eine leichtgewichtige Kopie gemacht,
bei der die Datenblöcke nur dann kopiert werden, wenn sie sich geändert haben.
Wenn dies nicht möglich ist, scheitert das Kopieren. Wurde --reflink=auto
angegeben, wird stattdessen eine normale Kopie angelegt.

Die Endung für Sicherheitskopien ist „~“, außer wenn sie mittels --suffix
oder SIMPLE_BACKUP_SUFFIX explizit festgelegt wurde. Die Methode der
Versionskontrolle kann mit --backup oder Umgebungsvariable VERSION_CONTROL
festgelegt werden. Mögliche Werte sind:

none, off Niemals Sicherung erzeugen (selbst wenn --backup
angegeben wurde)
numbered, t Erzeugen von nummerierten Sicherheitskopien
existing, nil Nummeriert wenn nummerierte Backups existieren, sonst einfach.
simple, never Immer einfache Sicherheitskopien erzeugen

Als Spezialfall erzeugt cp eine Sicherheitskopie von QUELLE, wenn die Optionen
„force“ und „backup“ angegeben wurden und QUELLE und ZIEL der gleiche Name für
eine vorhandene reguläre Datei sind.

cpio
cpio --help
Aufruf: cpio [OPTION...] [Zielverzeichnis]
GNU cpio kopiert Dateien in und aus Archiven

Beipiele:
# In einer Namensliste benannte Dateien ins Archiv kopieren
cpio -o < Namensliste [> Archiv]
# Dateien aus dem Archiv entpacken
cpio -i [< Archiv]
# In einer Namensliste benannte Dateien in Zielverzeichnis kopieren
cpio -p Zielverzeichnis < Namensliste

Haupt-Operationsmodus
-i, --extract Dateien aus einem Archiv entpacken (im
Hineinkopiermodus ausführen)
-o, --create Das Archiv anlegen (im Herauskopiermodus
ausführen)
-p, --pass-through Im Durchlaufmodus ausführen
-t, --list Ein Inhaltsverzeichnis der Eingabe anzeigen

In jedem Modus mögliche Operatoren:

--block-size=BLOCKGRÖßE I/O-Blockgröße auf BLOCKGRÖßE * 512 Bytes
setzen
-B I/O-Blockgröße auf 5120 Bytes setzen
-c Identical to "-H newc", use the new (SVR4)
portable format. If you wish the old portable
(ASCII) archive format, use "-H odc" instead.
-C, --io-size=NUMMER Die I/O-Blockgröße auf die angegebene ANZAHL an
Bytes festlegen
-D, --directory=VERZ Ins Verzeichnis VERZ wechseln
--force-local Archivdatei ist lokal, obwohl deren Name
Doppelpunkte enthält
-H, --format=FORMAT Angegebenes Archiv-FORMAT verwenden
--quiet Anzahl der kopierten Blöcke nicht ausgeben
-R, --owner=[BENUTZER][:.][GRUPPE]
Die Eigentumsrechte aller erzeugten Dateien auf
die angegebenen Werte für BENUTZER und/oder
GRUPPE setzen
-v, --verbose Verarbeitete Dateien ausführlich listen
-V, --dot Einen ».« für jede verarbeitete Datei ausgeben
-W, --warning=FLAG Warnanzeige. Aktuelles FLAG ist eines von
»none«, »truncate«, »all«. Mehrfach
angegebene Optionen werden gespeichert.

Im Hineinkopier- und Herauskopier-Modus gültige Operatoren

-F, --file=[[BENUTZER@]HOST:]DATEINAME
Diesen DATEINAMEN anstelle der Standardeingabe
oder -ausgabe verwenden. BENUTZER und HOST können
optional angegeben werden, wenn das Archiv auf
einem entfernten Rechner liegt
-M, --message=ZEICHENKETTE ZEICHENKETTE ausgeben, wenn des Ende des
Datenträgers oder Sicherungsmediums erreicht ist
--rsh-command=BEFEHL Statt »rsh« den BEFEHL benutzen

Nur im Hineinkopiermodus mögliche Operatoren:

-b, --swap Sowohl »Halfwords« als auch Bytes der
»Halfwords« in den Daten vertauschen.
Äquivalent zu -sS
-f, --nonmatching Nur Dateien kopieren, denen keines der angegegeben
Muster entspricht
-I [[BENUTZER@]HOST:]DATEINAME Anstelle der Standardeingabe zu verwendender
Name der Archivdatei. BENUTZER und HOST können
optional angegeben werden, wenn das Archiv auf
einem entfernten Rechner liegt
-n, --numeric-uid-gid In der ausführlichen Inhaltstabelle UID und GID
numerisch anzeigen
-r, --rename Dateien interaktiv umbenennen
-s, --swap-bytes Die Bytes jedes »Halfwords« in den Dateien
vertauschen
-S, --swap-halfwords Die »Halfwords« jedes Worts (4 Bytes) in den
Dateien vertauschen
--to-stdout Dateien auf die Standardausgabe entpacken

-E, --pattern-file=DATEI Zusätzliche Muster aus DATEI lesen, die Namen zu
entpackender Dateien enthalten
--only-verify-crc When reading a CRC format archive, only verify the
checksum of each file in the archive, don't
actually extract the files

Nur im Herauskopiermodus mögliche Operatoren:

-A, --append Dateien an ein existierendes Archiv anfügen
--device-independent, --reproducible
Geräteunabhängige (reproduzierbare) Archive
erzeugen
--ignore-devno Gerätenummern nicht speichern
-O [[BENUTZER@]HOST:]DATEINAME Anstelle der Standardausgabe zu verwendender
Name der Archivdatei. BENUTZER und HOST können
optional angegeben werden, wenn das Archiv auf
einem entfernten Rechner liegt
--renumber-inodes Inodes neu nummerieren

Nur im Durchlaufmodus mögliche Operatoren:

-l, --link Dateien verknüpfen anstatt diese zu kopieren,
wenn möglich

Im Hineinkopier- und Herauskopiermodus gültige Operatoren:

--absolute-filenames Dateisystempräfixe nicht aus den Dateinamen
entfernen
--no-absolute-filenames Alle Dateien relativ zum aktuellen Verzeichnis
anlegen

Im Herauskopier- und Durchlaufmodus gültige Operatoren:

-0, --null Dateinamen in der Liste werden von einem
Null-Zeichen anstelle eines Zeilenumbruchs beendet

-a, --reset-access-time Zugriffszeiten der Dateien nach dem Lesen
zurücksetzen
-L, --dereference Symbolische Verknüpfungen dereferenzieren
(Zieldateien anstelle der Verknüpfungen
kopieren)

Im Hineinkopier- und Durchlaufmodus gültige Operatoren:

-d, --make-directories Übergeordnete Verzeichnisse anlegen, falls
nötig
-m, --preserve-modification-time
Letze Änderungszeiten beim Erstellen von Dateien
behalten
--no-preserve-owner Die Eigentumsverhältnisse der Dateien nicht
ändern
--sparse Dateien mit großen Null-Blöcken als
Sparse-Dateien schreiben
-u, --unconditional Alle Dateien bedingungslos ersetzen

-?, --help Diese Hilfeliste ausgeben
--usage Eine kurze Aufrufmeldung ausgeben
--version Programmversion ausgeben

Notwendige oder optionale Argumente für lange Optionen sind ebenso notwendig
oder optional für die entsprechenden kurzen Optionen.

cron

curl
Wird nur noch selten genutzt oder darauf verwiesen:

curl - Ein Tool zum Abrufen von Daten von Servern.
Beispiel: curl http://example.com ruft die Homepage von example.com ab.

Die meisten verwenden wohl wget, allerdings gibt es hier starke Unterschiede.

Curl kann für viele Dinge genutzt werden und ist dadurch deutlich mächtiger!

Sowohl "curl" als auch "wget" sind Befehlszeilen-Tools, die verwendet werden, um Dateien von einem Server herunterzuladen. Der Hauptunterschied zwischen ihnen liegt in den Funktionen, die sie bieten.

"Curl" ist ein vielseitiges Werkzeug, das mehrere Protokolle unterstützt, darunter HTTP, HTTPS, FTP, SCP, SFTP und mehr. Es kann Dateien von URLs, FTP-Servern und SFTP-Servern herunterladen und unterstützt auch den Upload von Dateien. "Curl" kann auch benutzerdefinierte Header und Cookies senden und kann sogar zur Durchführung von Tests von RESTful-APIs verwendet werden.

"Wget" ist hauptsächlich ein Tool zum Herunterladen von Dateien über HTTP, HTTPS und FTP-Protokolle. Es bietet Funktionen wie das Herunterladen von Dateien im Hintergrund, das Fortsetzen von unterbrochenen Downloads und das Rekursiv-Download von Dateien. Es kann auch verwendet werden, um eine komplette Website einschließlich Unterseiten und Bilder herunterzuladen.

Ein weiterer wichtiger Unterschied zwischen "curl" und "wget" liegt in der Art und Weise, wie sie auf eine fehlerhafte Verbindung reagieren. Wenn "curl" auf eine fehlerhafte Verbindung stößt, gibt es den Fehler aus und geht zum nächsten Befehl über. "Wget" versucht dagegen, die Verbindung wiederherzustellen, bevor es aufgibt.

Insgesamt ist "curl" eine bessere Wahl, wenn Sie mehr Funktionen benötigen, wie das Senden von Cookies oder benutzerdefinierten Headern oder wenn Sie mehrere Protokolle unterstützen möchten. "Wget" ist eine gute Wahl, wenn Sie einfach Dateien von einem Server herunterladen möchten und eine bessere Unterstützung für den Download von Websites und Rekursion benötigen.


Übermittle ein Linux Befehl
Schlagwörter: