Zum Inhalt springen

Linux Befehlsreferenz

Linux Befehle

Inhaltsverzeichnis

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

Derzeit befinden sich 158 Linux Befehle in diesem Verzeichnis

apt
apt steht für Advanced Packaging Tool . Es ist Paketverwaltungssystem, welches dpkg Paketverwaltung benutzt.
Die meisten Server laufen auf Debian.

Die Befehle müssen in der Regel als ROOT oder Admin ausgeführt werden.
Mit apt-get kann man weitere Befehle schnell und einfach nutzen:

Um auf ein Softwareupdate der installierten  Pakete zu prüfen, ist folgender Befehl möglich:

sudo apt update

Das System prüft die Ressourcenliste und aktuelisiert diese.
Mit

sudo apt update
oder
sudo apt-get upgrade
werden alle Pakete entsprechend aktualisiert


sudo apt-get  install python3.9

Würde versuchen python3.9 zu installieren, sofern diese Software von der Paketverwaltung bereitgestellt wird.

awk
Wer den Befehl grep  oder egreo genutzt hat, wird den  Befehl awk schnell verstehen.

Mit Hilfe von regulären Ausdrücken, kannst Du zum Beispiel Inhalte in Dateien finden.

awk '/irc/' testdatei.txt durchsucht die Datei testdatei.txt nach Zeilen, in denen irc vorkommt

 

Beispiel-Inhalt unserer testdatei.txt

Willkommen!
IRC Mania existiert bereits seit über 20 Jahren.
IRC FAQ
Dies ist ein IRC Portal
Diese Zeile wird nicht ausgegeben, irc ist kleingeschrieben.

 

Der Befehl :
awk '/IRC/' testdatei.txt
Würde 3 von 5 Zeilen ausgeben:

Der Befehl : awk '/irc/' testdatei.txt
hingegen nur eine einzige:

Braille Display Exkurs





Ein Braille-Display, auch als Braillezeile bekannt, ist ein taktiles Ausgabegerät, das von blinden oder stark sehbehinderten Menschen verwendet wird, um Text in Brailleschrift zu lesen. Das Gerät arbeitet in Verbindung mit einem Computer, Smartphone oder anderen digitalen Geräten und ermöglicht es dem Benutzer, Text auf dem Bildschirm in Braille-Schriftzeichen zu lesen, die durch kleine, anheb- und absenkbare Stifte auf der Oberfläche des Geräts dargestellt werden.

Funktionsweise eines Braille-Displays:



  1. Taktile Ausgabe:

    • Das Braille-Display besteht aus einer Reihe von Braille-Zellen, die aus sechs oder acht Punkten bestehen (je nach verwendetem Braille-System). Jede Zelle kann ein Braille-Zeichen darstellen.

    • Die Punkte in einer Zelle werden durch kleine Stifte dargestellt, die sich anheben und absenken, um verschiedene Braille-Zeichen darzustellen.



  2. Verbindung zu Geräten:

    • Braille-Displays können über USB, Bluetooth oder andere drahtlose Verbindungen mit Computern, Tablets, Smartphones oder speziellen Lesegeräten verbunden werden.

    • Sie arbeiten in der Regel in Kombination mit einem Bildschirmleseprogramm (Screen Reader), das den auf dem Bildschirm angezeigten Text in Brailleschrift übersetzt.



  3. Interaktive Steuerung:

    • Viele Braille-Displays sind mit zusätzlichen Tasten und Eingabemöglichkeiten ausgestattet, um durch den Text zu navigieren, Eingaben zu machen oder spezielle Funktionen auszuführen.

    • Benutzer können beispielsweise durch Zeilen scrollen, Text auswählen oder Programme auf dem verbundenen Gerät steuern.



  4. Einsatz in Bildung und Beruf:

    • Braille-Displays sind besonders nützlich für blinde Schüler, Studenten und Berufstätige, da sie das Lesen und Schreiben von Texten sowie den Zugang zu digitalen Informationen ermöglichen.

    • In vielen Fällen können Braille-Displays auch Notizen erstellen, Text bearbeiten oder sogar Programmieraufgaben unterstützen.




Einsatzmöglichkeiten eines Braille-Displays:



  • Textverarbeitung:

    • Braille-Displays ermöglichen das Lesen und Bearbeiten von Textdokumenten, E-Mails, Webseiten und anderen digitalen Inhalten.



  • Programmieren:

    • Blinde Programmierer nutzen Braille-Displays, um Quellcode in Texteditoren oder Entwicklungsumgebungen zu schreiben und zu lesen.



  • Navigation im Betriebssystem:

    • In Verbindung mit einem Screen Reader können Benutzer durch das Betriebssystem navigieren, Anwendungen starten und Systemeinstellungen ändern.



  • Kommunikation:

    • Braille-Displays ermöglichen das Lesen und Verfassen von Nachrichten, E-Mails und anderen Kommunikationsformen.




Bekannte Hersteller und Modelle:


Es gibt verschiedene Hersteller von Braille-Displays, die Geräte mit unterschiedlichen Funktionen und Preisklassen anbieten. Zu den bekannten Herstellern gehören:

  • HumanWare: Produziert eine Reihe von Braille-Displays, darunter das beliebte BrailleNote Touch, ein Tablet mit integriertem Braille-Display.

  • Freedom Scientific: Bietet die Focus-Serie an Braille-Displays an, die in verschiedenen Größen erhältlich sind.

  • HIMS: Bekannt für die BrailleSense Polaris und Braille EDGE Geräte, die speziell für blinde Benutzer entwickelt wurden.

  • Alva: Bietet verschiedene Modelle von Braille-Displays an, die für den mobilen und stationären Einsatz geeignet sind.


Barrierefreiheit und Braille-Displays:



  • Integration in Betriebssysteme:

    • Moderne Betriebssysteme wie Windows, macOS und Linux sowie mobile Betriebssysteme wie iOS und Android bieten integrierte Unterstützung für Braille-Displays, oft in Kombination mit Screen Readern wie NVDA, JAWS (Windows), VoiceOver (macOS, iOS) und Orca (Linux).



  • Anpassung und Konfiguration:

    • Benutzer können ihre Braille-Displays oft an ihre spezifischen Bedürfnisse anpassen, z. B. die Braille-Verkürzungsstufe, die Art der Anzeige (6-Punkt oder 8-Punkt-Braille) und die Art der Navigation.




:


Ein Braille-Display ist ein unverzichtbares Hilfsmittel für blinde oder stark sehbehinderte Menschen, das ihnen den Zugang zu digitalen Inhalten in Brailleschrift ermöglicht. Es übersetzt den auf dem Bildschirm angezeigten Text in taktile Braille-Zeichen, die mit den Fingern gelesen werden können. Braille-Displays werden in vielen Bereichen eingesetzt, von der Bildung über den Beruf bis hin zur allgemeinen Nutzung digitaler Geräte, und tragen wesentlich zur Barrierefreiheit und Inklusion bei.




Eingereicht durch: schutzgeist

chown

deluser

Der Linux-Befehl deluser


 

Der Befehl deluser wird in Linux-Systemen verwendet, um Benutzerkonten vom System zu entfernen. Es ist ein nützliches Tool, wenn ein Benutzer nicht mehr benötigt wird oder entfernt werden soll. Hier sind einige grundlegende Informationen und Beispiele zur Verwendung von deluser.

Grundlegende Verwendung
Der einfachste Weg, einen Benutzer zu löschen, besteht darin, den deluser-Befehl gefolgt vom Benutzernamen auszuführen:

sudo deluser benutzername

Dies entfernt den Benutzer vom System, behält jedoch das Home-Verzeichnis und alle persönlichen Dateien bei, es sei denn, es wird explizit anders angegeben.

Optionen

  • Benutzer und dessen Home-Verzeichnis löschen:

    • Um den Benutzer und gleichzeitig sein Home-Verzeichnis sowie die persönlichen Dateien zu löschen, verwenden Sie die Option --remove-home:





sudo deluser --remove-home benutzername
Diese Option entfernt den Benutzer und löscht auch das Home-Verzeichnis sowie alle darin enthaltenen Dateien.

Benutzer aus einer Gruppe entfernen:

Der Befehl deluser kann auch verwendet werden, um einen Benutzer aus einer bestimmten Gruppe zu entfernen:

sudo deluser benutzername gruppenname

Dies entfernt den Benutzer benutzername aus der angegebenen Gruppe gruppenname.

Benutzer und alle mit ihm verbundenen Dateien löschen:

Um nicht nur das Home-Verzeichnis, sondern auch alle zusätzlichen Dateien, die dem Benutzer gehören (z. B. E-Mail-Spool), zu löschen, können Sie die Option --remove-all-files verwenden:

sudo deluser --remove-all-files benutzername

Beachten Sie, dass diese Option sehr gründlich ist und möglicherweise nicht gewünschte Dateien löschen kann, daher sollte sie mit Vorsicht verwendet werden.

Vorsicht
Das Löschen eines Benutzers ist eine irreversible Aktion. Alle Daten, die gelöscht werden, können nicht wiederhergestellt werden, es sei denn, es existieren Backups.
Wenn Sie nur den Benutzer sperren möchten, anstatt ihn zu löschen, können Sie den Befehl

usermod --expiredate 1 benutzername verwenden
Eingereicht durch: Schutzgeist

echo

ifconfig

locate
locate , oder mlocate  gehört zu den sehr nützlichen Linux-Befehlen.
Sofern zuvor eine Indexierung stattgefunden hat, kannst Du Dateien über den Befehlssyntax:


locate [Dateiname]

oder


locate -i [Dateiname]





durchführen.
Damit locate die Dateien blitzschnell findet, müssen alle Daten zuvor indexiert werden.
Dies geschieht über
sudo updatedb

Gerade um config, oder andere Dateien zu finden,  ist dieses Werkzeit unglaublich gut.

Alle Optionsmöglichkeiten:

-A, --all only print entries that match all patterns
-b, --basename match only the base name of path names
-c, --count only print number of found entries
-d, --database DBPATH use DBPATH instead of default database (which is
/var/lib/mlocate/mlocate.db)
-e, --existing only print entries for currently existing files
-L, --follow follow trailing symbolic links when checking file
existence (default)
-h, --help print this help
-i, --ignore-case ignore case distinctions when matching patterns
-l, --limit, -n LIMIT limit output (or counting) to LIMIT entries
-m, --mmap ignored, for backward compatibility
-P, --nofollow, -H don't follow trailing symbolic links when checking file
existence
-0, --null separate entries with NUL on output
-S, --statistics don't search for entries, print statistics about each
used database
-q, --quiet report no error messages about reading databases
-r, --regexp REGEXP search for basic regexp REGEXP instead of patterns
--regex patterns are extended regexps
-s, --stdio ignored, for backward compatibility
-V, --version print version information
-w, --wholename match whole path name (default)

man

netconfig

top
Top ist einer der wichtigsten Befehle, wenn Du schnell eine Übersicht der MEM- oder CPU-Auslastung erhalten willst.

Eine sehr gute Liste aller Optionen und HotKeys findest Du unter:
https://wiki.ubuntuusers.de/top/

X11-Konfigurationsdatei xorg.conf





Die X11-Konfigurationsdatei xorg.conf ist in verschiedene Abschnitte gruppiert, die jeweils eine bestimmte Art von Konfiguration für den X-Server (X11) steuern. Diese Abschnitte sind durch spezifische Schlüsselwörter gekennzeichnet und in eckige Klammern eingefasst. Jeder Abschnitt konfiguriert einen bestimmten Aspekt der X11-Umgebung, wie z.B. die Grafikkarte, den Bildschirm, die Eingabegeräte usw.

Hier ist eine Übersicht über die typischen Abschnitte in der xorg.conf:

1. Section "ServerLayout"



  • Zweck: Definiert das Layout des X-Servers, einschließlich der Zuordnung von Bildschirmen, Eingabegeräten und grafischen Ausgängen.

  • Beispiel:


    Section "ServerLayout"
    Identifier "Layout0"
    Screen "Screen0"
    InputDevice "Keyboard0" "CoreKeyboard"
    InputDevice "Mouse0" "CorePointer"
    EndSection



2. Section "ServerFlags"



  • Zweck: Legt verschiedene Flags und Optionen fest, die das Verhalten des X-Servers steuern.

  • Beispiel:


    Section "ServerFlags"
    Option "AllowMouseOpenFail" "true"
    Option "AutoAddDevices" "false"
    EndSection



3. Section "InputDevice"



  • Zweck: Konfiguriert Eingabegeräte wie Tastaturen und Mäuse.

  • Beispiel:


    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbLayout" "us"
    EndSection

    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "IMPS/2"
    Option "Device" "/dev/input/mice"
    EndSection



4. Section "Monitor"



  • Zweck: Definiert die Eigenschaften eines Monitors, wie z.B. die Horizontal- und Vertikalfrequenzen.

  • Beispiel:


    Section "Monitor"
    Identifier "Monitor0"
    HorizSync 30-83
    VertRefresh 56-75
    Option "DPMS"
    EndSection



5. Section "Device"



  • Zweck: Beschreibt die Grafikkarte oder den Grafikchip, einschließlich Treiber- und Spezifikationsoptionen.

  • Beispiel:


    Section "Device"
    Identifier "Device0"
    Driver "nvidia"
    Option "NoLogo" "true"
    EndSection



6. Section "Screen"



  • Zweck: Definiert die Kombination aus Grafikkarte und Monitor sowie die Farbtiefe und Auflösung.

  • Beispiel:


    Section "Screen"
    Identifier "Screen0"
    Device "Device0"
    Monitor "Monitor0"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1920x1080" "1280x1024"
    EndSubSection
    EndSection



7. Section "DRI"



  • Zweck: Aktiviert das Direct Rendering Interface, das für die Hardware-beschleunigte 3D-Grafik erforderlich ist.

  • Beispiel:


    Section "DRI"
    Mode 0666
    EndSection



8. Section "Extensions"



  • Zweck: Steuert das Laden und die Konfiguration von X11-Erweiterungen.

  • Beispiel:


    Section "Extensions"
    Option "Composite" "Enable"
    EndSection



9. Section "Files"



  • Zweck: Legt die Pfade für verschiedene Konfigurations- und Logdateien fest, die vom X-Server verwendet werden.

  • Beispiel:


    Section "Files"
    FontPath "/usr/share/fonts/X11/misc"
    FontPath "/usr/share/fonts/X11/TTF"
    ModulePath "/usr/lib/xorg/modules"
    EndSection



10. Section "Module"



  • Zweck: Listet die zu ladenden X11-Module auf.

  • Beispiel:


    Section "Module"
    Load "glx"
    Load "dri"
    Load "extmod"
    EndSection



11. Section "Vendor"



  • Zweck: Ermöglicht die Konfiguration von gerätespezifischen Einstellungen, die vom Treiberhersteller bereitgestellt werden.

  • Beispiel:


    Section "Vendor"
    Identifier "Vendor0"
    Option "DynamicTwinView" "false"
    EndSection




Die xorg.conf-Datei ist modular aufgebaut und in verschiedene Abschnitte unterteilt, die jeweils für einen spezifischen Aspekt der X11-Konfiguration verantwortlich sind. Diese Abschnitte ermöglichen es, den X-Server detailliert zu konfigurieren, indem sie Monitore, Grafikkarten, Eingabegeräte, Erweiterungen und vieles mehr definieren. Moderne Distributionen benötigen oft keine manuelle Konfiguration der xorg.conf, da vieles automatisch erkannt und konfiguriert wird, aber die Datei bleibt ein wichtiges Werkzeug für spezielle Anpassungen und Debugging.




Eingereicht durch: schutzgeist

.

.profile
Kein Befehl, aber nice to know:

.profile
Eine Startdatei, die beim Login in eine Shell ausgeführt wird. Wird von verschiedenen Shells verwendet, um Umgebungsvariablen und benutzerspezifische Einstellungen zu setzen.

Linux-Befehl, um die Datei einzusehen:

nano ~/.profile

Anwendungsbeispiel:
Füge Umgebungsvariablen hinzu, die beim Login gesetzt werden sollen, z.B. export PATH="$HOME/bin:$PATH".

MAN-Befehl: man bash (Abschnitt über Startdateien)




~/.bash_profile:
Eine Bash-spezifische Startdatei, die beim Login in eine Bash-Login-Shell ausgeführt wird. Sie kann dazu verwendet werden, benutzerspezifische Konfigurationen und Umgebungsvariablen zu setzen.

Linux-Befehl: nano ~/.bash_profile

Anwendungsbeispiel:
Setze Aliase oder Umgebungsvariablen, z.B. alias ll='ls -la'.

Weitere Befehle und Optionen:

  • source ~/.bash_profile: Lädt die .bash_profile neu, ohne sich neu einloggen zu müssen.


MAN-Befehl: man bash (Abschnitt über Startdateien)




~/.bash_logout:
Eine Datei, die ausgeführt wird, wenn eine Bash-Login-Shell beendet wird. Sie wird verwendet, um Befehle auszuführen, bevor sich der Benutzer abmeldet.

Linux-Befehl: nano ~/.bash_logout

Anwendungsbeispiel:
Leere den Bildschirm beim Logout mit clear.

MAN-Befehl: man bash (Abschnitt über Startdateien)

 
Eingereicht durch: Schutzgeist

/

/etc/nsswitch.conf

Kleiner Exkurs für die Datei nsswitch.conf


Die Datei /etc/nsswitch.conf ist eine zentrale Konfigurationsdatei in Linux- und Unix-Systemen, die bestimmt, wie das System bestimmte Namensauflösungen und andere Abfragen durchführt. Sie wird hauptsächlich verwendet, um festzulegen, in welcher Reihenfolge und aus welchen Quellen das System Informationen zu bestimmten Arten von Anfragen beziehen soll, wie z.B. Hostnamen, Benutzerinformationen, Gruppeninformationen und vieles mehr.

Hauptaufgaben der nsswitch.conf



  1. Namensauflösung: Bestimmt, wie das System Hostnamen in IP-Adressen umwandelt und umgekehrt.

  2. Benutzer- und Gruppeninformationen: Legt fest, wo das System nach Benutzer- und Gruppeninformationen sucht, wie z.B. in /etc/passwd, LDAP-Verzeichnissen oder NIS (Network Information Service).

  3. Mail-Aliase: Bestimmt, wo das System nach Mail-Alias-Informationen sucht.

  4. Weitere Dienste: Konfiguriert, wie das System Informationen für weitere Dienste wie Netzwerkschnittstellen, RPC-Dienste (Remote Procedure Call), und andere sucht.


Aufbau der nsswitch.conf


Die Datei ist im Wesentlichen eine Liste von Schlüsselwörtern, die verschiedenen Diensttypen entsprechen, gefolgt von einer Liste von Datenquellen, die das System für die Suche verwenden soll. Ein typischer Eintrag in der nsswitch.conf sieht folgendermaßen aus:


hosts: files dns
passwd: files ldap
group: files ldap


Erklärung:



  • hosts: Gibt an, wie Hostnamen aufgelöst werden sollen. In diesem Beispiel wird zuerst die Datei /etc/hosts durchsucht (files), und wenn dort kein passender Eintrag gefunden wird, wird ein DNS-Server (dns) befragt.

  • passwd: Legt fest, wo nach Benutzerinformationen gesucht wird. Hier sucht das System zuerst in der lokalen Datei /etc/passwd (files) und dann in einem LDAP-Verzeichnis (ldap).

  • group: Ähnlich wie passwd, aber für Gruppeninformationen, sucht ebenfalls zuerst in /etc/group und dann in LDAP.


Wichtige Schlüsselwörter in der nsswitch.conf



  • passwd: Benutzerinformationen (z.B. Benutzername, Benutzer-ID).

  • group: Gruppeninformationen (z.B. Gruppenname, Gruppen-ID).

  • hosts: Hostnamen-Auflösung.

  • networks: Netzwerknamen und -adressen.

  • protocols: Netzwerkprotokoll-Nummern.

  • services: Netzwerkdienstnamen (z.B. welche Ports welchen Diensten zugeordnet sind).

  • ethers: Ethernet-Adressen.

  • aliases: Mail-Alias-Informationen.

  • shadow: Schattenpasswörter (verschlüsselte Passwörter).

  • automount: Automount-Informationen für Dateisysteme.


Datenquellen


Die gängigsten Datenquellen, die in der nsswitch.conf verwendet werden, sind:

  • files: Lokale Dateien wie /etc/passwd, /etc/group, /etc/hosts.

  • dns: DNS-Server zur Namensauflösung.

  • ldap: LDAP-Server zur Suche von Benutzer-, Gruppen- und anderen Verzeichnisinformationen.

  • nis: Network Information Service, ein Netzwerkprotokoll zur Verteilung von Systemkonfigurationsdaten.

  • db: Datenbankdateien, die durch spezielle Software verwaltet werden (z.B. für die hosts-Datenbank).

  • compat: Ermöglicht die Abwärtskompatibilität mit älteren NSS-Konfigurationen, insbesondere bei NIS.


Beispiel für eine typische nsswitch.conf




# /etc/nsswitch.conf

passwd: files ldap
group: files ldap
shadow: files
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files


Die Datei /etc/nsswitch.conf ist ein wesentlicher Bestandteil der Systemkonfiguration, da sie festlegt, wie das System wichtige Informationen wie Hostnamen, Benutzer, Gruppen und andere Daten sucht. Durch die Anpassung dieser Datei kannst Du das Verhalten des Systems in Bezug auf Namensauflösung und Informationssuche an Deine Bedürfnisse anpassen.
Eingereicht durch: schutzgeist

A

adduser
adduser - Erstellt einen neuen Benutzeraccount.
Beispiel: sudo adduser meinbenutzername erstellt einen neuen Benutzer mit dem Namen meinbenutzername.

alias
Der alias-Befehl ist ein leistungsstarkes Werkzeug, mit dem Sie die Effizienz Ihrer Befehlszeilensitzungen verbessern können, indem Sie komplexe Befehle abkürzen oder benutzerdefinierte Shortcuts erstellen. Sie können Aliase temporär für die aktuelle Sitzung erstellen oder dauerhaft, indem Sie sie in eine Konfigurationsdatei wie ~/.bashrc

alias:

Erstellt einen neuen Alias, der es ermöglicht, lange oder komplexe Befehle mit einem kürzeren Namen auszuführen. Aliase erleichtern das Arbeiten in der Shell durch Abkürzungen für häufig verwendete Befehle.

Linux-Befehl: alias

Anwendungsbeispiel:
Erstelle einen Alias ll für den Befehl ls -l mit alias ll='ls -l'.

Weitere Befehle und Optionen:

alias ll='ls -l': Erstellt einen Alias ll, der den Befehl ls -l ausführt.
alias gs='git status': Erstellt einen Alias gs für den Befehl git status.
alias: Zeigt alle aktuell definierten Aliase an.
Handbuch für den Befehl: man bash (Abschnitt über Shell-Builtins)

unalias:


Entfernt einen zuvor definierten Alias, sodass der Alias nicht mehr verwendet werden kann.

Linux-Befehl: unalias


Anwendungsbeispiel:
Entferne den Alias ll mit unalias ll.

Weitere Befehle und Optionen:


unalias ll: Entfernt den Alias ll.
unalias -a: Entfernt alle definierten Aliase.
Handbuch für den Befehl: man bash (Abschnitt über Shell-Builtins)

Temporäre vs. permanente Aliase:


Ein Alias, den Sie in einer Shell-Session erstellen, ist nur für die Dauer dieser Sitzung gültig. Wenn Sie möchten, dass ein Alias dauerhaft verfügbar ist, müssen Sie ihn in eine Ihrer Shell-Konfigurationsdateien wie ~/.bashrc, ~/.bash_profile oder ~/.zshrc (abhängig von der verwendeten Shell) einfügen.

Beispiel für ~/.bashrc:
alias ll='ls -lah'
Nach dem Speichern der Datei können Sie entweder die Shell neu starten oder die Datei mit source ~/.bashrc neu laden, um die Aliase wirksam zu machen.

 

Der "alias"Befehl kann genutzt werden, um zum Beispiel lange Befehle abzukürzen.
Wird der Befehl alleine ausgeführt, zeigt er alle vorhanden Alias-Einträge an
alias



Anwendung:
alias zeigliste="ls -lisa"

Würde einen Kurzbefehl namens "zeigliste" hinzufügen und damit den Befehl ls -lisa ersetzen.

Es reicht also aus "zeigliste" zu schreiben anstatt "ls -lisa"
Ich nutze aliases, um kompliziertere Befehle abzukürzen, oder um die "kill -all" Befehle schneller zu setzen.

 

 

Lange Version: alias Linux Befehl / Kommando 

Der Befehl alias in Linux wird verwendet, um benutzerdefinierte Kurzbefehle für längere oder komplexere Befehle zu erstellen. Ein Alias ist im Wesentlichen eine benutzerdefinierte Abkürzung, die es ermöglicht, häufig verwendete Befehle mit weniger Tastenanschlägen auszuführen.

Grundlegende Verwendung von alias

Alias anzeigen:

Wenn Sie alias ohne Argumente eingeben, werden alle aktuell definierten Aliase angezeigt:

alias

Einen neuen Alias erstellen:

Um einen neuen Alias zu erstellen, verwenden Sie die folgende Syntax:

alias name='befehl'

 

Beispiel:

alias ll='ls -lah'

Dieser Alias definiert ll als Abkürzung für den Befehl ls -lah, der eine detaillierte Liste aller Dateien (einschließlich versteckter Dateien) im aktuellen Verzeichnis anzeigt.

Alias verwenden:


Nach der Erstellung können Sie den Alias verwenden, als wäre es ein normaler Befehl. Mit dem obigen Beispiel können Sie einfach ll eingeben, um ls -lah auszuführen:

Einen Alias entfernen:


Um einen Alias zu entfernen, verwenden Sie den Befehl unalias:

unalias name
Beispiel:

unalias ll

 

Beispiele für nützliche Aliase
Alias für sichere Dateioperationen (Bestätigung vor Überschreiben):
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

Diese Aliase sorgen dafür, dass vor dem Überschreiben oder Löschen von Dateien eine Bestätigung angefordert wird.

Alias für grep mit Farbe:


alias grep='grep --color=auto'

Alias für einfaches Wechseln in das Home-Verzeichnis:

alias home='cd ~'

 

 

 
Eingereicht durch: Schutzgeist

apt
apt - Paketmanager für Debian-basierte Linux-Distributionen.
Beispiel:

sudo apt install firefox

installiert den Firefox-Webbrowser.

ar
ar - Befehl zum Erstellen und Manipulieren von Archivdateien.
Beispiel: ar rcs libtest.a test1.o test2.o erstellt eine Bibliothek namens libtest.a aus test1.o und test2.o.

 

awk
Ein leistungsfähiges Textverarbeitungsprogramm, das zum Extrahieren von Informationen aus Textdateien verwendet wird.

Beispiel: awk '{print $1}' datei.txt gibt die erste Spalte von datei.txt aus.

 

B

Barrierefreiheit Tastatur- und Mausunterstützung Exkurs





Barrierefreiheit in Linux ist ein wichtiges Thema, insbesondere für Benutzer, die auf alternative Eingabemethoden, Bildschirmlesegeräte oder andere unterstützende Technologien angewiesen sind. Hier ist eine Übersicht über relevante Linux-Befehle, Tastenkombinationen und Funktionen zur Unterstützung der Barrierefreiheit, insbesondere in Bezug auf Tastatur- und Mausunterstützung.

1. Bildschirmlesegeräte und Text-to-Speech:



  • orca: Ein beliebter Bildschirmleser für GNOME und andere Desktop-Umgebungen.

    • Starten: orca kann über das Terminal gestartet werden.


      orca




  • espeak: Ein Text-to-Speech-Programm, das Text in gesprochene Sprache umwandelt.

    • Verwendung:


      espeak "Dies ist ein Test."




  • festival: Ein weiteres Text-to-Speech-Programm mit erweiterter Konfigurierbarkeit.

    • Verwendung:


      echo "Dies ist ein Test." | festival --tts





2. Zoom und Vergrößerungswerkzeuge:



  • xzoom: Ein einfaches Vergrößerungswerkzeug, das einen Teil des Bildschirms vergrößert.

    • Starten:


      xzoom




  • gnome-magnifier: Eingebauter Bildschirm-Zoom in GNOME.

    • Aktivieren: Über die Einstellungen → Barrierefreiheit → Zoom.



  • kmag: Ein Vergrößerungswerkzeug für KDE.

    • Starten:


      kmag





3. Tastaturkürzel für Barrierefreiheit:


GNOME Desktop:



  • Bildschirmtastatur aktivieren:

    • Alt + Super + S: Aktiviert die Bildschirmtastatur in GNOME.



  • Bildschirmzoom aktivieren:

    • Super + Alt + 8: Aktiviert/Deaktiviert den Zoom.

    • Super + Alt + +/-: Zoomstufen erhöhen oder verringern.



  • Hoher Kontrast aktivieren:

    • Super + Alt + H: Schaltet den hohen Kontrastmodus ein oder aus.



  • Orca aktivieren:

    • Alt + Super + S: Aktiviert/Deaktiviert den Orca-Bildschirmleser.



  • Mauszeiger durch Tastatur steuern:

    • Alt + Shift + NumLock: Schaltet die Funktion ein/aus, die es ermöglicht, den Mauszeiger mit dem Ziffernblock zu steuern.

    • Tasten auf dem Ziffernblock: Bewegt den Mauszeiger (z.B. 2 bewegt nach unten, 4 nach links).




KDE Desktop:



  • Tastaturmaus aktivieren:

    • NumLock aktivieren und den Ziffernblock verwenden, um die Maus zu steuern.



  • Bildschirmzoom:

    • Meta + +: Zoomt hinein.

    • Meta + -: Zoomt heraus.



  • Bildschirmtastatur aktivieren:

    • Alt + Shift + F4: Öffnet die Bildschirmtastatur.



  • Hoher Kontrast aktivieren:

    • Alt + Shift + S: Aktiviert/Deaktiviert den hohen Kontrastmodus.




4. Mauseinstellungen und alternativer Mauszugriff:



  • Tastaturmaus aktivieren (Mausbewegung mit der Tastatur):

    • Alt + Shift + NumLock: Aktiviert die Funktion, die es ermöglicht, den Mauszeiger mit der Tastatur zu steuern.



  • Mousetweaks: Ein GNOME-Tool für Benutzer mit eingeschränkter Feinmotorik, das zusätzliche Mausoptionen bietet, wie z.B. das Klicken durch Verweilen.

    • Installation:


      sudo apt-get install mousetweaks


    • Verweilen-Modus aktivieren:

      • Öffnen Sie die GNOME-Systemeinstellungen → Barrierefreiheit → Zeigereinstellungen → Klick durch Verweilen.






5. Bildschirmtastatur:



  • onboard: Eine Bildschirmtastatur für GNOME, die verwendet werden kann, wenn die physische Tastatur schwer zu bedienen ist.

    • Starten:


      onboard




  • florence: Eine alternative Bildschirmtastatur mit anpassbaren Optionen.

    • Starten:


      florence





6. Hoher Kontrast und Farbanpassungen:



  • Gnome-Hoher-Kontrast-Modus:

    • Aktivieren: Systemeinstellungen → Barrierefreiheit → Sehhilfen → Hoher Kontrast.



  • Redshift: Ein Tool, das die Farbtemperatur des Bildschirms an die Tageszeit anpasst, was für Personen mit Sehproblemen nützlich sein kann.

    • Installation:


      sudo apt-get install redshift


    • Verwendung:


      redshift -O 3000





7. Erweiterte Maussteuerung:



  • xinput: Ein Tool zur Verwaltung von Eingabegeräten unter X11. Es kann verwendet werden, um die Empfindlichkeit der Maus zu ändern oder spezielle Einstellungen für Barrierefreiheit vorzunehmen.

    • Liste der Eingabegeräte anzeigen:


      xinput list


    • Mausempfindlichkeit ändern:


      xinput --set-prop [Maus-ID] "Device Accel Constant Deceleration" 2.5






Linux bietet eine Vielzahl von Befehlen und Tools, die speziell auf die Bedürfnisse von Menschen mit Behinderungen zugeschnitten sind. Von Bildschirmlesegeräten über Vergrößerungswerkzeuge bis hin zu Tastenkombinationen zur Aktivierung von Barrierefreiheitsfunktionen bietet Linux alles, was erforderlich ist, um das System für Benutzer mit unterschiedlichen Anforderungen zugänglich zu machen. Viele dieser Funktionen sind in den Desktop-Umgebungen GNOME und KDE integriert, was eine benutzerfreundliche und zugängliche Umgebung schafft.




Eingereicht durch: Schutzgeist

basename

bash
bash, man liest es so oft !

bash ist ein Unix-Shell-Interpreter.


Bash-Beispiel:


bash mein_irc_skript.sh

führt das Shell-Skript mein_irc_skript.sh aus.

Bash ist ein Unix-Shell-Interpreter, der auf vielen Betriebssystemen verfügbar ist. Es bietet eine schnelle und flexible Möglichkeit, mit dem Betriebssystem zu interagieren und komplexe Aufgaben auszuführen. Die Bash-Shell verfügt über viele integrierte Befehle und unterstützt auch die Verwendung von Skripten, die ausführbare Befehle und Variablen enthalten können. Es ist auch möglich, benutzerdefinierte Funktionen zu erstellen und in Skripten zu verwenden. Bash eignet sich hervorragend zum Automatisieren von Aufgaben und zur Verwaltung von Systemen auf der Kommandozeile.

Zur Info:

es gibt verschiedene Alternativen zum Bash-Shell-Interpreter. Einige Beispiele sind:



    1. Zsh (Z-Shell): Ein erweiterter Shell-Interpreter, der viele Funktionen und Konfigurationsoptionen bietet.




 



    1. Fish (Friendly Interactive SHell): Eine Shell, die auf eine einfache und benutzerfreundliche Benutzeroberfläche ausgelegt ist und eine automatische Vervollständigung von Befehlen und Variablen bietet.




 



    1. PowerShell: Eine von Microsoft entwickelte Shell, die hauptsächlich auf Windows-Systemen verwendet wird. Es ist eine leistungsstarke und erweiterbare Shell, die auf der .NET-Plattform basiert.




 



    1. Tcsh (Tenex C Shell): Eine verbesserte Version der C-Shell mit zusätzlichen Funktionen und Syntaxerweiterungen.




Linux-Befehl bash -l oder bash --login


Bash (Bourne Again Shell):
Eine Unix-Shell und Befehlssprache, die in vielen Betriebssystemen, wie Linux, verwendet wird, um Befehle einzugeben und Skripte auszuführen.

Linux-Befehl: bash  Anwendungsbeispiel:


Führe ein Skript mit ./skript.sh aus.

Weitere Bash Befehle und Optionen:


bash -c "command": Führe einen einzelnen Befehl in einer neuen Bash-Instanz aus.
bash -x script.sh: Führt ein Skript mit Debugging-Informationen aus (zeigt jeden Befehl vor der Ausführung).
bash --version: Zeigt die Version der Bash-Shell an.
bash --login: Startet eine neue Login-Shell.
bash --noprofile Ignoriert die Profile-Dateien
bash --norc  Ignoriert die .bashrc
bash --rcfile  Übernimmt die übergebene bashrc Datei


MAN-Befehl: man bash
Eingereicht durch: Schutzgeist

Bash Linux Kontrollstrukturen

Kleiner Exkurs: Kontrollstrukturen:


In der Bash-Shell unter Linux gibt es verschiedene Kontrollstrukturen, die Dir helfen, den Fluss eines Programms zu steuern. Diese Strukturen sind fundamental für das Schreiben von Shell-Skripten, insbesondere wenn es darum geht, bestimmte Aufgaben wie die Interaktion mit einem IRC (Internet Relay Chat) Server zu automatisieren. Ich werde die verschiedenen Arten von Schleifen und Kontrollstrukturen erklären, zusammen mit Beispielen, die sich auf IRC beziehen. Außerdem werde ich Dir erklären, wann Du welche Schleifen-Art verwenden solltest und welche Alternativen es gibt.

 
In a Nutshell 

if-else: Verwende es, wenn Du einfache Bedingungen prüfen möchtest.

case
: Besser geeignet als if-else für mehrere mögliche Werte einer Variablen.

for
: Perfekt für Iterationen über Listen oder eine bekannte Anzahl von Wiederholungen.

while
: Verwende es, wenn Du eine Schleife benötigst, die auf einer Bedingung basiert, deren Erfüllung ungewiss ist.
until: Das Gegenteil von while, es läuft, bis die Bedingung wahr wird.

break und continue: Kontrolliere den Fluss innerhalb von Schleifen, indem Du Durchläufe überspringst oder Schleifen abbrichst.
Diese Kontrollstrukturen bilden das Rückgrat der Programmierung in Bash und ermöglichen es Dir, komplexe Skripte zu erstellen, die auf spezifische Bedingungen und Daten reagieren können, wie sie in einer IRC-Umgebung auftreten könnten.

 

 

1. If-Else-Strukturen


Die if-else-Struktur ermöglicht es Dir, Entscheidungen basierend auf bestimmten Bedingungen zu treffen. Du verwendest sie, wenn Du verschiedene Aktionen basierend auf verschiedenen Bedingungen ausführen möchtest.

Beispiel:

Überprüfen, ob eine Verbindung zu einem IRC-Server erfolgreich ist

#!/bin/bash

server="irc.irc-mania.de"
port=6667

# Versuche, eine Verbindung zum IRC-Server herzustellen

if nc -z $server $port; then
echo "Verbindung zu $server erfolgreich."
else
echo "Verbindung zu $server fehlgeschlagen."
fi


Wann Du if-else verwenden solltest:


Wenn Du eine Entscheidung basierend auf einer einzigen Bedingung treffen musst.
Wenn es nur zwei mögliche Pfade gibt (einen für die Bedingung und einen, wenn sie nicht erfüllt ist).


IF-Else Alternative:


case-Anweisung, wenn es mehrere mögliche Zustände gibt.


2. Case-Strukturen


Die case-Struktur ist eine Alternative zu mehreren if-else-Anweisungen und wird verwendet, wenn Du mehrere mögliche Werte einer Variablen überprüfen möchtest.
Beispiel:
Reaktion auf verschiedene IRC-Kommandos

#!/bin/bash

command="PRIVMSG"

case $command in
"JOIN")
echo "Ein Benutzer ist dem Kanal beigetreten."
;;
"PART")
echo "Ein Benutzer hat den Kanal verlassen."
;;
"PRIVMSG")
echo "Eine private Nachricht wurde empfangen."
;;
*)
echo "Unbekanntes Kommando."
;;
esac

 


Wann Du case verwenden solltest:


Wenn Du mehrere mögliche Werte einer Variablen vergleichen möchtest.
Wenn Du eine einfache und klare Struktur für Entscheidungen mit vielen Fällen möchtest.


Case-Alternative:


Mehrere if-else-Anweisungen, aber case ist oft übersichtlicher.


3. For-Schleifen


for-Schleifen werden verwendet, um über eine Liste von Elementen zu iterieren. Sie sind nützlich, wenn Du eine feste Anzahl von Wiederholungen oder eine Liste von Elementen hast, die Du durchlaufen möchtest.

Beispiel: Überprüfen einer Liste von IRC-Servern

#!/bin/bash

servers=("irc.IRC-Mania.com" "irc.irc-mania.de "irc.mania.net")
port=6667

for server in "${servers[@]}"; do
if nc -z $server $port; then
echo "Verbindung zu $server erfolgreich."
else
echo "Verbindung zu $server fehlgeschlagen."
fi
done

 


Wann Du for verwenden solltest:


Wenn Du eine bekannte Anzahl von Iterationen hast.
Wenn Du über eine Liste von Elementen iterieren möchtest.


For-Alternative:


while-Schleifen, wenn die Anzahl der Iterationen nicht bekannt ist.


4. While-Schleifen


while-Schleifen werden verwendet, wenn Du eine Bedingung hast, die vor jeder Iteration überprüft wird. Sie sind nützlich, wenn Du nicht weißt, wie viele Iterationen Du benötigst, oder wenn Du so lange iterieren willst, wie eine Bedingung wahr ist.
Beispiel: Wiederholte Verbindung zu einem IRC-Server bis zum Erfolg

#!/bin/bash

server="irc.example.com"
port=6667
connected=0

while [ $connected -eq 0 ]; do
if nc -z $server $port; then
echo "Verbindung zu $server erfolgreich."
connected=1
else
echo "Verbindung fehlgeschlagen, erneuter Versuch..."
sleep 5
fi
done


Wann Du while verwenden solltest:


Wenn Du iterieren musst, bis eine Bedingung erfüllt ist.
Wenn die Anzahl der Iterationen nicht festgelegt ist.
Alternative:

until-Schleifen, die das Gegenteil von while sind, iterieren, bis eine Bedingung wahr wird.


5. Until-Schleifen


until-Schleifen sind das Gegenteil von while-Schleifen. Sie laufen, bis eine Bedingung wahr wird. Sie werden seltener verwendet, sind aber nützlich, wenn Du eine Schleife haben möchtest, die läuft, bis eine bestimmte Bedingung erfüllt ist.

Beispiel: Warten auf eine Verbindung zu einem IRC-Server

 

#!/bin/bash

server="irc.irc-mania.net"
port=6667

until nc -z $server $port; do
echo "Warten auf Verbindung zu $server ..."
sleep 5
done

 
echo "Verbindung zu $server erfolgreich."


Wann Du until verwenden solltest:


Wenn Du eine Schleife benötigst, die solange läuft, bis eine Bedingung wahr wird.
Wenn die Logik besser zu bis eine Bedingung wahr wird passt als zu solange eine Bedingung wahr ist.

Alternative:
while-Schleifen, wenn die Logik besser zu solange eine Bedingung wahr ist passt.


6. Break und Continue



break:


Verlasse die Schleife sofort, unabhängig von der aktuellen Bedingung.

Beispiel:


Beende das Durchsuchen von Servern, sobald einer erfolgreich verbunden ist.

for server in "${servers[@]}"; do
if nc -z $server $port; then
echo "Verbindung zu $server erfolgreich."
break
fi
done

 


continue:


Setze die Schleife fort, überspringe aber den aktuellen Schleifendurchlauf.

Beispiel: Überspringe die Verbindung, wenn ein Server bereits verbunden ist.

for server in "${servers[@]}"; do
if [ "$server" == "irc.irc-mania.de" ]; then
continue
fi
nc -z $server $port && echo "$server ist erreichbar."
done


Wann Du break und continue verwenden solltest:



break:


Wenn Du die Schleife vorzeitig beenden möchtest, z.B. wenn ein Ziel erreicht wurde.


continue:


Wenn Du den aktuellen Schleifendurchlauf überspringen, aber die Schleife fortsetzen möchtest.

 
Eingereicht durch: Schutzgeist

Bash-Variablen
Bash-Variablen sind ein vielseitiges Werkzeug zur Verwaltung von Daten und Befehlen in der Shell. Sie können verwendet werden, um Skripte dynamischer und flexibler zu gestalten, da sie Daten speichern und wiederverwenden, Operationen ausführen und die Systemumgebung anpassen können. Das Verständnis der grundlegenden Mechanismen von Bash-Variablen ist essenziell für das effiziente Arbeiten mit der Shell und das Schreiben leistungsfähiger Skripte.

Bash-Variablen - Wissenswertes Tutorial, um alle Arten von Bash-Variablen zu verstehen.


 

Bash-Variablen sind grundlegende Elemente in der Bash-Shell, die verwendet werden, um Daten zu speichern und zu manipulieren. Sie können Zeichenketten, Zahlen, Dateipfade, Befehle und andere Arten von Daten enthalten. Hier ist eine detaillierte Übersicht über Bash-Variablen, ihre Deklaration, Verwendung, Typen und spezielle Variablen.

1. Deklaration und Zuweisung von Variablen


 

Deklaration:


In Bash müssen Variablen nicht explizit deklariert werden, bevor sie verwendet werden. Sie werden einfach durch Zuweisung eines Wertes erstellt.
Beispiel:

var="Hello, IRC-World!"
number=42
Zuweisung:

Variablenzuweisungen erfolgen ohne Leerzeichen um das Gleichheitszeichen =.
Beispiel:
myvar="Wert"
Zugriff auf Variablen:

Um den Wert einer Variablen zu verwenden, wird das Dollarzeichen $ verwendet.
Beispiel:

echo $var
Leere Variablen:

Eine Variable kann leer oder null sein.
Beispiel:
empty_var=""


2. Arten von Variablen

 

Lokale Variablen:


Diese Variablen sind nur innerhalb des aktuellen Skripts oder der aktuellen Shell-Sitzung verfügbar.
Beispiel:

local_var="Ich bin lokal"

Umgebungsvariablen:


Diese Variablen sind global und werden an alle Unterprozesse vererbt.
Sie werden mit dem Befehl export erstellt.
Beispiel:
export GLOBAL_VAR="Ich bin global"

Positionsparameter:


Dies sind spezielle Variablen, die verwendet werden, um die Argumente eines Skripts zu referenzieren.
Beispiel:
echo "Das erste Argument ist $1"

Spezielle Variablen:


 
$$: Prozess-ID der aktuellen Shell.
$?: Exit-Status des letzten Befehls.
$#: Anzahl der übergebenen Argumente.
$*: Alle Argumente als eine einzelne Zeichenkette.
$@: Alle Argumente als separate Zeichenketten.
$0: Name des Skripts.

 

Beispiel:


echo "Script name: $0"
echo "Anzahl der Argumente: $#"
3. Parameter und Argumente

 

Positionsparameter:


$1, $2, … sind Positionsparameter, die die Argumente repräsentieren, die an das Skript oder die Funktion übergeben werden.
Beispiel:

echo "Erstes Argument: $1"
echo "Zweites Argument: $2"

Shift:


Der Befehl shift verschiebt die Position der Positionsparameter nach links. $2 wird zu $1, $3 zu $2 usw.
Beispiel:

shift
echo "Nach shift: Erstes Argument: $1"

4. Bash Variable Scoping


 

Globale Variablen:


Standardmäßig sind Variablen in Bash global und können von jedem Teil des Skripts aus aufgerufen werden.

Lokale Variablen:


local wird verwendet, um eine Variable auf den Bereich der Funktion zu beschränken.

Beispiel:
function my_func {
local local_var="Lokal"
echo $local_var
}

5. Arithmetische Operationen


 

Arithmetik in Bash:


Bash unterstützt grundlegende arithmetische Operationen über die $((...)) Syntax.

Beispiel:
a=5
b=10
sum=$((a + b))
echo "Summe: $sum"
Inkrement und Dekrement:

++ und -- können verwendet werden, um Variablen inkrementell oder dekrementell zu ändern.
Beispiel:

count=0
count=$((count + 1))
echo "Count: $count"

6. Zeichenkettenoperationen


 

Zeichenkettenverkettung:


Zeichenketten können durch einfache Zuweisung miteinander verkettet werden.
Beispiel:

str1="Hello"
str2="World"
greeting="$str1, $str2!"
echo $greeting
Stringlänge:

Die Länge einer Zeichenkette kann mit ${#variable} abgerufen werden.
Beispiel:

echo "Länge: ${#greeting}"
Substring-Extraktion:

Mit ${variable:position:length} kann ein Teilstring extrahiert werden.
Beispiel:

echo ${greeting:7:5} # Ausgabe: World

Stringersetzung:


Die Syntax ${variable/pattern/replacement} wird verwendet, um Muster in einer Zeichenkette zu ersetzen.
Beispiel:

echo ${greeting/World/Bash} # Ausgabe: Hello, Bash!

7. Eingebaute Variablenoperationen


 

Standardwerte verwenden:


${variable:-default}: Verwendet default, wenn die Variable nicht gesetzt ist.
Beispiel:

echo ${username:-Guest}
Variableninhalt prüfen:

${variable:?error message}: Gibt eine Fehlermeldung aus, wenn die Variable nicht gesetzt ist.
Beispiel:

echo ${username:?Username is not set}

8. Exportieren von Variablen


 

Export:


Um eine Variable in den globalen Bereich zu exportieren, wird export verwendet.
Beispiel:

export PATH=$PATH:/custom/path
9. Untersuchen und Löschen von Variablen
Existenz prüfen:

Sie können prüfen, ob eine Variable gesetzt ist, indem Sie die [ -z "$variable" ] oder [ -n "$variable" ] Syntax verwenden.
Beispiel:

if [ -z "$var" ]; then
echo "Variable is empty"
fi
Löschen einer Variablen:

Eine Variable kann mit unset gelöscht werden.
Beispiel:

unset var
10. Eingebaute Bash-Variablen
$HOME: Das Home-Verzeichnis des aktuellen Benutzers.
$PATH: Liste von Verzeichnissen, in denen nach ausführbaren Dateien gesucht wird.
$PWD: Das aktuelle Arbeitsverzeichnis.
$SHELL: Der Name der laufenden Shell.
$USER: Der Name des aktuellen Benutzers.
$RANDOM: Eine zufällige Zahl.
$HOSTNAME: Der Hostname des Systems.

bc
bc - Ein Kommandozeilenrechner mit Unterstützung für höhere Mathematik.
Beispiel: echo "3*4" | bc gibt das Ergebnis von 3*4 aus.

Dieses Beispiel zeigt nun nicht das jeweilige Potenzial:
Vermutlich wirst Du viele Funktionen über die jeweilige Programmiersprache lösen, die Du verwendest.

Dennoch ein kleines Tutorial oder Exkurs über den Linux Befehl bc:

Der Befehl "bc" steht für "basic calculator" und ist ein Kommandozeilenrechner, der in vielen Unix-basierten Betriebssystemen verfügbar ist. Er kann verwendet werden, um mathematische Ausdrücke zu berechnen, die sowohl einfache als auch komplexe Operationen beinhalten.

Das Grundkonzept von "bc" ist einfach: Geben Sie einfach einen mathematischen Ausdruck ein und "bc" gibt das Ergebnis zurück. Zum Beispiel können wir eine einfache Addition wie folgt durchführen:

shell
Copy code
$ echo 2 + 2 | bc
4
Wie Sie sehen können, haben wir den Ausdruck "2 + 2" an den Befehl "echo" übergeben, der den Ausdruck an "bc" weitergeleitet hat. "bc" hat den Ausdruck berechnet und das Ergebnis "4" zurückgegeben.

Neben den grundlegenden arithmetischen Operationen unterstützt "bc" auch fortgeschrittenere mathematische Funktionen wie Trigonometrie, Exponentialfunktionen, Logarithmen und mehr. Hier ist ein Beispiel, das die Verwendung von "sin" (Sinus) zeigt:

$ echo "s(1)" | bc -l
.8414709848
Hier haben wir "s(1)" als Ausdruck angegeben und "-l" als Option verwendet, um die Mathematikbibliothek von "bc" zu laden. "bc" hat den Sinus von 1 berechnet und das Ergebnis zurückgegeben.

"bc" unterstützt auch Variablen, die in mathematischen Ausdrücken verwendet werden können. Hier ist ein Beispiel, das zeigt, wie man Variablen definiert und verwendet:

$ x=5
$ y=7
$ echo $x + $y | bc
12
Hier haben wir die Variablen "x" und "y" definiert und dann den Ausdruck "$x + $y" an "bc" übergeben. "bc" hat die Variablen ausgewertet und das Ergebnis zurückgegeben.

"bc" unterstützt auch die Verwendung von Schleifen und Bedingungen, was es zu einem leistungsstarken Werkzeug zum Schreiben von Skripten macht. Hier ist ein Beispiel, das zeigt, wie man eine Schleife verwendet, um die Fakultät einer Zahl zu berechnen:

$ n=5
$ fact=1
$ while [ $n -gt 1 ]; do
> fact=$(echo "$fact * $n" | bc)
> n=$(echo "$n - 1" | bc)
> done
$ echo $fact
120
Hier haben wir die Variable "n" definiert und dann eine Schleife verwendet, um die Fakultät von "n" zu berechnen. In jedem Schleifendurchlauf wird die Variable "fact" aktualisiert, indem sie mit "n" multipliziert wird, und die Variable "n" wird um eins reduziert, bis sie eins erreicht. Am Ende gibt der Befehl "echo" das Ergebnis der Fakultät aus.

Zusammenfassend ist "bc" ein leistungsstarker Kommandozeilenrechner, der eine breite Palette von mathematischen Operationen unterstützt und auch die Verwendung von Variablen, Schleifen und Bedingungen ermöglicht.

Durch den hier verwendeten Editor , sind die Beispiele etwas untergegangen.

Befehl

bg
Ein recht wichtiger Befehl. Viele Programme werden oft im Vordergrund ausgeführt.
Beendet man das Terminal, so wird auch der Prozess beendet.

Gerade, wenn man auf einer Shell arbeitet, ist dies oft nervig.
bg - Startet einen Prozess im Hintergrund.
Beispiel: firefox & startet den Firefox-Browser im Hintergrund.

Ich nutze es hauptsächlich für meine Rootkit-Scanner und Virenscanner:
zum Beispiel:

sudo rkhunter --check &
[1] 12946
$ ^C
1]+ Angehalten sudo rkhunter --check

Es verbirgt auch Risiken, weil man ggf. Rückmeldungen nicht liest. Ggf. wird der Prozess nicht korrekt geladen, dann muss man die Logfiles prüfen.

 

bind
bind - Ermöglicht das Einrichten und Ändern von Tastaturbefehlen.
Beispiel: bind -p zeigt alle aktuell gebundenen Tastenkombinationen an.

bzip2

C

cat

cd

cd (Change Directory)

cd (Change Directory):


Wechselt das aktuelle Arbeitsverzeichnis zu einem anderen Verzeichnis. Es ist einer der grundlegendsten Befehle zur Navigation im Dateisystem.

Linux-Befehl: cd
Anwendungsbeispiel:


 

Wechsle in das Verzeichnis /home/user/Documents mit cd /home/user/Documents

Weitere Befehle und Optionen:


cd ..: Wechselt in das übergeordnete Verzeichnis.
cd ~: Wechselt in das Home-Verzeichnis des aktuellen Benutzers.
cd -: Wechselt in das zuletzt besuchte Verzeichnis.
cd /: Wechselt in das Root-Verzeichnis.
cd /path/to/directory: Wechselt in ein spezifisches Verzeichnis.
Handbuch für den Befehl: man cd
Eingereicht durch: Schutzgeist

chage
chage:
Ein Befehl, der verwendet wird, um die Passwort-Ablaufinformationen eines Benutzerkontos zu ändern und anzuzeigen.

Mit chage kannst du festlegen, wie oft ein Benutzer sein Passwort ändern muss, wann das Passwort abläuft, wann der Benutzer gewarnt wird, und ob das Konto nach Ablauf des Passworts gesperrt wird
.

Linux-Befehl: chage

Anwendungsbeispiel:
Zeige die aktuellen Passwort-Ablaufeinstellungen für einen Benutzer an mit

chage -l username.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass der Benutzer ircadmin, der für die Verwaltung des Servers verantwortlich ist, sein Passwort regelmäßig ändert, um die Sicherheit zu gewährleisten. Mit chage kannst du die Einstellungen für das Passwortablaufdatum und die Warnungen vor dem Ablaufdatum konfigurieren.

Beispiel: Setze das Passwort von ircadmin so, dass es alle 90 Tage geändert werden muss, und warne den Benutzer 7 Tage vor dem Ablauf:

bash


sudo chage -M 90 -W 7 ircadmin


Dieser Befehl konfiguriert das Konto ircadmin so, dass das Passwort alle 90 Tage geändert werden muss, und gibt eine Warnung 7 Tage vor Ablauf des Passworts aus. Dies hilft sicherzustellen, dass das Konto, das für die Verwaltung des IRC-Servers irc.irc-mania.net verantwortlich ist, regelmäßig aktualisiert wird und somit die Sicherheit des Servers erhöht wird.

Ähnliche Linux-Befehle:

  • passwd: Ändert das Passwort eines Benutzers und kann auch verwendet werden, um das Passwort-Ablaufdatum zu setzen.

  • usermod: Verwendet, um Benutzerkontoinformationen zu ändern, einschließlich der Option, Passwort-Ablaufdaten festzulegen.

  • useradd: Fügt einen neuen Benutzer hinzu und kann Passwort-Einstellungen direkt beim Erstellen des Kontos festlegen.

  • chpasswd: Verwendet, um mehrere Benutzerpasswörter im Batch zu ändern.


Schalteroptionen und ihre Funktionen:



  • chage -l username: Zeigt die aktuellen Passwort-Ablaufeinstellungen für den angegebenen Benutzer an.

  • chage -M days username: Setzt die maximale Anzahl von Tagen, die ein Passwort gültig ist, bevor es geändert werden muss.

  • chage -m days username: Setzt die minimale Anzahl von Tagen, die zwischen Passwortänderungen liegen müssen.

  • chage -W days username: Setzt die Anzahl von Tagen, bevor eine Warnung über das Ablaufen des Passworts ausgegeben wird.

  • chage -E date username: Setzt das Datum, an dem das Benutzerkonto abläuft und gesperrt wird.

  • chage -I days username: Setzt die Anzahl von Tagen nach Ablauf des Passworts, nach denen das Konto deaktiviert wird.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von chage.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/shadow, die von chage verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. passwd, usermod.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man chage
Eingereicht durch: Schutzgeist

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.

chmod (Change Mode)

chmod (Change Mode)


Ändert die Dateiberechtigungen für Dateien und Verzeichnisse. Berechtigungen können für den Besitzer, die Gruppe und andere festgelegt werden.

Linux-Befehl: chmod Anwendungsbeispiel:

Setze die Datei-Berechtigungen auf lesbar, schreibbar und ausführbar für den Besitzer mit chmod 700 filename.

Weitere Befehle und Optionen:


chmod +x filename: Macht eine Datei ausführbar.
chmod 755 filename: Setzt die Berechtigungen auf lesbar und ausführbar für alle, schreibbar nur für den Besitzer.
chmod -R 644 directory/: Setzt rekursiv die Berechtigungen für alle Dateien in einem Verzeichnis auf lesbar und schreibbar für den Besitzer, lesbar für andere.
chmod u+x filename: Fügt die Ausführungsberechtigung nur für den Besitzer (user) hinzu.

Handbuch für den Befehl: man chmod
Eingereicht durch: Schutzgeist

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 😉

 

chronyc

chronyc:


Ein Kommandozeilenprogramm, das zur Interaktion mit dem chronyd-Daemon verwendet wird, der für die Synchronisation der Systemzeit mit Netzwerkzeitservern (NTP-Servern) verantwortlich ist. chronyc ermöglicht es dir, den Status von chronyd abzufragen, seine Konfiguration zu ändern, Statistiken zu überprüfen und andere administrative Aufgaben durchzuführen.

Linux-Befehl: chronyc

Anwendungsbeispiel:
Zeige den Status des chronyd-Daemons an mit chronyc tracking.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, bei dem genaue Zeitstempel entscheidend sind. Du verwendest chronyd, um sicherzustellen, dass die Systemzeit immer synchronisiert ist. Mit chronyc kannst du den Status der Zeitserververbindungen überprüfen und sicherstellen, dass die Zeit korrekt synchronisiert wird.

Beispiel: Überprüfen des Synchronisationsstatus mit dem Befehl tracking:

bash


sudo chronyc tracking


Dieser Befehl zeigt den aktuellen Status der Zeitsynchronisation an, einschließlich des verwendeten Zeitservers, der Zeitdifferenz und der Genauigkeit der Synchronisation. Dies hilft sicherzustellen, dass der IRC-Server irc.irc-mania.net stets die korrekte Zeit verwendet.

Ähnliche Linux-Befehle:

  • ntpd: Ein alternativer Daemon zur Zeitsynchronisation, der in vielen älteren Systemen verwendet wird.

  • timedatectl: Verwaltet Systemzeit, Datum und Zeitzone, einschließlich der NTP-Synchronisation.

  • hwclock: Verwendet zur Verwaltung der Hardware-Uhr, in Verbindung mit chronyc zur Überprüfung der Synchronisation.

  • ntpdate: Führt eine einmalige Zeitsynchronisation mit einem NTP-Server durch.


Schalteroptionen und wichtige Befehle innerhalb von chronyc:



  • chronyc tracking: Zeigt detaillierte Informationen zur aktuellen Zeitsynchronisation, einschließlich der Differenz zwischen Systemzeit und Referenzzeit.

  • chronyc sources: Listet die NTP-Server auf, die chronyd verwendet, und zeigt deren Status an.

  • chronyc sourcestats: Zeigt detaillierte Statistiken über die Leistung und Genauigkeit der verwendeten NTP-Quellen.

  • chronyc makestep: Erzwingt eine sofortige Anpassung der Systemzeit, wenn die Zeitdifferenz zu groß ist.

  • chronyc ntpdata: Zeigt detaillierte Informationen über die NTP-Pakete, die empfangen wurden.

  • chronyc settime: Setzt die Zeit manuell auf einen bestimmten Wert (normalerweise nicht empfohlen, da chronyd die Zeit automatisch synchronisieren sollte).

  • chronyc reload sources: Lädt die Liste der Zeitquellen neu, wenn die Konfiguration geändert wurde.

  • chronyc quit: Beendet die chronyc-Sitzung.


Wichtige Hinweise:



  • Echtzeitinteraktion: chronyc ist besonders nützlich für die Echtzeitüberwachung und -steuerung von chronyd, was es zu einem wertvollen Werkzeug in der Systemadministration macht.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von chronyc.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut und wie er mit chronyd interagiert.

  4. COMMANDS
    Beschreibung der wichtigsten Befehle, die innerhalb von chronyc verwendet werden können.

  5. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. chronyd, timedatectl, ntpd.

  6. AUTHOR
    Informationen über den Autor des Befehls.

  7. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man chronyc
Eingereicht durch: Schutzgeist

chroot

chsh -s:

chsh -s /bin/false


Ein Befehl, der verwendet wird, um die Standard-Shell für den aktuellen Benutzer oder einen anderen Benutzer zu ändern. Die Option -s ermöglicht es, eine spezifische Shell als neue Anmelde-Shell festzulegen.

Linux-Befehl: chsh -s

Anwendungsbeispiel:
Ändere die Standard-Shell des aktuellen Benutzers auf /bin/zsh mit chsh -s /bin/zsh.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest die Standard-Shell des Kontos, das für die Verwaltung des IRC-Servers verwendet wird, ändern. Wenn du beispielsweise von der Bash-Shell zur Zsh-Shell wechseln möchtest, um von den erweiterten Funktionen der Zsh zu profitieren, kannst du dies mit chsh -s tun.

Beispiel: Ändere die Standard-Shell für den Benutzer ircadmin auf /bin/zsh:


sudo chsh -s /bin/zsh ircadmin



Mit diesem Befehl wird die Standard-Shell für ircadmin, der möglicherweise für die Verwaltung des IRC-Servers irc.irc-mania.net zuständig ist, auf Zsh geändert. Dies kann nützlich sein, wenn du Zsh bevorzugst, weil sie erweiterte Funktionen wie bessere Autovervollständigung und Themen bietet.

Ähnliche Linux-Befehle:


 

  • echo $SHELL: Zeigt die aktuell verwendete Shell des Benutzers an.

  • cat /etc/shells: Zeigt eine Liste aller verfügbaren Shells auf dem System an.

  • usermod -s /path/to/shell username: Ändert die Shell eines bestimmten Benutzers.

  • passwd: Wird zum Ändern des Benutzerpassworts verwendet; oft zusammen mit chsh verwendet, um Benutzeranmeldedaten zu verwalten.


Schalteroptionen und ihre Funktionen:



  • chsh -s /path/to/shell [username]: Ändert die Standard-Shell für den angegebenen Benutzer. Wenn kein Benutzername angegeben wird, wird die Shell für den aktuell angemeldeten Benutzer geändert.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von chsh.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf Dateien, die von chsh verwendet werden (z.B. /etc/passwd).

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man chsh
Eingereicht durch: schutzgeist

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
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

Crontab cron table Exkurs
Crontab ist ein wichtiges Tool in Unix- und Linux-Systemen, das zur automatischen Ausführung von wiederkehrenden Aufgaben (Jobs) verwendet wird. Diese Aufgaben können Skripte, Befehle oder Programme sein, die zu bestimmten Zeitpunkten oder in regelmäßigen Intervallen ausgeführt werden.

1. Was ist eine Crontab?



  • Eine Crontab (kurz für "cron table") ist eine Konfigurationsdatei, die Zeitpläne für cron-Jobs enthält. Jeder Benutzer auf einem System kann eine eigene Crontab-Datei haben, die angibt, welche Jobs zu welchen Zeiten ausgeführt werden sollen.

  • Der cron-Dienst (oder einfach cron) liest diese Crontab-Dateien und führt die darin definierten Aufgaben entsprechend aus.


2. Aufbau einer Crontab-Datei


Eine Crontab-Datei besteht aus einer Liste von Aufgaben, die jeweils in einer Zeile definiert sind. Jede Zeile hat ein bestimmtes Format:




Beispiele für Crontab-Einträge:



  • Täglich um Mitternacht:


    0 0 * * * /path/to/script.sh



    • Führt das Skript script.sh jeden Tag um 00:00 Uhr aus.



  • Jede Stunde:


    0 * * * * /path/to/command



    • Führt den Befehl jede Stunde zur vollen Stunde aus.



  • Jeden Montag um 03:30 Uhr:


    30 3 * * 1 /path/to/weekly-task.sh



    • Führt weekly-task.sh jeden Montag um 03:30 Uhr aus.



  • Am 1. eines jeden Monats um 06:00 Uhr:


    0 6 1 * * /path/to/monthly-task.sh



    • Führt monthly-task.sh am ersten Tag jedes Monats um 06:00 Uhr aus.



  • Alle 5 Minuten:


    */5 * * * * /path/to/frequent-task.sh



    • Führt frequent-task.sh alle 5 Minuten aus.




3. Verwaltung von Crontabs


Crontab bearbeiten:


Um die Crontab-Datei für den aktuellen Benutzer zu bearbeiten, verwendest Du den folgenden Befehl:


crontab -e


Dieser Befehl öffnet den Standard-Editor (z.B. nano, vim oder vi) und lädt die Crontab-Datei zur Bearbeitung.

Crontab anzeigen:


Um die aktuelle Crontab für den Benutzer anzuzeigen, ohne sie zu bearbeiten, verwendest Du:


crontab -l


Crontab löschen:


Um alle Crontab-Einträge des aktuellen Benutzers zu löschen, verwendest Du:


crontab -r


4. Systemweite Crontabs


Neben benutzerdefinierten Crontabs gibt es systemweite Crontab-Dateien, die global für alle Benutzer oder bestimmte Systemdienste gelten.

  • /etc/crontab: Diese Datei enthält systemweite cron-Jobs. Hier kannst Du auch einen Benutzer angeben, unter dem der Befehl ausgeführt werden soll.

    Beispiel:


    0 5 * * * root /path/to/system-script.sh



    • Führt system-script.sh jeden Tag um 05:00 Uhr als Benutzer root aus.



  • /etc/cron.d/: In diesem Verzeichnis kannst Du zusätzliche Dateien mit cron-Jobs ablegen, die ebenfalls systemweit gelten.


5. Spezielle Cron-Verzeichnisse


Diese speziellen Verzeichnisse in /etc/ ermöglichen das einfache Hinzufügen von Jobs, die in bestimmten Intervallen ausgeführt werden, ohne dass eine Crontab-Datei direkt bearbeitet werden muss:

  • /etc/cron.daily/: Skripte in diesem Verzeichnis werden einmal täglich ausgeführt.

  • /etc/cron.weekly/: Skripte in diesem Verzeichnis werden einmal wöchentlich ausgeführt.

  • /etc/cron.monthly/: Skripte in diesem Verzeichnis werden einmal monatlich ausgeführt.

  • /etc/cron.hourly/: Skripte in diesem Verzeichnis werden einmal stündlich ausgeführt.


6. Crontab-Syntax und Platzhalter



  • * (Sternchen): Steht für "jede" Einheit (z.B. jede Minute, jede Stunde).

  • / (Schrägstrich): Dient zum Festlegen von Intervallen. Zum Beispiel */5 bedeutet "alle 5 Minuten".

  • , (Komma): Listet verschiedene Zeitpunkte auf. Zum Beispiel 1,15 bedeutet "1. und 15. Minute".

  • - (Bindestrich): Gibt einen Bereich an. Zum Beispiel 1-5 bedeutet "von 1 bis 5".


7. Umgebungsvariablen in Crontabs


In einer Crontab-Datei kannst Du auch Umgebungsvariablen definieren, die vor den eigentlichen Jobs stehen. Einige gängige Umgebungsvariablen sind:

  • PATH: Gibt an, wo nach ausführbaren Dateien gesucht werden soll.


    PATH=/usr/local/bin:/usr/bin:/bin


  • SHELL: Gibt die zu verwendende Shell an (normalerweise /bin/sh oder /bin/bash).


    SHELL=/bin/bash


  • MAILTO: Gibt die E-Mail-Adresse an, an die die Ausgabe des Jobs gesendet werden soll.


    MAILTO=user@example.com



8. Fehlerbehebung und Logs



  • Cron-Logs: Die Ausgaben und Fehler von cron-Jobs werden normalerweise in /var/log/syslog (auf Debian-basierten Systemen) oder /var/log/cron (auf Red Hat-basierten Systemen) protokolliert.

  • Debugging: Um Probleme mit cron-Jobs zu debuggen, ist es oft hilfreich, die Ausgabe an eine Datei zu leiten oder die Jobausgabe per E-Mail an MAILTO zu senden.


9. Sicherheitsaspekte



  • Zugriff auf Crontabs einschränken:

    • /etc/cron.allow: Nur Benutzer in dieser Datei dürfen cron-Jobs erstellen.

    • /etc/cron.deny: Benutzer in dieser Datei dürfen keine cron-Jobs erstellen.



  • Richtige Dateiberechtigungen: Stelle sicher, dass die Skripte, die von cron ausgeführt werden, die richtigen Berechtigungen haben, damit sie nur von berechtigten Benutzern bearbeitet werden können.



Crontab ist ein mächtiges und flexibles Tool, um wiederkehrende Aufgaben auf einem Linux-System zu automatisieren. Mit der richtigen Syntax und Konfiguration kannst Du fast jede Aufgabe zu einem festgelegten Zeitpunkt oder Intervall ausführen lassen. Systemadministratoren verlassen sich stark auf crontabs, um tägliche Wartungsaufgaben, Backups, Systemupdates und vieles mehr zu automatisieren.
Eingereicht durch: Schutzgeist

CUPS (Common Unix Printing System)

Kleiner Exkurs: CUPS (Common Unix Printing System)


CUPS (Common Unix Printing System) ist das Standard-Drucksystem auf vielen Unix-ähnlichen Betriebssystemen, einschließlich Linux und macOS. Es ermöglicht die Verwaltung von Druckaufträgen, Druckern und Druckwarteschlangen und unterstützt eine Vielzahl von Druckern, von lokalen USB-Druckern bis hin zu netzwerkbasierten Druckern. CUPS verwendet das Internet Printing Protocol (IPP) zur Kommunikation zwischen Computern und Druckern.

Hauptfunktionen von CUPS



  1. Druckerverwaltung:

    • CUPS ermöglicht die Verwaltung von Druckern über eine webbasierte Benutzeroberfläche oder über Befehlszeilen-Tools. Du kannst Drucker hinzufügen, konfigurieren und entfernen, Druckaufträge verwalten und Warteschlangen überwachen.



  2. Unterstützung für verschiedene Druckprotokolle:

    • Neben IPP unterstützt CUPS auch andere Protokolle wie LPD/LPR, SMB (Samba), und mehr.



  3. Treiberunterstützung:

    • CUPS unterstützt eine Vielzahl von Druckertreibern, die von Druckerherstellern bereitgestellt werden. Es bietet auch eine Treiberunabhängige Möglichkeit für die Unterstützung von generischen Druckern.



  4. Webbasierte Konfiguration:

    • CUPS bietet eine webbasierte Schnittstelle für die Verwaltung und Konfiguration. Diese ist standardmäßig unter http://localhost:631 erreichbar.




Installation von CUPS auf Debian


Falls CUPS nicht bereits installiert ist, kannst Du es auf einem Debian-System einfach über die Paketverwaltung installieren:


sudo apt-get update
sudo apt-get install cups



Starten und Verwalten des CUPS-Dienstes


Nach der Installation kannst Du den CUPS-Dienst starten und überprüfen, ob er läuft:


sudo systemctl start cups
sudo systemctl enable cups
sudo systemctl status cups




  • start: Startet den CUPS-Dienst.

  • enable: Stellt sicher, dass CUPS beim Booten des Systems automatisch startet.

  • status: Zeigt den aktuellen Status des CUPS-Dienstes an.


 

Zugriff auf die CUPS-Weboberfläche


Die CUPS-Weboberfläche ist ein sehr nützliches Tool zur Verwaltung von Druckern und Druckaufträgen. Du kannst sie in einem Webbrowser öffnen:


http://localhost:631



Hier kannst Du:



  • Drucker hinzufügen und konfigurieren.



  • Druckaufträge verwalten (anhalten, fortsetzen, abbrechen).



  • Druckwarteschlangen überwachen.



  • Druckerfreigaben einrichten (damit andere Geräte im Netzwerk den Drucker nutzen können).




Befehlszeilen-Tools


CUPS bietet auch verschiedene Befehlszeilen-Tools, die nützlich sind, wenn Du die Druckerverwaltung über die Kommandozeile durchführen möchtest:

  • lpstat: Zeigt den Status von Druckern und Druckaufträgen an.


    lpstat -p


  • lpadmin: Fügt Drucker hinzu, entfernt sie oder ändert ihre Einstellungen.


    sudo lpadmin -p -E -v -m


  • cancel: Bricht Druckaufträge ab.


    cancel


  • lpoptions: Zeigt Druckeroptionen an oder setzt Standardoptionen.


    lpoptions -d



Drucker hinzufügen


Um einen Drucker über die CUPS-Weboberfläche oder über die Befehlszeile hinzuzufügen, brauchst Du die Druckeradresse (URL) und den entsprechenden Treiber. Ein typisches Beispiel für die Installation eines Druckers über die Befehlszeile könnte so aussehen:


sudo lpadmin -p MeinDrucker -E -v ipp://drucker_ip/printers/MeinDrucker -m everywhere


Hierbei:

  • -p MeinDrucker: Setzt den Namen des Druckers.

  • -E: Aktiviert den Drucker.

  • -v: Gibt die Adresse des Druckers an.

  • -m: Wählt den Druckertreiber aus. everywhere wird oft für moderne Drucker verwendet, die mit IPP Everywhere kompatibel sind.


Zugriffssteuerung und Freigaben


CUPS ermöglicht es, Drucker für andere Geräte im Netzwerk freizugeben. Dies kannst Du entweder über die Weboberfläche oder durch Bearbeiten der Konfigurationsdatei /etc/cups/cupsd.conf tun. In dieser Datei kannst Du auch Zugriffsrechte und Sicherheitsoptionen festlegen.


CUPS ist ein leistungsstarkes und flexibles Drucksystem, das auf vielen Unix-ähnlichen Systemen verwendet wird. Es ermöglicht die einfache Verwaltung von Druckern und Druckaufträgen, sowohl über eine benutzerfreundliche Weboberfläche als auch über leistungsstarke Befehlszeilen-Tools. Mit CUPS kannst Du eine breite Palette von Druckern verwalten und sowohl lokale als auch Netzwerkdrucker einrichten.
Eingereicht durch: schutzgeist

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.

D

date

date:


Ein Befehl, der verwendet wird, um das aktuelle Datum und die Uhrzeit auf einem Linux-System anzuzeigen oder zu setzen. Der date-Befehl kann auch verwendet werden, um das aktuelle Datum und die Uhrzeit in einem benutzerdefinierten Format auszugeben.

 

Linux-Befehl: date


 

Anwendungsbeispiel:
Zeige das aktuelle Datum und die Uhrzeit an mit date.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass die Systemzeit korrekt eingestellt ist, um präzise Zeitstempel in den Chat-Protokollen zu haben. Mit date kannst du schnell die aktuelle Systemzeit überprüfen und gegebenenfalls korrigieren.

Beispiel: Zeige das aktuelle Datum und die Uhrzeit im Format YYYY-MM-DD HH:MM:SS an:


date "+%Y-%m-%d %H:%M:%S"


Dieser Befehl gibt das aktuelle Datum und die Uhrzeit in einem benutzerdefinierten Format aus, das leicht zu lesen ist und für Zeitstempel in Protokollen verwendet werden kann.

Ähnliche Linux-Befehle:

  • timedatectl: Verwendet zur Verwaltung von Systemzeit, Datum und Zeitzone; bietet eine umfassendere Steuerung als date.

  • hwclock: Verwendet zur Verwaltung der Hardware-Uhr (RTC) des Systems.

  • ntpdate: Führt eine einmalige Synchronisation der Systemzeit mit einem NTP-Server durch.

  • chronyc: Ein Kommandozeilenwerkzeug zur Interaktion mit dem chronyd-Daemon, der die Systemzeit synchronisiert.


Schalteroptionen und ihre Funktionen:



  • date: Zeigt das aktuelle Datum und die Uhrzeit im Standardformat an.

  • date "+FORMAT": Gibt das Datum und die Uhrzeit in einem benutzerdefinierten Format aus. Zum Beispiel:

    • +%Y: Jahr (z.B. 2024)

    • +%m: Monat (z.B. 08)

    • +%d: Tag (z.B. 13)

    • +%H: Stunde (z.B. 14)

    • +%M: Minute (z.B. 30)

    • +%S: Sekunde (z.B. 59)



  • date -s "STRING": Setzt das Datum und die Uhrzeit manuell. Zum Beispiel:


    sudo date -s "2024-08-13 14:30:00"


    Setzt das Datum auf den 13. August 2024, 14:30 Uhr.

  • date -u: Zeigt die Zeit in UTC an (Universal Time Coordinated).

  • date --set="STRING": Eine alternative Möglichkeit, das Datum und die Uhrzeit zu setzen.

  • date -d "STRING": Gibt das Datum und die Uhrzeit für einen gegebenen Zeitpunkt in der Vergangenheit oder Zukunft aus, ohne die aktuelle Systemzeit zu ändern. Zum Beispiel:


    date -d "next Friday"


    Zeigt das Datum für den nächsten Freitag an.


Wichtige Hinweise:



  • Systemzeit setzen: Das manuelle Setzen der Systemzeit mit date kann die Zeit kurzfristig korrigieren, jedoch sollte die Synchronisation mit einem NTP-Server in Betracht gezogen werden, um die Zeit langfristig korrekt zu halten.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von date.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere das Anzeigen und Setzen der Systemzeit.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FORMAT
    Erklärung der Formatierungsoptionen für die Datums- und Zeitausgabe.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. timedatectl, hwclock.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man date
Eingereicht durch: Schutzgeist

declare
declare ist kein typischer Befehl und wir nutzen diesen häufiger in unserem Bash-Scripting - Workshop.

Ein gute Übersicht und Einführung findest Du auf https://linuxhint.com/bash_declare_command/

demsg
demsg ist die Abkürzung für display message und eines wichtigsten Befehle, mit denen jedoch die wenigsten Linuxnutzer arbeiten.

Aber wer zum Beispiel USB-Probleme analysiert, wird neben "lusb" auch an dmesg nicht vorbeikommen.

 

Der dmesg-Befehl ist ein wesentliches Werkzeug im Arsenal eines jeden Linux-Administrators oder -Benutzers. Er steht für "display message" und ist entscheidend für die Diagnose und das Verständnis von Vorgängen im Linux-Kernel. dmesg gibt den Inhalt des Ringpuffers des Kernels aus, der Informationen über Hardware-Geräte, Treiber, Systeminitialisierungen und andere Kernel-bezogene Nachrichten enthält.

Fokus von dmesg


Der Hauptfokus von dmesg liegt in der Fehlersuche und Systemüberwachung. Es hilft, Probleme mit der Hardware-Erkennung zu diagnostizieren, Systemstarts zu überprüfen und ungewöhnliche oder fehlerhafte Vorgänge im Zusammenhang mit dem Kernel aufzuspüren.

Alternativen zu dmesg


 

Beispiele der Nutzung von dmesg


 



    1. Hardware-Probleme identifizieren: Beim Anschließen eines neuen Geräts an den Computer kann dmesg verwendet werden, um zu überprüfen, ob der Kernel das Gerät erkennt und ob Treiber korrekt geladen werden. Beispielsweise zeigt dmesg | grep USB Informationen zu USB-Geräten an.




 



    1. Boot-Probleme analysieren: dmesg ist besonders nützlich, um Probleme beim Systemstart zu diagnostizieren. Wenn ein Computer unerwartet lange zum Booten benötigt, kann die Überprüfung der dmesg-Ausgabe Hinweise auf den Verzögerungsgrund liefern.




 



    1. Treiber-Fehlersuche: Entwickler und Systemadministratoren können dmesg nutzen, um Probleme mit Treibern zu diagnostizieren. Wenn ein Treiber abstürzt oder sich unerwartet verhält, liefert dmesg oft wertvolle Informationen zur Fehlerbehebung.




 

 

Obwohl dmesg für viele Zwecke geeignet ist, gibt es Situationen, in denen andere Werkzeuge besser geeignet sein können:



    1. journalctl: Ein Teil des systemd-Systems, bietet detaillierte Log-Informationen, einschließlich der vom Kernel generierten.




 



    1. syslog/rsyslog: Diese traditionellen Loggingsysteme bieten eine breitere Palette von Logging-Informationen, nicht nur vom Kernel, sondern auch von verschiedenen Systemdiensten.




 



    1. tail -f /var/log/kern.log: Für Systeme, die ihre Kernel-Logs in eine Datei schreiben, kann tail -f verwendet werden, um Live-Updates dieser Logs zu erhalten.




 

Wofür habe ich es zuletzt verwendet.
Ich habe versucht meinen Laser-Gravierer Atomstack A10 mittels Lightburn unter Fedora 39 zu installieren.
Lightburn hat den Gravierer nicht gefunden .
Mit lsub konnte ich feststellen, ob das System den Gravierer erkannt hat,
mit "demsg" die Treiberfehler " feststellen und beheben.

 


Desktopumgebungen Exkurs
Es gibt viele verschiedene Desktop-Umgebungen (Desktop Environments, DEs) für Linux, jede mit ihren eigenen Vor- und Nachteilen.

 

Meine Empfehlung:


Wenn Du eine Desktop-Umgebung suchst, die sowohl aktuell als auch zukunftssicher ist, würde ich GNOME oder KDE Plasma empfehlen:

  • GNOME:

    • Vorteile: GNOME ist modern, minimalistisch und wird von vielen großen Linux-Distributionen wie Fedora und Ubuntu als Standard verwendet. Es hat eine starke Unterstützung für Wayland, was in Zukunft wahrscheinlich noch wichtiger wird.

    • Zukunftssicherheit: Durch die enge Integration mit Wayland und die aktive Weiterentwicklung ist GNOME eine gute Wahl für die Zukunft.



  • KDE Plasma:

    • Vorteile: KDE Plasma ist extrem anpassbar und ressourcenschonend, während es gleichzeitig eine Vielzahl von Funktionen bietet. Es hat eine große und aktive Community, die kontinuierlich an Verbesserungen arbeitet.

    • Zukunftssicherheit: KDE Plasma bietet ebenfalls starke Unterstützung für Wayland und wird kontinuierlich modernisiert, um den aktuellen Anforderungen gerecht zu werden.




Beide Umgebungen sind stark entwickelt, haben eine große Benutzerbasis und werden voraussichtlich auch in den kommenden Jahren eine zentrale Rolle im Linux-Ökosystem spielen. Wenn Du also ein System für die Zukunft wappnen möchtest, sind GNOME und KDE Plasma sehr solide Optionen.

 

 

 

Hier ist eine Liste der bekanntesten Linux-Desktopumgebungen, zusammen mit einer kurzen Beschreibung ihrer Vorteile.


1. GNOME



  • Vorteile:

    • Modernes Design: GNOME bietet eine moderne und minimalistische Benutzeroberfläche, die sich gut in moderne Workflows integriert.

    • Zukunftssicher: GNOME ist die Standard-Desktopumgebung vieler großer Linux-Distributionen (wie Fedora und Ubuntu) und wird aktiv weiterentwickelt.

    • Gute Wayland-Unterstützung: GNOME ist stark auf Wayland ausgerichtet, was es zu einer zukunftssicheren Wahl macht.

    • Erweiterbarkeit: Durch GNOME-Erweiterungen lässt sich die Benutzeroberfläche leicht anpassen.




2. KDE Plasma



  • Vorteile:

    • Anpassbarkeit: KDE Plasma ist hochgradig anpassbar und bietet viele Optionen zur Anpassung der Benutzeroberfläche an individuelle Bedürfnisse.

    • Leistungsstark und leichtgewichtig: Trotz seines Funktionsumfangs ist KDE Plasma relativ ressourcenschonend.

    • Starke Community-Unterstützung: KDE Plasma hat eine aktive Community und eine Vielzahl von Anwendungen, die eng in die Desktopumgebung integriert sind.

    • Gute Integration von Wayland: KDE Plasma hat sich stark auf die Unterstützung von Wayland konzentriert.




3. XFCE



  • Vorteile:

    • Leichtgewichtig: XFCE ist für seine geringe Systembelastung bekannt, was es ideal für ältere Hardware oder Systeme mit begrenzten Ressourcen macht.

    • Stabilität: XFCE legt großen Wert auf Stabilität und Verlässlichkeit, was es für langfristige Setups attraktiv macht.

    • Einfach zu bedienen: Die Benutzeroberfläche ist traditionell und leicht verständlich, was es für Benutzer, die eine einfache Bedienung bevorzugen, ideal macht.




4. LXQt



  • Vorteile:

    • Sehr leichtgewichtig: LXQt ist eine der leichtesten Desktopumgebungen und eignet sich hervorragend für Systeme mit sehr geringen Ressourcen.

    • Qt-basiert: LXQt verwendet die Qt-Bibliothek, was eine konsistente Benutzererfahrung mit Qt-Anwendungen ermöglicht.

    • Modularität: Die Desktopumgebung ist modular aufgebaut, was es einfach macht, nur die benötigten Komponenten zu installieren.




5. MATE



  • Vorteile:

    • Klassisches Desktop-Erlebnis: MATE basiert auf GNOME 2 und bietet ein traditionelles, einfaches und effizientes Desktop-Erlebnis.

    • Stabilität: Wie XFCE ist auch MATE auf Stabilität ausgelegt und hat sich über die Jahre als zuverlässige Wahl bewährt.

    • Ressourcenschonend: MATE ist weniger ressourcenintensiv als moderne Desktopumgebungen wie GNOME oder KDE Plasma, was es für ältere Hardware geeignet macht.




6. Cinnamon



  • Vorteile:

    • Modernes, traditionelles Desktop-Erlebnis: Cinnamon bietet eine moderne Benutzeroberfläche, die jedoch traditionelle Desktop-Paradigmen beibehält.

    • Gute Integration mit Linux Mint: Cinnamon ist die Standard-Desktopumgebung von Linux Mint und bietet eine nahtlose Benutzererfahrung.

    • Anpassbarkeit: Die Benutzeroberfläche ist gut anpassbar, aber weniger komplex als KDE Plasma.




7. Budgie



  • Vorteile:

    • Elegantes und modernes Design: Budgie bietet eine moderne und schlanke Benutzeroberfläche, die sich gut für neue Benutzer eignet.

    • Integration mit GNOME-Technologien: Budgie verwendet GNOME-Technologien, bietet aber eine andere Benutzeroberfläche, die einfacher und direkter ist.

    • Aktiv weiterentwickelt: Budgie hat eine aktive Entwickler-Community und wird ständig mit neuen Funktionen und Verbesserungen versehen.




8. LXDE



  • Vorteile:

    • Extrem ressourcenschonend: LXDE ist eine der leichtesten Desktopumgebungen, ideal für sehr alte oder leistungsschwache Hardware.

    • Einfachheit: LXDE bietet eine einfache, unkomplizierte Benutzeroberfläche, die sich auf die wesentlichen Funktionen konzentriert.




9. Deepin DE



  • Vorteile:

    • Ästhetisch ansprechend: Deepin DE ist bekannt für seine schöne und durchdachte Benutzeroberfläche mit vielen modernen Designelementen.

    • Einfach zu bedienen: Deepin DE bietet eine benutzerfreundliche und intuitive Benutzeroberfläche, die sich gut für neue Benutzer eignet.

    • Tiefgehende Anpassungsmöglichkeiten: Es bietet zahlreiche Anpassungsoptionen, die es Benutzern ermöglichen, das Desktop-Erlebnis zu personalisieren.




 
Eingereicht durch: Schutzgeist

df
Mit dem df Befehl zeigt Dir den verfügbaren Speicherplatz im Datei-System an.
Die schnellste Übersicht erhältst Du mit dem Befehl:
df -h 

eine Sortierung des gesamten Verbrauches kann man schnell über
du -h --max-depth 1 ./ | sort -h

dig (Domain Information Groper)

dig (Domain Information Groper):


Ein leistungsfähiges Kommandozeilenwerkzeug zum Abfragen von DNS-Servern. Es wird verwendet, um DNS-Informationen wie IP-Adressen, Mail-Server und andere DNS-Einträge für eine bestimmte Domain zu erhalten.

Linux-Befehl: dig

Anwendungsbeispiel:
Führe eine DNS-Abfrage für eine Domain durch, um die zugehörige IP-Adresse zu erhalten, mit dig example.com.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server und musst sicherstellen, dass deine Serverdomain korrekt auf die richtige IP-Adresse aufgelöst wird. Dies ist entscheidend, um sicherzustellen, dass Benutzer über den DNS-Namen auf deinen IRC-Server zugreifen können.

Beispiel: Überprüfen der DNS-Auflösung für den IRC-Server:

dig irc.IRC-Mania.de


Dieses Kommando liefert dir die IP-Adresse, die mit irc.irc-mania.net verknüpft ist, sowie zusätzliche Informationen wie den TTL (Time to Live) und den verwendeten DNS-Server. Dies hilft dir sicherzustellen, dass die DNS-Einträge korrekt konfiguriert sind und dass Benutzer sich erfolgreich mit deinem IRC-Server verbinden können.

Ähnliche Linux-Befehle:



  • nslookup: Ein weiteres Tool zur Abfrage von DNS-Informationen.

  • host: Ein einfacheres Tool zur Überprüfung von DNS-Einträgen.

  • ping: Verwendet, um die Erreichbarkeit einer IP-Adresse oder eines DNS-Namens zu testen.

  • traceroute: Verfolgt den Pfad, den Pakete zu einem Zielserver nehmen, um Netzwerkprobleme zu diagnostizieren.


Schalteroptionen und ihre Funktionen:



  • +short: Zeigt eine kurze, übersichtliche Ausgabe ohne zusätzliche Details.

  • +noall +answer: Zeigt nur die Antwortsektion der Abfrage an.

  • +trace: Verfolgt den gesamten DNS-Auflösungsweg von der Root-Zone bis zur endgültigen Antwort.

  • -x IP_address: Führt eine Reverse-DNS-Abfrage durch, um den Domainnamen einer IP-Adresse zu finden.

  • @DNS_server: Verwendet einen bestimmten DNS-Server zur Abfrage.

  • -t TYPE: Bestimmt den Typ des DNS-Eintrags, der abgefragt wird (z.B. A, MX, TXT).


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von dig.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. OUTPUT
    Erläuterungen zu den verschiedenen Teilen der dig-Ausgabe.

  6. EXAMPLES
    Beispiele für die Verwendung von dig.

  7. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  8. FILES
    Hinweise auf Dateien, die von dig verwendet werden.

  9. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.

  10. AUTHOR
    Informationen über den Autor des Befehls.


Handbuch für den Befehl: man dig
Eingereicht durch: schutzgeist

E

env
Linux Befehl env

siehe auch printenv, export

 



env:
Zeigt die aktuellen Umgebungsvariablen an oder führt ein Programm in einer modifizierten Umgebung aus. Es kann verwendet werden, um Umgebungsvariablen für ein bestimmtes Kommando zu setzen, ohne die aktuelle Shell zu beeinflussen.



Linux-Befehl: env



Anwendungsbeispiel:
Zeige alle aktuellen Umgebungsvariablen an mit env.



Weitere Befehle und Optionen:



env VAR=value command: Führt command mit der Umgebungsvariable VAR aus, die auf value gesetzt ist.
env -u VAR command: Führt command aus, während die Umgebungsvariable VAR entfernt wird.
env -i command: Führt command in einer vollständig leeren Umgebung aus, ohne jegliche Umgebungsvariablen.
Handbuch für den Befehl: man env

 

Zum Beispiel
env -i bash

Eingereicht durch: Schutzgeist

eval

exec

exit

export

export -n


 

Markiert eine Umgebungsvariable, damit sie in alle nachfolgenden Shell-Sitzungen oder von der aktuellen Shell gestarteten Prozesse exportiert wird. Dies ist wichtig, um Variablen über mehrere Shells hinweg verfügbar zu machen.

Linux-Befehl: export

Anwendungsbeispiel:
Setze eine neue Umgebungsvariable PATH und exportiere sie mit export PATH=$PATH:/new/directory.

Weitere Befehle und Optionen:

  • export VAR=value: Erstellt oder modifiziert eine Umgebungsvariable VAR mit dem angegebenen value.

  • export -p: Zeigt alle aktuell exportierten Umgebungsvariablen an.

  • export VAR: Exportiert eine bereits existierende Variable ohne ihren Wert zu ändern.


Handbuch für den Befehl: man bash (Abschnitt über Shell-Builtins)
Eingereicht durch: Schutzgeist

F

find

free

G

getent:





Ein Befehl, der Einträge aus den Datenbanken des Systemverzeichnisses abruft, wie z.B. passwd, group, hosts, services und andere. Mit getent kannst du Informationen über Benutzer, Gruppen, Hosts und mehr direkt aus den entsprechenden Datenbanken abrufen, die von nsswitch.conf verwaltet werden.

Linux-Befehl: getent

Anwendungsbeispiel:
Zeige Informationen über einen bestimmten Benutzer aus der /etc/passwd-Datenbank an mit getent passwd username.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass die Benutzerkonten auf dem Server korrekt konfiguriert sind. Du kannst getent verwenden, um Benutzerinformationen direkt aus der passwd-Datenbank abzurufen und zu überprüfen, ob bestimmte Benutzer existieren oder welche Gruppenmitgliedschaften sie haben.

Beispiel: Überprüfen, ob der Benutzer ircadmin, der für die Verwaltung des IRC-Servers verantwortlich ist, korrekt in der passwd-Datenbank vorhanden ist:


getent passwd ircadmin


Dieser Befehl gibt die Einträge für ircadmin aus der passwd-Datenbank zurück, einschließlich des Benutzernamens, der Benutzer-ID (UID), der Gruppen-ID (GID), des Home-Verzeichnisses und der Standard-Shell. Dies ist nützlich, um sicherzustellen, dass der Benutzer ircadmin korrekt konfiguriert ist und Zugriff auf die erforderlichen Ressourcen für den Betrieb des Servers irc.irc-mania.net hat.

Ähnliche Linux-Befehle:

  • grep username /etc/passwd: Sucht direkt in der passwd-Datei nach einem Benutzer.

  • id username: Zeigt die Benutzer-ID, Gruppen-ID und Gruppenmitgliedschaften des angegebenen Benutzers an.

  • getent group groupname: Zeigt die Informationen einer Gruppe aus der group-Datenbank an.

  • getent hosts hostname: Zeigt die Host-Informationen aus der hosts-Datenbank an.


Schalteroptionen und ihre Funktionen:



  • getent passwd [username]: Ruft Informationen über einen Benutzer aus der passwd-Datenbank ab.

  • getent group [groupname]: Ruft Informationen über eine Gruppe aus der group-Datenbank ab.

  • getent hosts [hostname]: Ruft Informationen über einen Host aus der hosts-Datenbank ab.

  • getent services [servicename]: Ruft Informationen über einen Dienst aus der services-Datenbank ab.

  • getent protocols [protocol]: Ruft Informationen über ein Netzwerkprotokoll aus der protocols-Datenbank ab.

  • getent networks [networkname]: Ruft Informationen über ein Netzwerk aus der networks-Datenbank ab.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von getent.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Konfigurationsdateien wie nsswitch.conf.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. passwd, group.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man getent




Eingereicht durch: Schutzgeist

grep

groupadd
groupadd:
Ein Befehl, der verwendet wird, um eine neue Benutzergruppe auf einem Linux-System zu erstellen. Gruppen werden verwendet, um Zugriffsrechte und -berechtigungen für Benutzer auf Dateisysteme und andere Ressourcen zu organisieren und zu verwalten.

Linux-Befehl: groupadd

Anwendungsbeispiel:
Erstelle eine neue Gruppe namens ircadmins mit groupadd ircadmins.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest eine Benutzergruppe für die Administratoren des Servers erstellen. Diese Gruppe könnte spezielle Zugriffsrechte auf bestimmte Konfigurationsdateien oder Verwaltungswerkzeuge des IRC-Servers haben. Mit groupadd kannst du eine Gruppe erstellen, die ausschließlich für Administratoren bestimmt ist.

Beispiel: Erstellen der Gruppe ircadmins für Benutzer, die administrative Aufgaben auf dem IRC-Server durchführen:


sudo groupadd ircadmins


Dieser Befehl erstellt eine neue Gruppe namens ircadmins, die du dann verschiedenen Benutzern zuweisen kannst. Auf diese Weise können nur Benutzer, die Mitglieder der ircadmins-Gruppe sind, bestimmte administrative Aufgaben oder Zugriffe auf spezifische Dateien auf irc.irc-mania.net haben.

Ähnliche Linux-Befehle:

  • usermod -aG groupname username: Fügt einen Benutzer einer bestehenden Gruppe hinzu.

  • groupdel: Löscht eine Gruppe vom System.

  • groups username: Zeigt die Gruppen an, denen ein bestimmter Benutzer angehört.

  • gpasswd: Verwaltet die /etc/group und /etc/gshadow-Dateien und kann verwendet werden, um das Gruppenpasswort zu setzen oder einen Benutzer zu einer Gruppe hinzuzufügen.


Schalteroptionen und ihre Funktionen:



  • groupadd groupname: Erstellt eine neue Gruppe mit dem angegebenen Namen.

  • groupadd -g GID groupname: Erstellt eine Gruppe mit einer spezifischen Gruppen-ID (GID).

  • groupadd -r groupname: Erstellt eine Systemgruppe (GID < 1000), die üblicherweise für Systemprozesse verwendet wird.

  • groupadd -f groupname: Wenn die Gruppe bereits existiert, wird der Befehl ohne Fehler beendet. Wird verwendet, um sicherzustellen, dass die Gruppe existiert, ohne dass eine Fehlermeldung ausgegeben wird.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von groupadd.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/group, die von groupadd verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. usermod, groupdel.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man groupadd
Eingereicht durch: Schutzgeist

groupdel









groupadd:


Ein Befehl, der verwendet wird, um eine neue Benutzergruppe auf einem Linux-System zu erstellen. Gruppen werden verwendet, um Zugriffsrechte und -berechtigungen für Benutzer auf Dateisysteme und andere Ressourcen zu organisieren und zu verwalten.

Linux-Befehl: groupadd

Anwendungsbeispiel:
Erstelle eine neue Gruppe namens ircadmins mit groupadd ircadmins.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest eine Benutzergruppe für die Administratoren des Servers erstellen. Diese Gruppe könnte spezielle Zugriffsrechte auf bestimmte Konfigurationsdateien oder Verwaltungswerkzeuge des IRC-Servers haben. Mit groupadd kannst du eine Gruppe erstellen, die ausschließlich für Administratoren bestimmt ist.

Beispiel: Erstellen der Gruppe ircadmins für Benutzer, die administrative Aufgaben auf dem IRC-Server durchführen:


sudo groupadd ircadmins


Dieser Befehl erstellt eine neue Gruppe namens ircadmins, die du dann verschiedenen Benutzern zuweisen kannst. Auf diese Weise können nur Benutzer, die Mitglieder der ircadmins-Gruppe sind, bestimmte administrative Aufgaben oder Zugriffe auf spezifische Dateien auf irc.irc-mania.net haben.

Ähnliche Linux-Befehle:

  • usermod -aG groupname username: Fügt einen Benutzer einer bestehenden Gruppe hinzu.

  • groupdel: Löscht eine Gruppe vom System.

  • groups username: Zeigt die Gruppen an, denen ein bestimmter Benutzer angehört.

  • gpasswd: Verwaltet die /etc/group und /etc/gshadow-Dateien und kann verwendet werden, um das Gruppenpasswort zu setzen oder einen Benutzer zu einer Gruppe hinzuzufügen.


Schalteroptionen und ihre Funktionen:



  • groupadd groupname: Erstellt eine neue Gruppe mit dem angegebenen Namen.

  • groupadd -g GID groupname: Erstellt eine Gruppe mit einer spezifischen Gruppen-ID (GID).

  • groupadd -r groupname: Erstellt eine Systemgruppe (GID < 1000), die üblicherweise für Systemprozesse verwendet wird.

  • groupadd -f groupname: Wenn die Gruppe bereits existiert, wird der Befehl ohne Fehler beendet. Wird verwendet, um sicherzustellen, dass die Gruppe existiert, ohne dass eine Fehlermeldung ausgegeben wird.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von groupadd.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/group, die von groupadd verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. usermod, groupdel.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man groupadd











4o













Du:









groupdel











ChatGPT:







ChatGPT












groupdel:
Ein Befehl, der verwendet wird, um eine bestehende Benutzergruppe von einem Linux-System zu löschen. Wenn eine Gruppe gelöscht wird, bleiben die Dateien, die der Gruppe gehören, erhalten, aber die Gruppenzugehörigkeit für diese Dateien wird entfernt.

Linux-Befehl: groupdel

Anwendungsbeispiel:
Lösche eine Gruppe namens ircadmins mit groupdel ircadmins.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und hast eine Gruppe namens ircadmins erstellt, die für die Verwaltung des Servers verwendet wurde. Wenn die Gruppe nicht mehr benötigt wird, weil du beispielsweise die Serveradministration umstrukturiert hast, kannst du die Gruppe ircadmins entfernen, um die Benutzerverwaltung zu vereinfachen.

Beispiel: Löschen der Gruppe ircadmins, nachdem die Administrationsaufgaben an eine andere Gruppe übergeben wurden:

bash


sudo groupdel ircadmins


Dieser Befehl entfernt die Gruppe ircadmins vom System. Benutzer, die ausschließlich dieser Gruppe angehörten, verlieren damit ihre Gruppenzugehörigkeit. Es ist wichtig zu beachten, dass Dateien, die der Gruppe gehörten, auf dem Dateisystem verbleiben, aber ihre Gruppenzugehörigkeit wird auf eine andere vorhandene Gruppe oder auf keine Gruppe gesetzt.

Ähnliche Linux-Befehle:

  • groupadd: Erstellt eine neue Gruppe auf dem System.

  • usermod -G groupname username: Ändert die Gruppenzugehörigkeit eines Benutzers.

  • gpasswd -d username groupname: Entfernt einen Benutzer aus einer bestimmten Gruppe.

  • deluser --remove-all-files username: Entfernt einen Benutzer und alle Dateien, die ihm gehören, sowie seine Gruppenzugehörigkeit.


Schalteroptionen und ihre Funktionen:



  • groupdel groupname: Löscht die angegebene Gruppe vom System.


Wichtige Hinweise:



  • Vorsicht: Der Befehl groupdel löscht die Gruppe, aber nicht die Benutzer oder Dateien, die der Gruppe zugewiesen waren. Es kann notwendig sein, Dateiberechtigungen und -zugehörigkeiten manuell zu prüfen und anzupassen.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von groupdel.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/group, die von groupdel verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. groupadd, usermod.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man groupdel











4o








Eingereicht durch: Schutzgeist

groupmod:

groupmod:


Ein Befehl, der verwendet wird, um die Eigenschaften einer bestehenden Benutzergruppe auf einem Linux-System zu ändern. Mit groupmod kannst du beispielsweise den Namen oder die Gruppen-ID (GID) einer Gruppe ändern.

Linux-Befehl: groupmod


Anwendungsbeispiel:
Ändere den Namen einer Gruppe von
ircadmins zu ircoperators mit groupmod -n ircoperators ircadmins.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und hast eine Gruppe namens ircadmins erstellt, die für die Verwaltung des Servers zuständig ist. Wenn sich die Verantwortlichkeiten ändern und du die Gruppe umbenennen möchtest, um diese neue Rolle widerzuspiegeln, kannst du groupmod verwenden, um den Gruppennamen entsprechend anzupassen.

Beispiel: Umbenennen der Gruppe ircadmins in ircoperators, um die Änderung der Verwaltungsstruktur widerzuspiegeln:


sudo groupmod -n ircoperators ircadmins


Dieser Befehl ändert den Namen der Gruppe von ircadmins zu ircoperators. Alle Benutzer, die zuvor Mitglied der ircadmins-Gruppe waren, werden nun Mitglieder der ircoperators-Gruppe. Diese Änderung wirkt sich sofort auf alle Zugriffsberechtigungen und Dateien aus, die der Gruppe zugewiesen sind.

Ähnliche Linux-Befehle:

  • groupadd: Erstellt eine neue Gruppe auf dem System.

  • groupdel: Löscht eine Gruppe vom System.

  • usermod -G groupname username: Ändert die Gruppenzugehörigkeit eines Benutzers.

  • gpasswd: Verwaltet die Mitgliedschaft und Passwörter von Gruppen.


Schalteroptionen und ihre Funktionen:



  • groupmod -n new_name old_name: Ändert den Namen einer bestehenden Gruppe von old_name zu new_name.

  • groupmod -g GID groupname: Ändert die Gruppen-ID (GID) einer Gruppe auf die angegebene GID. Wenn die neue GID bereits von einer anderen Gruppe verwendet wird, wird ein Fehler ausgegeben, es sei denn, die Option -o (non-unique GID) wird verwendet.

  • groupmod -o -g GID groupname: Setzt die Gruppen-ID (GID) der Gruppe auf eine nicht eindeutige GID, die bereits von einer anderen Gruppe verwendet wird.


Wichtige Hinweise:



  • Vorsicht: Beim Ändern der Gruppen-ID kann es erforderlich sein, Dateizugehörigkeiten auf dem Dateisystem manuell zu ändern, um sicherzustellen, dass Dateien weiterhin korrekt der Gruppe zugeordnet sind.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von groupmod.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/group, die von groupmod verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. groupadd, groupdel, usermod.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man groupmod
Eingereicht durch: Schutzgeist

gzip

H

help

HISTCONTROL

HISTCONTROL - Kein Befehl, aber eine Bash-Umgebungsvariable


 

Eine Bash-Umgebungsvariable, die das Verhalten der Speicherung von Befehlen in der Befehlsverlaufshistorie (history) steuert. Sie beeinflusst, welche Befehle in der Historie gespeichert oder ignoriert werden.

 

HISTCONTROL


Anwendungsbeispiel:
Setze HISTCONTROL so, dass doppelte Befehle und Befehle, die mit einem Leerzeichen beginnen, nicht in die Historie aufgenommen werden:
export HISTCONTROL=ignoreboth

Optionen für HISTCONTROL:


ignoredups: Ignoriert aufeinanderfolgende doppelte Befehle in der Historie.
ignorespace: Ignoriert Befehle, die mit einem Leerzeichen beginnen.
ignoreboth: Kombiniert ignoredups und ignorespace.
erasedups: Löscht ältere Einträge eines doppelten Befehls aus der Historie.
Handbuch für den Befehl: man bash (Abschnitt über Umgebungsvariablen und Historie)

 

Wichtige Dateien und Pfade f+r HISTCONTROL und HISTORY:
~/.bashrc, ~/.bash_profile, ~/.bash_login, ~/.profile:

Persönliche Konfigurationsdateien, in denen HISTCONTROL und andere Variablen gesetzt werden können.

~/.bash_history:

Die Datei, in der die Befehle gespeichert werden.
/etc/bash.bashrc, /etc/profile:

Systemweite Konfigurationsdateien.

/etc/skel/: Vorlagen für die Benutzerprofile.
Diese Dateien und Variablen sind entscheidend für die Konfiguration und Verwaltung der Shell-History in Bash..

 

Die Shell-History und deren Verhalten, einschließlich der Kontrolle durch HISTCONTROL, wird durch mehrere Dateien und Pfade auf einem Linux-System beeinflusst. Hier sind die wichtigsten:

1. Bash-Konfigurationsdateien


~/.bashrc
Diese Datei wird bei jedem Start einer interaktiven, nicht-login Shell gelesen. Es ist üblich, dass hier Umgebungsvariablen wie HISTCONTROL, HISTSIZE, HISTFILESIZE, und andere Einstellungen, die das Verhalten der Bash-History beeinflussen, gesetzt werden.

Beispiel:

export HISTCONTROL=ignoreboth
export HISTSIZE=1000
export HISTFILESIZE=2000

~/.bash_profile oder ~/.bash_login oder ~/.profile
Diese Dateien werden bei einer Login-Shell gelesen. In vielen Fällen wird

~/.bash_profile verwendet, um ~/.bashrc zu "sourcen", sodass auch in Login-Shells die Einstellungen aus ~/.bashrc übernommen werden.

Beispiel:

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

 

2. History-Datei


~/.bash_history
Dies ist die Standarddatei, in der die Bash-History gespeichert wird. Jeder ausgeführte Befehl wird in diese Datei geschrieben, wenn die Shell beendet wird.

Pfad: ~/.bash_history
Umgebungsvariable: HISTFILE bestimmt, in welche Datei die Befehls-History geschrieben wird. Standard ist ~/.bash_history.

Beispiel:

export HISTFILE=~/.bash_history


3. Wichtige Umgebungsvariablen


HISTCONTROL
Diese Variable steuert, welche Befehle in die History aufgenommen werden. Typische Werte sind:

ignoredups: Ignoriert aufeinanderfolgende doppelte Einträge.
ignorespace: Ignoriert Befehle, die mit einem Leerzeichen beginnen.
ignoreboth: Kombination aus ignoredups und ignorespace.
erasedups: Entfernt alle früheren Einträge, die einem neuen Befehl entsprechen.
HISTSIZE
Bestimmt, wie viele Befehle in der History für die aktuelle Shell-Session gespeichert werden.
HISTFILESIZE
Legt fest, wie viele Befehle in der Datei ~/.bash_history gespeichert werden können.
HISTIGNORE
Eine durch Leerzeichen getrennte Liste von Mustern, die angeben, welche Befehle in der History ignoriert werden sollen. Zum Beispiel:

export HISTIGNORE="ls:cd:exit"
Dies ignoriert alle ls, cd, und exit Befehle.

4. Weitere relevante Dateien

/etc/bash.bashrc

Systemweite Bash-Konfigurationsdatei, die für alle Benutzer gilt. Einstellungen hier werden oft durch Benutzerspezifische Einstellungen in ~/.bashrc überschrieben.
/etc/profile
Systemweite Konfigurationsdatei, die von allen Benutzern geladen wird, wenn sie sich anmelden. Hier können auch globale Einstellungen für HISTCONTROL und andere Umgebungsvariablen gesetzt werden.
/etc/skel/
Vorlagenverzeichnis, das verwendet wird, um Standarddateien wie .bashrc, .bash_profile usw. in das Home-Verzeichnis neuer Benutzer zu kopieren.
Eingereicht durch: Schutzgeist

history

hwclock
Ein Befehl, der verwendet wird, um die Hardware-Uhr (RTC, Real-Time Clock) eines Computers zu verwalten. Die Hardware-Uhr läuft unabhängig vom Betriebssystem und bleibt auch nach dem Ausschalten des Computers aktiv. Mit hwclock kannst du die Zeit der Hardware-Uhr anzeigen, setzen und synchronisieren, entweder mit der Systemzeit oder in umgekehrter Richtung.

Linux-Befehl: hwclock

Anwendungsbeispiel:
Zeige die aktuelle Zeit der Hardware-Uhr an mit hwclock --show.

 

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und stellst fest, dass die Systemzeit nach jedem Neustart des Servers ungenau ist. Mit hwclock kannst du sicherstellen, dass die Hardware-Uhr korrekt eingestellt ist und dass die Systemzeit beim Booten automatisch richtig eingestellt wird.

Beispiel: Synchronisieren der Systemzeit mit der Hardware-Uhr:


sudo hwclock --hctosys


Dieser Befehl setzt die Systemzeit auf die aktuelle Zeit der Hardware-Uhr. Dies ist nützlich, wenn du sicherstellen möchtest, dass der IRC-Server irc.irc-mania.net die korrekte Zeit verwendet, insbesondere wenn keine Netzwerkzeitserver zur Verfügung stehen.

Ähnliche Linux-Befehle:

  • timedatectl: Verwendet zur Verwaltung von Systemzeit, Datum und Zeitzone in systemd-Systemen; kann auch die Hardware-Uhr beeinflussen.

  • date: Setzt oder zeigt die Systemzeit an, jedoch ohne direkte Manipulation der Hardware-Uhr.

  • ntpd: Synchronisiert die Systemzeit mit Netzwerkzeitservern, was indirekt auch die Hardware-Uhr beeinflussen kann.


Schalteroptionen und ihre Funktionen:



  • hwclock --show: Zeigt die aktuelle Zeit der Hardware-Uhr an.

  • hwclock --hctosys: Setzt die Systemzeit auf die Zeit der Hardware-Uhr (Hardware Clock To System).

  • hwclock --systohc: Setzt die Hardware-Uhr auf die aktuelle Systemzeit (System To Hardware Clock).

  • hwclock --set --date "date_string": Setzt die Hardware-Uhr auf ein spezifisches Datum und eine spezifische Uhrzeit.

  • hwclock --adjust: Korrigiert die Hardware-Uhr basierend auf gespeicherten Driftwerten.

  • hwclock --utc: Gibt an, dass die Hardware-Uhr in UTC (Koordinierte Weltzeit) geführt wird.

  • hwclock --localtime: Gibt an, dass die Hardware-Uhr in lokaler Zeit geführt wird.

  • hwclock --version: Zeigt die Version von hwclock an.


Wichtige Hinweise:



  • UTC vs. Lokalzeit: Es ist gängig, die Hardware-Uhr in UTC zu führen und die Systemzeit entsprechend der Zeitzone anzupassen. Dies verhindert Probleme beim Wechsel zwischen Sommer- und Winterzeit.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von hwclock.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere im Umgang mit der Hardware-Uhr.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. timedatectl, date, ntpd.

  6. AUTHOR
    Informationen über den Autor des Befehls.

  7. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man hwclock
Eingereicht durch: Schutzgeist

I

iburst
iburst:
Ein Parameter, der in der Konfigurationsdatei von NTP-Diensten wie ntpd verwendet wird, um die Synchronisation mit NTP-Servern zu beschleunigen. Wenn iburst für einen NTP-Server aktiviert ist, sendet der NTP-Client beim ersten Kontakt mit dem Server schnell mehrere Anfragen (normalerweise 8 in kurzer Folge), um die Zeit so schnell wie möglich zu synchronisieren.

Anwendungsbeispiel:
Verwende iburst, um bei der ersten Verbindung zu pool.ntp.org eine schnelle Zeitsynchronisation durchzuführen.

Beispielkonfiguration:


In der NTP-Konfigurationsdatei (/etc/ntp.conf) könntest du iburst wie folgt verwenden:


server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst


Mit dieser Konfiguration versucht ntpd beim Start oder beim ersten Kontakt mit diesen Servern, die Zeit so schnell wie möglich zu synchronisieren, indem es mehrere Anfragen in sehr kurzen Abständen sendet. Wenn der Server antwortet, wird die Systemzeit sofort aktualisiert, anstatt auf den nächsten normalen Synchronisationszyklus zu warten.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, und die genaue Zeit ist entscheidend, insbesondere nach einem Neustart des Servers. Mit dem iburst-Parameter stellst du sicher, dass der Server die korrekte Zeit so schnell wie möglich nach dem Hochfahren erhält, was wichtig ist, um sofort mit genauen Zeitstempeln in Protokollen und Nachrichten zu arbeiten.

Beispiel: Konfiguration zur schnellen Zeitkorrektur beim Start des IRC-Servers:


server 0.pool.ntp.org iburst


Durch die Verwendung von iburst wird der IRC-Server irc.irc-mania.net beim Start die aktuelle Zeit von pool.ntp.org so schnell wie möglich abrufen und synchronisieren, was sicherstellt, dass die Zeitstempel von Anfang an korrekt sind.

Ähnliche Konzepte:

  • burst: Ein ähnlicher Parameter, der jedoch bei jedem Synchronisationszyklus verwendet wird, nicht nur beim ersten Kontakt. Dies führt zu einer erhöhten Netzwerklast und wird normalerweise nicht empfohlen, außer in speziellen Anwendungsfällen.

  • minpoll/maxpoll: Parameter, die steuern, wie oft der NTP-Client den Server abfragt. iburst beschleunigt den ersten Synchronisationsversuch, während diese Parameter das allgemeine Abfrageintervall steuern.


Wichtige Hinweise:



  • Verwendung mit Bedacht: iburst ist nützlich, um sicherzustellen, dass die Systemzeit nach dem Start schnell korrigiert wird, insbesondere in Systemen, die genaue Zeit benötigen. Es sollte jedoch nur bei den ersten Kontakten verwendet werden, um unnötige Netzwerklast zu vermeiden.


Weitere Informationen findest du in der man-Seite für ntpd: man ntpd
Eingereicht durch: Schutzgeist

iconv:
Ein Befehl, der zur Konvertierung von Textdateien zwischen verschiedenen Zeichenkodierungen verwendet wird. Mit iconv kannst du Textdateien von einer Kodierung (z.B. ISO-8859-1) in eine andere (z.B. UTF-8) konvertieren, was besonders nützlich ist, wenn du mit internationalen Zeichensätzen oder alten Systemen arbeitest.

Linux-Befehl: iconv

Anwendungsbeispiel:
Konvertiere eine Textdatei von ISO-8859-1 nach UTF-8 mit iconv -f ISO-8859-1 -t UTF-8 input.txt -o output.txt.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, und du musst Protokolldateien, die in einer älteren Zeichenkodierung wie ISO-8859-1 gespeichert wurden, in UTF-8 konvertieren, um sie korrekt darzustellen oder weiterzuverarbeiten. Mit iconv kannst du diese Konvertierung effizient durchführen.

Beispiel: Konvertieren einer Protokolldatei chat.log von ISO-8859-1 nach UTF-8:


iconv -f ISO-8859-1 -t UTF-8 chat.log -o chat_utf8.log


Dieser Befehl liest die Datei chat.log, die in ISO-8859-1 kodiert ist, und speichert sie als chat_utf8.log im UTF-8-Format. Dies ist besonders nützlich, wenn du sicherstellen möchtest, dass alle Zeichen korrekt dargestellt werden, insbesondere wenn Benutzer mit verschiedenen Sprach- und Zeichensätzen den IRC-Server irc.irc-mania.net nutzen.

Ähnliche Linux-Befehle:

  • recode: Ein weiteres Werkzeug zur Konvertierung von Zeichenkodierungen.

  • enca: Erkennt und konvertiert die Kodierung von Textdateien automatisch.

  • file: Kann verwendet werden, um die aktuelle Kodierung einer Datei zu identifizieren.


Schalteroptionen und ihre Funktionen:



  • iconv -f from_encoding: Gibt die Eingabekodierung an, z.B. -f ISO-8859-1.

  • iconv -t to_encoding: Gibt die Ausgabekodierung an, z.B. -t UTF-8.

  • iconv -o outputfile: Speichert die konvertierte Datei unter einem neuen Namen, z.B. -o output.txt.

  • iconv -l: Listet alle verfügbaren Zeichensätze auf, die iconv unterstützt.

  • iconv --verbose: Gibt zusätzliche Informationen über den Konvertierungsprozess aus, wie z.B. die Anzahl der konvertierten Zeichen.


Wichtige Hinweise:



  • Kompatibilität: Bei der Konvertierung von Zeichenkodierungen kann es zu Problemen kommen, wenn Zeichen in der Eingabekodierung vorhanden sind, die in der Ausgabekodierung nicht darstellbar sind. In solchen Fällen kann iconv versuchen, die Zeichen zu ersetzen oder eine Fehlermeldung ausgeben.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von iconv.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere in Bezug auf die Konvertierung von Zeichensätzen.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. recode, enca, file.

  6. AUTHOR
    Informationen über den Autor des Befehls.

  7. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man iconv
Eingereicht durch: Schutzgeist

id
Der id-Befehl ist ein nützliches Tool, um die Identität und die Gruppenzugehörigkeiten eines Benutzers auf einem Linux-System zu überprüfen. Es liefert wichtige Informationen wie die Benutzer-ID, die primäre Gruppen-ID und die Mitgliedschaft in weiteren Gruppen, was besonders hilfreich ist, wenn es um Berechtigungen und Zugriffsrechte geht.

Linux id Befehl


Der Befehl id in Linux wird verwendet, um Informationen über die Benutzer- und Gruppen-IDs eines Benutzers anzuzeigen. Hier ist eine Übersicht über die Funktionsweise und die häufigsten Optionen des id-Befehls:

Grundlegende Verwendung
Befehl:
id


Wenn Sie id ohne Argumente ausführen, zeigt der Befehl die Benutzer-ID (UID), die primäre Gruppen-ID (GID) sowie die IDs aller Gruppen an, denen der aktuelle Benutzer angehört.

Beispielausgabe

uid=1000(username) gid=1000(username) groups=1000(username),27(sudo),1001(developers)
UID: uid=1000(username) zeigt die Benutzer-ID und den Benutzernamen des aktuellen Benutzers an.
GID: gid=1000(username) zeigt die primäre Gruppen-ID und den Gruppennamen des aktuellen Benutzers an.
Groups: groups=1000(username),27(sudo),1001(developers) zeigt alle Gruppen an, denen der Benutzer angehört, zusammen mit ihren entsprechenden Gruppen-IDs.
Häufig verwendete Optionen
ID eines anderen Benutzers anzeigen:

Um die Benutzer- und Gruppeninformationen für einen anderen Benutzer anzuzeigen, geben Sie den Benutzernamen als Argument an:

id username
Beispiel:

id alice
Nur die Benutzer-ID anzeigen:

Verwenden Sie die Option -u, um nur die Benutzer-ID (UID) anzuzeigen:

id -u

Nur die Gruppen-ID anzeigen:

Verwenden Sie die Option -g, um nur die primäre Gruppen-ID (GID) anzuzeigen:

id -g

Alle Gruppen-IDs anzeigen:

Verwenden Sie die Option -G, um nur die Gruppen-IDs anzuzeigen:

id -G

Nur den Benutzernamen anzeigen:

Verwenden Sie die Option -un, um nur den Benutzernamen anzuzeigen:

id -un

Nur den Gruppennamen anzeigen:

Verwenden Sie die Option -gn, um nur den Gruppennamen der primären Gruppe anzuzeigen:

id -gn

Nur Gruppennamen anzeigen:

Verwenden Sie die Option -Gn, um die Namen aller Gruppen anzuzeigen, denen der Benutzer angehört:

id -Gn

 
Eingereicht durch: Schutzgeist

ifdown , ifup

ifdown und ifup:


Befehle, die verwendet werden, um Netzwerkinterfaces auf Unix-ähnlichen Systemen zu deaktivieren (ifdown) oder zu aktivieren (ifup). Diese Befehle ändern den Status einer Netzwerkschnittstelle, indem sie sie aktivieren oder deaktivieren, basierend auf den Konfigurationen in /etc/network/interfaces oder einer ähnlichen Konfigurationsdatei.

 

Linux-Befehle: ifdown, ifup


 

Anwendungsbeispiel:

Deaktiviere ein Netzwerkinterface mit ifdown eth0

und aktiviere es wieder mit

ifup eth0
.

 

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, Du betreibst einen IRC-Server unter irc.irc-mania.net und musst Wartungsarbeiten an einer Netzwerkschnittstelle durchführen, die mit deinem IRC-Server verbunden ist. Mit den Befehlen ifdown und ifup kannst du die Netzwerkschnittstelle gezielt deaktivieren und nach Abschluss der Wartungsarbeiten wieder aktivieren, ohne das gesamte System neu zu starten.

Beispiel: Temporäres Deaktivieren der Netzwerkschnittstelle eth0, die mit deinem IRC-Server verbunden ist:


sudo ifdown eth0

# Führe die notwendigen Wartungsarbeiten durch

sudo ifup eth0


Mit diesen Befehlen kannst du sicherstellen, dass die Netzwerkschnittstelle nur für die Dauer der Wartungsarbeiten offline ist und der IRC-Server irc.irc-mania.net schnell wieder online geht.

Ähnliche Linux-Befehle:


 

  • ip link set eth0 down: Deaktiviert die Schnittstelle eth0.

  • ip link set eth0 up: Aktiviert die Schnittstelle eth0.

  • nmcli device disconnect eth0: Trennt das Netzwerkgerät eth0 (ähnlich wie ifdown).

  • nmcli device connect eth0: Verbindet das Netzwerkgerät eth0 (ähnlich wie ifup).


Schalteroptionen und ihre Funktionen:



  • ifdown [options] interface: Deaktiviert die angegebene Netzwerkschnittstelle.

    • --force: Erzwingt das Deaktivieren der Schnittstelle, auch wenn sie bereits deaktiviert ist.

    • -v, --verbose: Gibt detailliertere Informationen während der Ausführung aus.



  • ifup [options] interface: Aktiviert die angegebene Netzwerkschnittstelle.

    • --force: Erzwingt das Aktivieren der Schnittstelle, auch wenn sie bereits aktiviert ist.

    • -v, --verbose: Gibt detailliertere Informationen während der Ausführung aus.




MAN-Überschriften:



  1. NAME
    Beschreibung der Befehle ifup und ifdown.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von ifup und ifdown.

  3. DESCRIPTION
    Detaillierte Beschreibung, was die Befehle tun.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf Dateien, die von ifup und ifdown verwendet werden (z.B. /etc/network/interfaces).

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für die Befehle: man ifup, man ifdown
Eingereicht durch: schutzgeist

ifup

info

L

less
Ein Pager-Programm, das es ermöglicht, lange Textdateien oder Ausgaben von Befehlen seitenweise anzusehen. Es ist besonders nützlich für das Durchsuchen großer Dateien.

Linux-Befehl: less

Anwendungsbeispiel:
Zeige den Inhalt einer Datei seitenweise an mit less filename.

Weitere Befehle und Optionen:

less +F filename: Öffnet die Datei und folgt neuen Zeilen, ähnlich wie tail -f.
less -N filename: Zeigt Zeilennummern an, während die Datei angezeigt wird.
less +/search_term filename: Öffnet die Datei und springt direkt zu einem Suchbegriff.
q: Beendet less.
MAN-Befehl: man less

let

let - Linux Bash-Builtin-Befehl


Ein Bash-Builtin-Befehl, der arithmetische Operationen auf Shell-Variablen durchführt. Er wird verwendet, um numerische Berechnungen in Bash-Skripten auszuführen.

Linux-Befehl: let


Anwendungsbeispiel:
Inkrementiere eine Variable count um 1 mit let count=count+1.

Weitere let-Befehle und Optionen:


let "a = 5 + 3": Führt eine Addition durch und weist das Ergebnis a zu.
let "a += 1": Erhöht den Wert von a um 1.
let "a *= 2": Multipliziert den Wert von a mit 2.
let "a--": Verringert den Wert von a um 1.
Handbuch für den Befehl: man bash (Abschnitt über Shell-Builtins)
Eingereicht durch: Schutzgeist

Linux- Datum und Zeit-Befehle : Zusammenfassung

Hier ist eine Zusammenfassung der wichtigsten Linux-Befehle für Datum und Zeit:


 

Diese Befehle decken die wichtigsten Aufgaben rund um Datum und Zeit auf einem Linux-System ab, einschließlich der Anzeige und Anpassung von Systemzeit und -datum, der Planung von Aufgaben und der Synchronisation mit Zeitservern.

Sie sind wild gemischt, jeder Befehl wird bei uns auch gesondert erklärt.

 

1. date


Verwendung: Zeigt das aktuelle Datum und die Uhrzeit an oder setzt sie.
Beispiele:
Aktuelles Datum und Uhrzeit anzeigen: date
Datum und Uhrzeit in einem spezifischen Format anzeigen: date +"%Y-%m-%d %H:%M:%S"
Systemdatum und Uhrzeit setzen: sudo date MMDDhhmm[[CC]YY][.ss]


2. hwclock


Verwendung: Interagiert mit der Hardware-Uhr (RTC - Real Time Clock).
Beispiele:
Aktuelle Hardware-Uhrzeit anzeigen: hwclock
Hardware-Uhrzeit mit Systemuhr synchronisieren: sudo hwclock --systohc
Systemuhr mit Hardware-Uhrzeit synchronisieren: sudo hwclock --hctosys


3. timedatectl


Verwendung: Zeigt aktuelle Zeiteinstellungen an und verwaltet sie unter systemd-Systemen.

Beispiele:
Aktuelle Zeitinformationen anzeigen: timedatectl
Zeitzone ändern: sudo timedatectl set-timezone Europe/Berlin
Systemzeit manuell setzen: sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
NTP (Network Time Protocol) aktivieren/deaktivieren: sudo timedatectl set-ntp true oder false


4. ntpq und ntpdate


Verwendung: NTP-Client-Tools zur Synchronisation der Systemzeit mit NTP-Servern.
Beispiele:
NTP-Serverstatus prüfen: ntpq -p
Zeit sofort von einem NTP-Server synchronisieren: sudo ntpdate pool.ntp.org


5. cron


Verwendung: Planen von wiederkehrenden Aufgaben basierend auf Datum und Zeit.
Beispiele:
Crontab-Datei bearbeiten: crontab -e
Liste aller Cron-Jobs anzeigen: crontab -l
Cron-Job zum täglichen Ausführen eines Skripts um 2:30 Uhr hinzufügen:

30 2 * * * /pfad/zu/skript.sh


6. at


Verwendung: Plant einmalige Aufgaben für eine zukünftige Zeit.
Beispiele:
Aufgabe um 14:00 Uhr ausführen: echo "/pfad/zu/skript.sh" | at 14:00
Geplante at-Jobs anzeigen: atq
Geplanten at-Job löschen: atrm job_id


7. uptime


Verwendung: Zeigt die aktuelle Systemzeit, Betriebsdauer und Last an.
Beispiel:
Systembetriebsdauer anzeigen: uptime


8. cal


Verwendung: Zeigt einen Kalender für einen bestimmten Monat oder ein Jahr an.
Beispiele:
Aktuellen Monat anzeigen: cal
Kalender für ein spezifisches Jahr anzeigen: cal 2024

 

tzselect ist ein nützlicher Befehl zur Auswahl der Zeitzone auf einem Linux-System, und es war eine Überwachung, ihn nicht zu erwähnen. Hier ist eine kurze Erklärung:

tzselect


tzselect sollte definitiv in einer umfassenden Übersicht der Befehle für Datum und Zeit in Linux enthalten sein, da es eine einfache Möglichkeit bietet, die richtige Zeitzone zu identifizieren, was für die genaue Zeitdarstellung auf dem System entscheidend ist.

Verwendung:

Ermöglicht es Benutzern, interaktiv ihre Zeitzone auszuwählen. Es hilft dabei, die korrekte Zeitzone zu bestimmen und kann die Auswahl anzeigen, aber es ändert die Systemzeitzone nicht direkt.

Beispiele:

Zeitzone auswählen: Führen Sie tzselect aus, um durch eine Reihe von Menüs zu navigieren, in denen Sie Ihr geografisches Gebiet und Ihre spezifische Zeitzone auswählen können.

tzselect

Nach Abschluss zeigt der Befehl den richtigen Zeitzonenbezeichner an, den Sie verwenden sollten, um Ihre Zeitzone zu setzen, z.B. in /etc/timezone oder mit dem Befehl timedatectl.


Warum tzselect nützlich ist:



Benutzerfreundlichkeit:


tzselect ist besonders nützlich für Benutzer, die sich nicht sicher sind, wie ihre Zeitzone exakt benannt wird. Es führt den Benutzer durch eine einfache, interaktive Auswahl und bietet die korrekten Einstellungen an.


Hilfreich in Skripten:


Es kann in Skripten verwendet werden, um Benutzer interaktiv nach der Zeitzone zu fragen, insbesondere in Situationen, in denen keine grafische Benutzeroberfläche verfügbar ist.

 

 
Eingereicht durch: Schutzgeist

Linux-Befehl Test

Linux-Befehl "test":


Ein Befehl, der zum Überprüfen von Bedingungen in Shell-Skripten verwendet wird. test führt verschiedene Tests durch, wie das Überprüfen, ob Dateien existieren, ob eine Variable gesetzt ist oder ob eine mathematische Bedingung wahr ist.

Linux-Befehl: test


Anwendungsbeispiel:

Überprüfe, ob eine Datei existiert, mit test -f /path/to/file.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Stell dir vor, du betreibst ein IRC-Bot-Skript, das regelmäßig auf das Vorhandensein bestimmter Konfigurationsdateien prüft, bevor es Aktionen im Chat ausführt. Bevor der Bot eine Aktion ausführt, kannst du den test-Befehl verwenden, um sicherzustellen, dass die notwendige Konfigurationsdatei vorhanden ist.

Beispiel:

Überprüfen, ob die Datei bot_config.cfg existiert, bevor der Bot startet:

if test -f "/path/to/bot_config.cfg"; then
echo "Konfigurationsdatei gefunden, starte den IRC-Bot."
else
echo "Konfigurationsdatei fehlt, der IRC-Bot wird nicht gestartet."
fi

Mit diesem Test vermeidest du, dass der IRC-Bot ohne die notwendige Konfiguration ausgeführt wird, was zu Fehlern führen könnte.

Ähnliche Linux-Befehle:


Achtung es folgen teilweise keine "Befehle", sondern Bash-Scripting-Ergänzungen.

[ ] (Klammern): Eine alternative Syntax für test. Zum Beispiel: [ -f /path/to/file ].
[[ ]]: Eine erweiterte Syntax für Bedingungen in Bash, die zusätzlich zu den Funktionen von test mehr Möglichkeiten bietet.
expr: Wird verwendet, um Ausdrücke auszuwerten und Bedingungen in Skripten zu überprüfen.


Schalteroptionen und ihre Funktionen:


-e: Überprüft, ob eine Datei oder ein Verzeichnis existiert.
-f: Überprüft, ob eine reguläre Datei existiert.
-d: Überprüft, ob ein Verzeichnis existiert.
-s: Überprüft, ob eine Datei nicht leer ist (Dateigröße > 0).
-z: Überprüft, ob eine Zeichenkette leer ist.
-n: Überprüft, ob eine Zeichenkette nicht leer ist.
-r: Überprüft, ob eine Datei lesbar ist.
-w: Überprüft, ob eine Datei beschreibbar ist.
-x: Überprüft, ob eine Datei ausführbar ist.
-eq, -ne, -lt, -le, -gt, -ge: Vergleicht zwei Zahlenwerte.


MAN-Überschriften:


NAME
Beschreibung des Befehls.

SYNOPSIS
Die grundlegende Syntax für die Verwendung von test.

DESCRIPTION
Detaillierte Beschreibung, was der Befehl tut.

OPTIONS
Beschreibung der verfügbaren Schalteroptionen.

EXIT STATUS
Erklärungen zu den möglichen Rückgabewerten.

EXAMPLES
Beispiele für die Verwendung von test.

SEE ALSO
Verweise auf verwandte Befehle und Dokumentationen.

COMPATIBILITY
Hinweise zur Kompatibilität von test in verschiedenen Shells.

HISTORY
Historische Entwicklung des Befehls.

Handbuch für den Befehl: man test

local5
local5 ist eine Bezeichnung für eine benutzerdefinierte Log-Einrichtung (Facility) im Syslog-Protokoll. Das Syslog-Protokoll ist ein Standard für die Weiterleitung und Speicherung von Log-Nachrichten in Unix- und Linux-Systemen. Es ermöglicht Anwendungen, Betriebssysteme und Netzwerkgeräte, Log-Nachrichten an einen zentralen Log-Server oder in lokale Log-Dateien zu senden.

Verwendung von local5:



  • local5 ist eine von acht benutzerdefinierten Facility-Namen (local0 bis local7), die in Syslog definiert sind. Diese lokalen Facilities können von Anwendungen oder Skripten verwendet werden, um Log-Nachrichten an Syslog zu senden, die dann von einer Syslog-Daemon wie rsyslog, syslog-ng oder journalctl verarbeitet und in Log-Dateien gespeichert werden.

  • Entwickler oder Systemadministratoren verwenden häufig local5 (oder eine der anderen localX-Facilities), wenn sie ihre eigenen Log-Nachrichten von einer Anwendung oder einem Skript trennen möchten, um eine spezifische Handhabung oder Speicherung dieser Logs zu ermöglichen.


Beispiel:


Angenommen, Du möchtest, dass eine bestimmte Anwendung ihre Log-Nachrichten unter der Facility local5 an Syslog sendet, und diese Logs sollen in einer eigenen Datei gespeichert werden.

  1. Konfiguration einer Anwendung, um local5 zu verwenden:

    • In der Anwendung oder dem Skript wird local5 verwendet, um Logs zu erzeugen. Ein Beispiel könnte so aussehen:


      logger -p local5.info "Das ist eine Log-Nachricht für local5"


      Der Befehl logger sendet eine Log-Nachricht an Syslog mit der Facility local5 und dem Prioritätslevel info.



  2. Konfiguration von Syslog/rsyslog, um local5 in eine spezifische Datei zu schreiben:

    • Du kannst Deine Syslog-Konfiguration (z.B. /etc/rsyslog.conf oder eine Datei in /etc/rsyslog.d/) anpassen, um alle Logs von local5 in eine eigene Log-Datei zu schreiben.

      Beispiel-Eintrag in der rsyslog.conf:

      local5.* /var/log/local5.log


      Dieser Eintrag bewirkt, dass alle Log-Nachrichten, die von local5 gesendet werden, in die Datei /var/log/local5.log geschrieben werden.



  3. Neustart des Syslog-Dienstes:

    • Damit die Änderungen wirksam werden, musst Du den Syslog-Dienst neu starten:

      sudo systemctl restart rsyslog




  4. Überprüfung der Logs:

    • Die Logs werden jetzt in der Datei /var/log/local5.log gespeichert und können dort eingesehen werden.





local5 ist eine benutzerdefinierte Facility im Syslog-Protokoll, die verwendet wird, um Log-Nachrichten von Anwendungen oder Skripten zu kennzeichnen und sie an Syslog-Dienste zu senden. Systemadministratoren können local5 (und die anderen localX-Facilities) verwenden, um spezifische Logs von Anwendungen zu sammeln und sie getrennt von anderen System-Logs zu verwalten. Die Verwendung von local5 ist flexibel und erlaubt eine gezielte Handhabung von Log-Daten, was in größeren Systemen und Netzwerken besonders nützlich ist.
Eingereicht durch: schutzgeist

locale.conf

Kleiner Exkurs locale.conf


 

Die Datei locale.conf wird auf Linux-Systemen verwendet, um die Sprach- und Regionseinstellungen (Locales) des Systems festzulegen. Diese Einstellungen beeinflussen, wie das System Datumsformate, Zahlenformate, Währungen, Zeichensätze, und andere regional spezifische Einstellungen handhabt.

Typischer Inhalt der locale.conf


Die locale.conf-Datei enthält Einträge in Form von Schlüssel=Wert-Paaren, die die gewünschten Locale-Einstellungen angeben. Hier ein Beispiel für eine typische locale.conf:

 


LANG=en_US.UTF-8
LC_TIME=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8



Erklärung der Einträge



  • LANG: Diese Einstellung bestimmt die Standardlocale für alle Kategorien, wenn keine spezifischeren Einstellungen (wie LC_TIME oder LC_NUMERIC) gesetzt sind. Im obigen Beispiel ist LANG=en_US.UTF-8 gesetzt, was bedeutet, dass die allgemeine Systemsprache auf US-Englisch eingestellt ist und UTF-8 als Zeichensatz verwendet wird.

  • LC_TIME: Bestimmt das Format für die Darstellung von Datums- und Zeitangaben. Wenn dies auf de_DE.UTF-8 gesetzt ist, werden Datums- und Zeitangaben im deutschen Format angezeigt.

  • LC_NUMERIC: Legt fest, wie Zahlen formatiert werden, z.B. das verwendete Dezimaltrennzeichen. Im Beispiel wird das deutsche Format verwendet (also ein Komma als Dezimaltrennzeichen).

  • LC_MONETARY: Steuert die Formatierung von Währungen, wie das Symbol der Währung und das Trennzeichen für Tausender. Auch hier wird im Beispiel das deutsche Format verwendet.


Anwendung und Verwaltung



  1. Erstellen oder Bearbeiten der locale.conf:

    • Wenn die Datei noch nicht existiert, kannst Du sie erstellen oder eine vorhandene Datei bearbeiten, um Deine gewünschten Locale-Einstellungen hinzuzufügen.




    sudo nano /etc/locale.conf



    • Nach dem Bearbeiten speichere die Datei und beende den Editor.



  2. Locale sofort anwenden:

    • Um die Locale-Einstellungen sofort anzuwenden, ohne das System neu zu starten, kannst Du die Einstellungen neu laden:




    source /etc/locale.conf


    Oder für die aktuelle Shell-Session:


    export LANG=en_US.UTF-8
    export LC_TIME=de_DE.UTF-8


  3. Verfügbare Locales anzeigen:

    • Du kannst die auf Deinem System verfügbaren Locales anzeigen, indem Du den folgenden Befehl ausführst:



    locale -a


    Dieser Befehl listet alle verfügbaren Locale auf, die Du in Deiner locale.conf verwenden kannst.

  4. Locale generieren:

    • Wenn eine benötigte Locale nicht verfügbar ist, kannst Du sie generieren:




    sudo locale-gen de_DE.UTF-8
    sudo locale-gen en_US.UTF-8
    sudo update-locale



Verwendungsszenarien



  • Internationalisierte Systeme: Wenn Du ein System betreibst, das von Benutzern aus verschiedenen Regionen genutzt wird, kannst Du die locale.conf so anpassen, dass es den jeweiligen Anforderungen entspricht.

  • Sprachspezifische Anwendungen: Manche Anwendungen benötigen bestimmte Locale-Einstellungen, um korrekt zu funktionieren oder um Inhalte in der gewünschten Sprache darzustellen.



Die locale.conf-Datei ist ein zentrales Konfigurationsmittel, um die Sprach- und Regionseinstellungen Deines Linux-Systems anzupassen. Durch die Bearbeitung dieser Datei kannst Du festlegen, wie Dein System mit regional spezifischen Daten wie Datumsformaten, Zahlenformaten und Währungen umgeht. Dies ist besonders nützlich in Umgebungen, die internationale oder mehrsprachige Unterstützung erfordern.

 
Eingereicht durch: schutzgeist

localectl
Ein Befehl, der verwendet wird, um die System-Locale und Tastaturbelegung auf Linux-Systemen zu verwalten. localectl ermöglicht es dir, die Sprach- und Regionaloptionen (Locales) sowie die Tastaturlayouts für die Konsole und X11 einzustellen.

Linux-Befehl: localectl

Anwendungsbeispiel:
Zeige die aktuellen Locale- und Tastatureinstellungen an mit localectl status.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und benötigst die Möglichkeit, schnell zwischen verschiedenen Sprach- und Tastaturlayouts zu wechseln, um mit Benutzern aus unterschiedlichen Regionen zu kommunizieren oder um spezifische Zeichensätze für die Verwaltung des Servers zu verwenden.

Beispiel: Ändern der System-Locale auf Deutsch (Deutschland) und des Tastaturlayouts auf Deutsch:


sudo localectl set-locale LANG=de_DE.UTF-8
sudo localectl set-keymap de


Mit diesen Befehlen kannst du sicherstellen, dass die Systemsprache auf Deutsch eingestellt ist und die Tastatur entsprechend dem deutschen Layout konfiguriert ist, was besonders nützlich sein kann, wenn du auf dem IRC-Server irc.irc-mania.net in einer spezifischen Sprache arbeiten möchtest.

Ähnliche Linux-Befehle:

  • setxkbmap: Verwendet, um das Tastaturlayout für X11-Sitzungen zu ändern.

  • loadkeys: Lädt ein bestimmtes Tastaturlayout für die Konsole.

  • locale: Zeigt die aktuellen Locale-Einstellungen an oder setzt sie temporär.


Schalteroptionen und ihre Funktionen:



  • localectl status: Zeigt den aktuellen Status der Locale- und Tastatureinstellungen an.

  • localectl list-locales: Listet alle verfügbaren Locale-Einstellungen auf.

  • localectl set-locale LANG=locale: Setzt die System-Locale auf die angegebene Einstellung, z.B. LANG=de_DE.UTF-8.

  • localectl set-keymap keymap: Setzt das Tastaturlayout für die Konsole, z.B. set-keymap us.

  • localectl set-x11-keymap layout [model] [variant] [options]: Setzt das Tastaturlayout für X11-Sitzungen. Du kannst das Layout, das Modell, die Variante und Optionen angeben.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von localectl.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. ENVIRONMENT
    Hinweise auf Umgebungsvariablen, die localectl beeinflussen können.

  6. EXAMPLES
    Beispiele für die Verwendung von localectl.

  7. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  8. AUTHOR
    Informationen über den Autor des Befehls.

  9. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man localectl
Eingereicht durch: Schutzgeist

log Ordner / Verzeichnis

/var/log/ Exkurs


 





Das Verzeichnis /var/log/ ist der zentrale Ort auf Unix- und Linux-Systemen, an dem System- und Anwendungsprotokolle (Logs) gespeichert werden. Diese Log-Dateien enthalten wichtige Informationen über das Verhalten und den Zustand des Systems, laufende Prozesse, Sicherheitseinstellungen und mehr. Hier ist eine Übersicht der wichtigsten Log-Dateien in /var/log/, zusammen mit einer Erklärung, wofür sie verwendet werden.

Wichtige Log-Dateien in /var/log/



  1. /var/log/syslog

    • Beschreibung: Diese Datei enthält allgemeine System- und Anwendungslogs. Hier werden die meisten allgemeinen Informationen gespeichert, die von Systemdiensten und Anwendungen ausgegeben werden.

    • Nutzung: Überwachen von Systemaktivitäten, Diagnose von allgemeinen Systemproblemen, Nachverfolgen von Ereignissen, die von verschiedenen Anwendungen und Diensten gemeldet werden.

    • Beispiel:


      Aug 22 12:34:56 myhostname systemd[1]: Started Session 1 of user root.




  2. /var/log/auth.log

    • Beschreibung: Diese Datei protokolliert alle Authentifizierungsversuche, wie z.B. erfolgreiche und fehlgeschlagene Anmeldeversuche, sudo-Verwendungen und andere sicherheitsrelevante Ereignisse.

    • Nutzung: Überwachung von sicherheitsrelevanten Aktivitäten, Identifizierung von unbefugten Zugriffsversuchen.

    • Beispiel:


      Aug 10 12:34:56 myhostname sshd[12345]: Accepted password for user from 192.168.1.100 port 22 ssh2




  3. /var/log/kern.log

    • Beschreibung: Diese Datei enthält Protokolle, die vom Linux-Kernel generiert werden. Sie enthält wichtige Informationen über Kernel-Nachrichten, Treiberprobleme und Hardware-Fehler.

    • Nutzung: Diagnose von Hardwareproblemen, Überwachung von Kernel-Aktivitäten.

    • Beispiel:


      Aug 10 12:34:56 myhostname kernel: [12345.678901] [UFW BLOCK] IN=eth0 OUT= MAC=...




  4. /var/log/dmesg

    • Beschreibung: Diese Datei enthält Kernel-Ringpuffer-Nachrichten, die sich auf den Systemstart und Hardware-Initialisierungen beziehen. Sie ist eine Momentaufnahme des Kernel-Logs beim Booten.

    • Nutzung: Überprüfung von Systemstartinformationen, Hardware- und Treiberinitialisierungen.

    • Beispiel:


      [ 0.000000] Initializing cgroup subsys cpuset
      [ 0.000000] Initializing cgroup subsys cpu




  5. /var/log/boot.log

    • Beschreibung: Diese Datei protokolliert den Systemstart und zeigt, welche Dienste erfolgreich gestartet wurden und welche nicht.

    • Nutzung: Analyse von Problemen, die während des Systemstarts auftreten, Überprüfung der Bootsequenz.

    • Beispiel:


      [ OK ] Started Network Manager.
      [FAILED] Failed to start MySQL Community Server.




  6. /var/log/cron.log oder /var/log/cron

    • Beschreibung: Diese Datei enthält Protokolle von Cron-Jobs, also Aufgaben, die über den cron-Dienst geplant und ausgeführt werden.

    • Nutzung: Überwachung der Ausführung von geplanten Aufgaben, Fehlersuche bei nicht ausgeführten oder fehlgeschlagenen Cron-Jobs.

    • Beispiel:


      Aug 10 12:00:01 myhostname CRON[12345]: (root) CMD (/usr/local/bin/backup.sh)




  7. /var/log/maillog oder /var/log/mail.log

    • Beschreibung: Diese Datei enthält Protokolle von E-Mail-Diensten wie Postfix, Sendmail oder Exim.

    • Nutzung: Überwachung und Diagnose von E-Mail-Aktivitäten, Verfolgung von eingehenden und ausgehenden E-Mails, Überprüfung auf E-Mail-Fehler oder Zustellungsprobleme.

    • Beispiel:


      Aug 10 12:34:56 myhostname postfix/smtp[12345]: 1234ABCD: to=, relay=smtp.example.com[192.168.1.200]:25, delay=0.5, delays=0.1/0/0.2/0.2, dsn=2.0.0, status=sent (250 OK)




  8. /var/log/messages

    • Beschreibung: Diese Datei ist ähnlich wie syslog und enthält allgemeine Systemnachrichten sowie Nachrichten von verschiedenen Diensten und Anwendungen.

    • Nutzung: Allgemeine Systemüberwachung, Fehlerdiagnose, Protokollierung von Ereignissen.

    • Beispiel:


      Aug 10 12:34:56 myhostname dhclient[12345]: DHCPREQUEST of 192.168.1.10 on eth0 to 192.168.1.1 port 67




  9. /var/log/apache2/ oder /var/log/httpd/

    • Beschreibung: Dieses Verzeichnis enthält Protokolle des Apache-Webservers. Üblicherweise gibt es zwei Hauptdateien: access.log für Zugriffsprotokolle und error.log für Fehlermeldungen.

    • Nutzung: Überwachung des Webserver-Traffics, Analyse von Webanfragen, Fehlerbehebung bei Webanwendungen.

    • Beispiele:

      • access.log:


        192.168.1.100 - - [10/Aug/2023:12:34:56 +0000] "GET /index.html HTTP/1.1" 200 1024


      • error.log:


        [Wed Aug 10 12:34:56 2023] [error] [client 192.168.1.100] File does not exist: /var/www/html/favicon.ico






  10. /var/log/mysql/ oder /var/log/mariadb/

    • Beschreibung: Dieses Verzeichnis enthält Protokolle des MySQL- oder MariaDB-Datenbankservers. Wichtige Dateien sind z.B. error.log, das Fehler im Zusammenhang mit der Datenbank protokolliert.

    • Nutzung: Überwachung von Datenbankaktivitäten, Fehlerbehebung bei Datenbankproblemen.

    • Beispiel:


      2023-08-10T12:34:56.789012Z 0 [ERROR] Plugin 'InnoDB' init function returned error.




  11. /var/log/faillog

    • Beschreibung: Diese Datei protokolliert fehlgeschlagene Anmeldeversuche.

    • Nutzung: Überwachung von möglichen unbefugten Zugriffen, Sicherheitshärtung durch Erkennung von Brute-Force-Angriffen.

    • Anzeigen:


      faillog -a




  12. /var/log/lastlog

    • Beschreibung: Diese Datei speichert Informationen über den letzten erfolgreichen Anmeldevorgang eines jeden Benutzers.

    • Nutzung: Überwachung der letzten Anmeldungen, Erkennung von Sicherheitsvorfällen.

    • Anzeigen:


      lastlog




  13. /var/log/btmp

    • Beschreibung: Diese Datei protokolliert fehlgeschlagene Anmeldeversuche, ähnlich wie faillog, jedoch in einem binären Format.

    • Nutzung: Sicherheitshärtung, Überwachung von fehlgeschlagenen Anmeldeversuchen.

    • Anzeigen:


      lastb




  14. /var/log/wtmp

    • Beschreibung: Diese Datei protokolliert alle An- und Abmeldungen sowie Systemstarts in einem binären Format.

    • Nutzung: Überwachung von Benutzeraktivitäten, Analyse von Systemstart- und Shutdown-Ereignissen.

    • Anzeigen:


      last






Das Verzeichnis /var/log/ ist entscheidend für die Überwachung und Wartung eines Linux-Systems. Es enthält Protokolldateien, die eine Vielzahl von Informationen über das System und seine Aktivitäten bereitstellen, von allgemeinen Systemereignissen über Authentifizierungsversuche bis hin zu spezifischen Diensten wie Web- und Datenbankservern. Systemadministratoren verwenden diese Logs, um Probleme zu diagnostizieren, Sicherheitsvorfälle zu erkennen und den allgemeinen Zustand des Systems zu überwachen.




Eingereicht durch: Schutzgeist

Log-Rotation Exkurs

Ein kleiner Linux Exkurs zum Thema: Log-Rotation


 

Exkurs: Log Rotation unter Linux


Log Rotation

ist ein Mechanismus, der in Unix- und Linux-Systemen verwendet wird, um Log-Dateien zu verwalten. Da Log-Dateien im Laufe der Zeit sehr groß werden können, bietet die Log-Rotation eine Methode, um ältere Log-Einträge zu archivieren und neue Logs in sauberen, kleineren Dateien zu speichern. Dieser Prozess sorgt dafür, dass das Dateisystem nicht durch übergroße Log-Dateien überlastet wird und die Logs übersichtlich und handhabbar bleiben.

Warum Log Rotation notwendig ist



  • Platzersparnis: Große, unkontrollierte Log-Dateien können schnell viel Speicherplatz beanspruchen und zu einem vollen Dateisystem führen.

  • Leistung: Kleinere Log-Dateien sind einfacher und schneller zu durchsuchen und zu analysieren.

  • Verwaltung: Durch das Archivieren und automatische Löschen alter Log-Dateien wird die Verwaltung von Log-Daten erleichtert.


Das logrotate-Tool


Das Standardwerkzeug für Log-Rotation auf den meisten Linux-Systemen ist logrotate. Es wird in der Regel über Cron-Jobs regelmäßig ausgeführt und rotiert, komprimiert und entfernt alte Log-Dateien basierend auf definierten Regeln.

Hauptfunktionen von logrotate:



  • Rotation: logrotate kann Log-Dateien nach einer bestimmten Größe, nach einem bestimmten Zeitintervall (täglich, wöchentlich, monatlich) oder basierend auf anderen Kriterien rotieren.

  • Komprimierung: Nach der Rotation können die alten Log-Dateien automatisch komprimiert werden (z.B. in .gz-Format).

  • Entfernung: Alte, nicht mehr benötigte Log-Dateien können nach einer bestimmten Anzahl von Rotationen oder Tagen automatisch gelöscht werden.

  • Benachrichtigungen: Nach der Rotation können Benachrichtigungen oder Aktionen wie das Senden einer E-Mail oder das Neustarten eines Dienstes ausgeführt werden.


Konfigurationsdateien:


logrotate verwendet Konfigurationsdateien, um die Rotationsregeln festzulegen. Die Hauptkonfigurationsdatei befindet sich in /etc/logrotate.conf. Darüber hinaus können spezifische Konfigurationen
Eingereicht durch: Schutzgeist

login.defs Konfiguration - Exkurs




Die Datei /etc/login.defs  Exkurs


Die Datei login.defs ist eine zentrale Konfigurationsdatei auf Linux- und Unix-Systemen, die verschiedene Einstellungen für das Benutzer- und Passwortmanagement steuert. Diese Datei wird von vielen Systemprogrammen verwendet, darunter login, useradd, userdel, passwd, und groupadd. Sie befindet sich üblicherweise im Verzeichnis /etc/.

Hauptinhalte und Konfigurationsoptionen von login.defs:


Hier sind einige der wichtigsten Einstellungen, die Du in der login.defs Datei finden kannst:

  1. PASS_MAX_DAYS

    • Beschreibung: Legt die maximale Anzahl von Tagen fest, die ein Passwort gültig ist.

    • Beispiel:


      PASS_MAX_DAYS 90


    • Erklärung: In diesem Beispiel muss ein Benutzer sein Passwort alle 90 Tage ändern.



  2. PASS_MIN_DAYS

    • Beschreibung: Legt die minimale Anzahl von Tagen fest, die vergehen müssen, bevor ein Passwort geändert werden kann.

    • Beispiel:


      PASS_MIN_DAYS 7


    • Erklärung: Der Benutzer muss mindestens 7 Tage warten, bevor er sein Passwort erneut ändern kann.



  3. PASS_WARN_AGE

    • Beschreibung: Legt fest, wie viele Tage vor Ablauf eines Passworts der Benutzer gewarnt wird.

    • Beispiel:


      PASS_WARN_AGE 7


    • Erklärung: Der Benutzer wird 7 Tage vor Ablauf seines Passworts gewarnt.



  4. UID_MIN und UID_MAX

    • Beschreibung: Bestimmt den Bereich der User IDs (UIDs), die für reguläre Benutzerkonten verwendet werden.

    • Beispiel:


      UID_MIN 1000
      UID_MAX 60000


    • Erklärung: Normale Benutzerkonten haben UIDs zwischen 1000 und 60000.



  5. GID_MIN und GID_MAX

    • Beschreibung: Bestimmt den Bereich der Gruppen IDs (GIDs), die für normale Gruppen verwendet werden.

    • Beispiel:


      GID_MIN 1000
      GID_MAX 60000


    • Erklärung: Normale Gruppen haben GIDs zwischen 1000 und 60000.



  6. CREATE_HOME

    • Beschreibung: Legt fest, ob das Home-Verzeichnis automatisch erstellt wird, wenn ein neuer Benutzer angelegt wird.

    • Beispiel:


      CREATE_HOME yes


    • Erklärung: Wenn ein neuer Benutzer erstellt wird, wird auch automatisch ein Home-Verzeichnis für ihn angelegt.



  7. ENCRYPT_METHOD

    • Beschreibung: Legt das Verschlüsselungsverfahren fest, das für die Verschlüsselung von Passwörtern verwendet wird.

    • Beispiel:


      ENCRYPT_METHOD SHA512


    • Erklärung: Passwörter werden mit dem SHA-512-Algorithmus verschlüsselt.



  8. UMASK

    • Beschreibung: Bestimmt die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse.

    • Beispiel:


      UMASK 022


    • Erklärung: Neue Dateien haben standardmäßig die Berechtigungen 755 (Verzeichnisse) oder 644 (Dateien), was bedeutet, dass sie für den Benutzer schreibbar, aber nur für andere lesbar sind.



  9. LOGIN_RETRIES

    • Beschreibung: Legt die maximale Anzahl von Anmeldeversuchen fest, bevor der Anmeldevorgang abgebrochen wird.

    • Beispiel:


      LOGIN_RETRIES 5


    • Erklärung: Ein Benutzer hat maximal 5 Versuche, sich anzumelden, bevor der Vorgang abgebrochen wird.



  10. LOGIN_TIMEOUT

    • Beschreibung: Bestimmt die Zeit in Sekunden, nach der eine inaktive Anmeldung automatisch abgebrochen wird.

    • Beispiel:


      LOGIN_TIMEOUT 60


    • Erklärung: Wenn der Benutzer während des Anmeldevorgangs 60 Sekunden lang inaktiv ist, wird der Anmeldevorgang abgebrochen.



  11. USERGROUPS_ENAB

    • Beschreibung: Bestimmt, ob Benutzer eigene Gruppen haben (jedem Benutzer wird eine eigene Gruppe mit demselben Namen wie der Benutzer zugewiesen).

    • Beispiel:


      USERGROUPS_ENAB yes


    • Erklärung: Jeder Benutzer erhält eine eigene Gruppe mit demselben Namen wie der Benutzer.



  12. CHFN_RESTRICT

    • Beschreibung: Legt fest, welche Felder des Benutzerkontos durch chfn geändert werden können.

    • Beispiel:


      CHFN_RESTRICT rwh


    • Erklärung: Benutzer können nur die Felder real name, work phone, und home phone ändern.




Zusammenfassung:


Die Datei login.defs ist eine zentrale Konfigurationsdatei, die wichtige Richtlinien und Standards für Benutzerkonten, Passwörter und Anmeldevorgänge auf einem Linux-System festlegt. Sie ermöglicht Administratoren, Sicherheitsrichtlinien (wie Passwortalterung und Warnungen), Benutzer- und Gruppenkonventionen sowie Dateiberechtigungen zentral zu verwalten. Die Anpassung der login.defs Datei kann dazu beitragen, das System sicherer und benutzerfreundlicher zu machen.











4o



Eingereicht durch: Schutzgeist

lpq Status von Druckaufträgen




lpq


Ein Befehl, der den Status der Druckwarteschlange (Print Queue) anzeigt. Mit lpq kannst du die Druckaufträge sehen, die sich derzeit in der Warteschlange eines Druckers befinden, einschließlich Details wie die Job-ID, den Benutzernamen, die Dateigröße und den Status des Druckauftrags.

Linux-Befehl: lpq

Anwendungsbeispiel:
Zeige die aktuelle Druckwarteschlange für den Standarddrucker an mit lpq.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du verwaltest einen IRC-Server unter irc.irc-mania.net, und du hast ein Skript, das automatisch Chat-Protokolle ausdruckt. Wenn mehrere Benutzer gleichzeitig Druckaufträge senden, möchtest du sicherstellen, dass alle Aufträge korrekt abgewickelt werden. Mit lpq kannst du die Druckwarteschlange überwachen, um sicherzustellen, dass keine Protokolle verloren gehen.

Beispiel: Überprüfen der Druckwarteschlange, um sicherzustellen, dass alle Protokolle gedruckt werden:


lpq


Dieser Befehl zeigt alle aktuellen Druckaufträge in der Warteschlange an. Dies ist hilfreich, um sicherzustellen, dass keine Aufträge hängen bleiben und alle Chat-Protokolle für den Server irc.irc-mania.net erfolgreich gedruckt werden.

Ähnliche Linux-Befehle:

  • lpr: Sendet einen Druckauftrag an die Druckwarteschlange.

  • lprm: Entfernt einen Druckauftrag aus der Warteschlange.

  • lpstat: Zeigt allgemeine Druckerstatusinformationen und Warteschlangeninformationen an.

  • cancel: Bricht einen laufenden Druckauftrag ab.


Schalteroptionen und ihre Funktionen:



  • lpq -P printername: Zeigt die Warteschlange für einen bestimmten Drucker an.

  • lpq -l: Gibt detaillierte Informationen über jeden Druckauftrag in der Warteschlange aus.

  • lpq -a: Zeigt die Warteschlangeninformationen für alle Drucker an.

  • lpq -U username: Zeigt die Druckaufträge eines bestimmten Benutzers an.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von lpq.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf Dateien, die von lpq verwendet werden, z.B. Druckerwarteschlangendateien.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. lpr, lpstat.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man lpq

Der Befehl lpq wird in Unix- und Linux-Systemen verwendet, um den Status von Druckaufträgen in der Druckwarteschlange zu überprüfen. Dieser Befehl zeigt eine Liste aller Druckaufträge an, die derzeit in der Warteschlange eines bestimmten Druckers stehen. Du kannst den Befehl verwenden, um Informationen wie den Auftragsstatus, die Auftrag-ID, den Benutzer, der den Auftrag eingereicht hat, und die Anzahl der zu druckenden Seiten zu sehen.

Syntax von lpq


Die allgemeine Syntax des lpq-Befehls ist:

bash


lpq [Optionen] [Druckername]


Typische Verwendung



  1. Status der Standard-Druckwarteschlange anzeigen:

    Wenn Du keinen Druckernamen angibst, zeigt lpq den Status der Druckaufträge in der Standardwarteschlange an:


    lpq


  2. Status einer bestimmten Druckerwarteschlange anzeigen:

    Um den Status eines bestimmten Druckers zu überprüfen, gibst Du den Namen des Druckers als Argument an:


    lpq -P MeinDrucker


    Hierbei zeigt -P an, dass Du den Drucker "MeinDrucker" überprüfen möchtest.


Typische Ausgabe von lpq


Die Ausgabe von lpq könnte wie folgt aussehen:



Printer: MeinDrucker@hostname 'HP LaserJet 400 M401'
Queue: 2 printable jobs
Server: pid 1234 active
Status: job 'user1-123' saved at 15:30:00. Rank 1st, printed 0 pages.
Job: user1-123 User: user1 Status: held since 15:30:00
Job: user2-124 User: user2 Status: printing since 15:31:00


Erklärung der Ausgabe:



  • Printer: Der Name und die Beschreibung des Druckers.

  • Queue: Die Anzahl der Aufträge in der Warteschlange.

  • Server: Der Prozess des Druckservers und sein Status.

  • Status: Der aktuelle Status des Druckauftrags (z. B. "printing", "held", "queued").

  • Job: Die Job-ID, die dem Druckauftrag zugewiesen wurde.

  • User: Der Benutzer, der den Druckauftrag eingereicht hat.

  • Status des Jobs: Der Status des spezifischen Druckauftrags, z.B. "printing", "held" oder "queued".


Häufig verwendete Optionen



  • -P Druckername: Gibt den Drucker an, dessen Warteschlange angezeigt werden soll.

    Beispiel:


    lpq -P MeinDrucker


  • -l: Zeigt eine detailliertere Ausgabe an.

    Beispiel:


    lpq -l


  • -a: Zeigt den Status aller Druckerwarteschlangen im System an.

    Beispiel:

    lpq -a



Kombination mit anderen Befehlen



  • lpr: Um einen Druckauftrag zu erstellen.

    Beispiel:


    lpr -P MeinDrucker datei.txt


  • lprm: Um einen Druckauftrag aus der Warteschlange zu entfernen.

    Beispiel:


    lprm -P MeinDrucker 123



Hierbei würdest Du den Druckauftrag mit der Job-ID 123 aus der Warteschlange von MeinDrucker entfernen.


Der lpq-Befehl ist ein nützliches Werkzeug, um den Status von Druckaufträgen zu überprüfen, insbesondere in Umgebungen, in denen mehrere Benutzer oder mehrere Drucker vorhanden sind. Er hilft Dir dabei, den Überblick über die Druckwarteschlangen zu behalten und eventuelle Probleme wie blockierte Druckaufträge zu identifizieren.




Eingereicht durch: schutzgeist

ls

lsmod

Der Befehl lsmod (list modules)


Dieser zeigt Dir alle aktuell geladenen Kernel-Module Deines Systems an.
Kernel-Module sind essentielle Komponenten, die Funktionen wie Hardware-Unterstützung (z. B. für Grafikkarten, Netzwerkkarten) und Systemdienste bereitstellen.

Nutzung von lsmod unter Linux


Öffne ein Terminal und gib einfach lsmod ein. Du erhältst eine Liste aller Module, die aktuell im Kernel Deines Linux-Systems geladen sind.

Die Ausgabe des Befehls lsmod umfasst drei Spalten:

Module  | Name des Moduls  | Size : belegter RAM-Speichers in Bytes

Used by
Abhängige Module

Ein Teil meiner Ausgabe:

$ lsmod
Module Size Used by
xt_mark 12288 2
xt_connmark 12288 6
xt_comment 12288 10
tun 69632 2
vfat 20480 1
fat 106496 1 vfat
uinput 20480 0
rfcomm 102400 16
snd_seq_dummy 12288 0
snd_hrtimer 12288 1
nf_conntrack_netbios_ns 12288 1
nf_conntrack_broadcast 12288 1 nf_conntrack_netbios_ns
nft_fib_inet 12288 1
nft_fib_ipv4 12288 1 nft_fib_inet
nft_fib_ipv6 12288 1 nft_fib_inet
nft_fib 12288 3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
nft_reject_inet 12288 10
nf_reject_ipv4 16384 1 nft_reject_inet
nf_reject_ipv6 20480 1 nft_reject_inet
nft_reject 12288 1 nft_reject_inet
nft_ct 24576 8
nft_chain_nat 12288 3
ip6table_nat 12288 0
ip6table_mangle 12288 0
ip6table_raw 12288 0
ip6table_security 12288 0
iptable_nat 12288 0
nf_nat 65536 3 ip6table_nat,nft_chain_nat,iptable_nat
nf_conntrack 200704 5 nf_nat,nft_ct,nf_conntrack_netbios_ns,nf_conntrack_broadcast,xt_connmark
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 12288 1 nf_conntrack



Weitere Beispiele und Nutzen von lsmod


Überprüfe geladene Module:


Ein schneller lsmod-Befehl kann Dir zeigen, ob bestimmte Treiber, wie z.B. für eine neu installierte Grafikkarte, Laser-Gravierer, korrekt geladen sind.

Fehlersuche: Hast Du Probleme mit einem Gerät? Überprüfe mit lsmod, ob der entsprechende Treiber geladen ist. Fehlt er, weißt Du, wo Du ansetzen musst.

Optimierung Deines Systems: Manchmal sind Module geladen, die Du nicht brauchst.
Mit lsmod kannst Du überprüfen, ob unnötige Module Ressourcen verbrauchen.

Lerne Dein System über den Befehl kennen, oder auch fremde Systeme.
Für Linux-Einsteiger ist lsmod eine tolle Möglichkeit, mehr über die Funktionsweise des Systems zu erfahren.

Wer für LPI-Module lernt, muss sich ebenfalls mit diesen essenziellen Befehlen beschäftigen.

Kurze Beispiele
$ lsmod | fgrep -i snd_hda_intel

Sucht Dir nur Inhalte raus, die das jeweilige Suchmuster enthalten.
$ modprobe -r snd-hda-intel

Ein Befehl zum "entladen" eines Modules und zusammenhängende Module.

Das tolle ist, Du kannst diese Module "laden" und "entladen" während Du mit dem System arbeitest.
Und.... Du kannst die Parameter dieser Module ebenfalls anpassen.
Du findest die dazu passende Datei in

/etc/modprobe.conf/

Ein Beispiel meines Systems
Ausgabe von "ls" im Ordner "/etc/modprobe.d/"



modprobe.d]$ ls
appletalk-blacklist.conf floppy-blacklist.conf lockd.conf rose-blacklist.conf
atm-blacklist.conf kvm.conf netrom-blacklist.conf sctp-blacklist.conf
ax25-blacklist.conf l2tp_eth-blacklist.conf nfc-blacklist.conf v4l2loopback.conf
batman-adv-blacklist.conf l2tp_ip-blacklist.conf nvdimm-security.conf vhost.conf
blacklist.conf l2tp_netlink-blacklist.conf nvidia-installer-disable-nouveau.conf
firewalld-sysctls.conf l2tp_ppp-blacklist.conf rds-blacklist.conf


Wir sehen hier einige conf-Files und uns fällt das Wort "blacklist" schnell ins Auge.

Hier können wir den Linux-Befehl modinfo nutzen


Modinfo gibt Informationen über die jeweiligen Module aus:
zum Beispiel  mit der Erweiterung -p

modinfo -p nouveau
Ausgabe: (Beispiel)

vram_pushbuf:Create DMA push buffers in VRAM (int)
kms_vram_pushbuf:Place EVO/NVD push buffers in VRAM (default: auto) (int)
tv_norm:Default TV norm.
Supported: PAL, PAL-M, PAL-N, PAL-Nc, NTSC-M, NTSC-J,
hd480i, hd480p, hd576i, hd576p, hd720p, hd1080i.
Default: PAL
*NOTE* Ignored for cards with external TV encoders. (charp)
mst:Enable DisplayPort multi-stream (default: enabled) (int)
tv_disable:Disable TV-out detection (int)
ignorelid:Ignore ACPI lid status (int)
duallink:Allow dual-link TMDS (default: enabled) (int)
hdmimhz:Force a maximum HDMI pixel clock (in MHz) (int)
config:option string to pass to driver core (charp)
debug:debug string to pass to driver core (charp)
noaccel:disable kernel/abi16 acceleration (int)
modeset:enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int)
atomic:Expose atomic ioctl (default: disabled) (int)
runpm:disable (0), force enable (1), optimus only default (-1) (int)

Diesen Befehl kannst Du auch für alle anderen Module verwenden, die Du geladen oder vorliegen hast.




Zurück zur blacklist.conf:


In der Datei:

/etc/modprobe.d/blacklist.conf

kannst Du die Module eintragen, die auch nicht automatisch geladen werden sollen, um Systemprobleme zu vermeiden.
Gerade bei Grafikkarten oder Treibern oft eine der am meisten genutzten Funktionen.

Allgemeine Randnotiz.
Egal, ob Du lspci, lsusb oder lsmod nutzt, die greifen auf die gespeicherten Hardwareinformationen zurück.

Diese werden in den Verzeichnissen /proc /sys gesoeichert.

Nutze den cat-Befehl für folgende Verlinkungen

/proc/cpuinfo

/proc/interrupts

/proc/dma

Zum Beispiel

 
cat /proc/cpuinfo

Meine Ausgabe:
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
model : 1
model name : AMD FX(tm)-6200 Six-Core Processor
stepping : 2
microcode : 0x600063e
cpu MHz : 1407.995
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 0
cpu cores : 3
apicid : 16
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme .......

 

und mehr.
Dasselbe kannst Du auch auf die anderen proc-Dateien cd /sys/verwenden.

Schau Dir den Ordner /proc/ mit ls an. Du wirst überrascht sein uptime, devices, vmstat version und viele anderen Informationen zu finden, die Du ggf. schon immer wissen wolltest.
Ganz einfach, auch per Text-Editor einsehbar.

Du kannst dies ebenfalls für den Sys-Ordner durchführen, allerdings sind hier die Ausgaben komplexer. Ich selbst schaue da selten/nie hinein.

Hier werden auch die Kerneldaten gespeichert.
lsmod haben wir schon etwas verlassen, aber da wir nun proc und sys -Daten besprochen haben, möchte ich noch einen kleinen Hinweis auf

den "/dev/" bzw. "/dev/hda/" geben.
Auch hier haben wir Hardwareinformationen gespeichert. Zum beispiel die IDE-Kanäle/Geräte.

Auch hier schauen wir uns das Chaos über den Linux-Befehl :
ls /dev/

einmal an.
Auffallend sind hier die tty*, usvmon*,loop* und Dateien.
In diesem Fall interessieren uns die /dev/hda*  Orte.
Dieses könnten IDE-Festplatten repräsentieren.

 

Nun haben wir den lsmod-Befehl schon etwas verlassen, sind aber noch im Bereich Hardwareinformationen geblieben.

 

lsof (List Open Files)
lsof (List Open Files):
Ein Befehl, der eine Liste aller geöffneten Dateien anzeigt, die von Prozessen auf dem System verwendet werden. Da in Unix-ähnlichen Systemen praktisch alles als Datei betrachtet wird, zeigt lsof auch geöffnete Netzwerkverbindungen, Pipes und Geräte an.

Linux-Befehl: lsof


Anwendungsbeispiel:
Zeige alle geöffneten Dateien an, die von einem bestimmten Benutzer verwendet werden, mit lsof -u username.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, und du möchtest überprüfen, welche Dateien oder Sockets der IRC-Daemon (ircd) geöffnet hat. Dies kann hilfreich sein, um sicherzustellen, dass der IRC-Server korrekt mit den erforderlichen Dateien und Ports arbeitet.

 
Eingereicht durch: schutzgeist

lsof (List Open Files):

lsof (List Open Files):


Ein Befehl, der eine Liste aller offenen Dateien anzeigt, die von Prozessen auf dem System verwendet werden. Da in Unix-ähnlichen Systemen praktisch alles als Datei betrachtet wird, zeigt lsof auch geöffnete Netzwerkverbindungen, Pipes und Geräte an.

Linux-Befehl: lsof


 

Anwendungsbeispiel:


Zeige alle geöffneten Dateien an, die von einem bestimmten Benutzer verwendet werden, mit lsof -u username.

Alle Schalteroptionen und ihre Funktionen:


 

  • -a: Kombiniert Bedingungen (logisches UND).

  • -c: Filtert nach Prozessen mit einem bestimmten Namen.

  • -d: Zeigt Informationen über Dateideskriptoren (FD) an.

  • -i: Zeigt geöffnete Netzwerkdateien an. Kann nach Adresse und/oder Port gefiltert werden.

  • -n: Verhindert die Umkehrsuche von Hostnamen, beschleunigt den Befehl.

  • -P: Verhindert die Umkehrsuche von Portnummern, zeigt sie numerisch an.

  • -p: Filtert nach Prozessen mit einer bestimmten Prozess-ID (PID).

  • -r: Wiederholt den Befehl alle n Sekunden.

  • -s: Zeigt den Dateistatus an.

  • -t: Gibt nur die PIDs der Prozesse aus, die die Datei verwenden.

  • -u: Filtert nach einem bestimmten Benutzer.

  • +d: Zeigt Dateien in einem bestimmten Verzeichnis an.

  • +D: Zeigt alle Dateien in einem bestimmten Verzeichnis rekursiv an.

  • -T: Zeigt TCP- und UDP-Informationen an.

  • -X: Zeigt UNIX-Domain-Socket-Dateien an.

  • -h: Zeigt eine kurze Hilfeseite mit den verfügbaren Optionen an.

  • -v: Gibt die Version von lsof aus.

  • -V: Zeigt eine ausführliche Ausgabe mit detaillierten Informationen.


Man-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von lsof.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FIELDS
    Erklärung der Felder, die in der Ausgabe von lsof erscheinen.

  6. OUTPUT FOR OTHER PROGRAMS
    Hinweise zur Verwendung der Ausgabe von lsof in anderen Programmen.

  7. EXAMPLES
    Beispiele für die Verwendung von lsof.

  8. SECURITY
    Sicherheitsaspekte und Einschränkungen bei der Verwendung von lsof.

  9. CAUTIONS
    Warnhinweise und Dinge, die man bei der Verwendung von lsof beachten sollte.

  10. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  11. HISTORY
    Historische Entwicklung des Befehls.

  12. AUTHOR
    Informationen über den Autor des Befehls.


Handbuch für den Befehl: man lsof
Eingereicht durch: Schutzgeist

lspci

Der lspci-Befehl,


kurz für list PCI, ist ein wichtiges und notwendiges Werkzeug in Linux-Distributionen wie Ubuntu, Fedora, Debian und CentOS.
Es liefert detaillierte Informationen über PCI-Geräte wie Grafikkarten, Netzwerkkarten, Soundkarten, USB-Controller und mehr.
Eben alles, was am PCI-Port angeschlossen werden kann und ist.

Grundlegende Nutzung von lspci


Um eine einfache Liste aller PCI-Geräte anzuzeigen, öffne einfach ein Terminal und gib ein:
 
lspci

Diese Eingabe liefert eine übersichtliche Liste aller PCI-Geräte, einschließlich Hersteller und Gerätetyp.

Beispielausgabe
$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD9x0/RX980 Host Bridge (rev 02)
00:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0 PCI to PCI bridge (PCI Express GFX port 1)
00:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 4)

 

 

Erweiterte Optionen und Beispiele


Detaillierte Informationen: Um tiefergehende Details zu erhalten, kannst Du den Befehl

lspci -v

nutzen. Dies zeigt Informationen wie IRQ, Speicheradressen und Treiber.

Suche nach spezifischen Geräten: Möchtest Du Informationen über deine Grafikkarte?
lspci | grep VGA

filtert die Ergebnisse und zeigt nur Deine VGA-Geräte an.

Kernel-Treiber und Module:


Mit
lspci -k

siehst Du, welche Kernel-Treiber jedes Gerät nutzt – essentiell für die Fehlersuche bei Linux Treiberproblemen.

Numerische IDs und Hersteller:


Für Entwickler und fortgeschrittene Nutzer liefert

lspci -nn


numerische IDs von Herstellern und Geräten, was bei der Treibersuche hilfreich ist.

Der Nutzen von "lspci" im Troubleshooting-Alltag


Läuft mal ein angeschlossener Drucker, Laser-Gravierer oder sonstiges nicht, so lohnt es sich, die jeweiligen Konfigurationen und Integrationen anzuschauen.
Ist es Treiberproblem oder doch ein Hardwareschaden .
Befehle wie  dmesg, lsusb, lspcu usw.


lspci Befehl für die Systemdiagnose:



Schnelle Überprüfung der angeschlossenen Hardware.

Treiberkonfiguration:



  • Identifiziere Geräte, um die passenden Treiber zu finden oder zu überprüfen.

  • Systemüberwachung: Behalte die Konfiguration und Änderungen deiner Hardware im Auge.


 

lsusb
list USB - Siehe auch "demsg"

Der Befehl lsusb in Linux ist ein wichtiger Befehl, der Informationen über USB-Geräte liefert, die an Ihren Computer angeschlossen sind. Er steht für "list USB" und zeigt Details wie den Hersteller, das Produkt, die Geräte-ID und die Bus-Informationen der USB-Geräte.

Interpretation der Ausgabe von lsusb


Beispiel:
lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 003: ID 1e7d:303e ROCCAT [unknown]


Wenn Sie lsusb im Terminal eingeben, erhalten Sie eine Liste der angeschlossenen USB-Geräte. Jede Zeile entspricht einem Gerät und enthält mehrere Informationen:

  1. Bus-ID: Zeigt an, an welchem USB-Bus das Gerät angeschlossen ist.

  2. Geräte-ID: Eine eindeutige Nummer, die dem Gerät auf diesem Bus zugewiesen ist.

  3. Geräte-ID: Besteht aus zwei Teilen - idVendor und idProduct. idVendor identifiziert den Hersteller des Geräts, während idProduct das spezifische Modell identifiziert.

  4. Weitere Informationen: Zusätzliche Details wie Herstellername, Produktname und die Geräteversion.


Erkennung und Behebung von USB-Problemen mit lsusb



  • Geräteerkennung: Wenn ein USB-Gerät nicht funktioniert, können Sie lsusb verwenden, um zu überprüfen, ob das Gerät vom System überhaupt erkannt wird.

  • Hersteller- und Produkt-ID: Die IDs helfen dabei, die richtigen Treiber für das Gerät zu finden oder zu überprüfen, ob die richtigen Treiber bereits installiert sind.

  • Problembehebung: Fehlt ein Gerät in der lsusb-Ausgabe, kann dies auf ein Problem mit dem USB-Port, dem Kabel oder dem Gerät selbst hinweisen.


Weitere wichtige Befehle zur Analyse und Behebung von Problemen mit Endgeräten



  1. dmesg: Dieser Befehl zeigt Kernel-Nachrichten und kann helfen, Probleme zu identifizieren, die während der Geräteerkennung oder beim Laden von Treibern aufgetreten sind.

  2. lsmod: Listet alle momentan geladenen Kernel-Module auf. Dies kann hilfreich sein, um zu überprüfen, ob die benötigten Treibermodule für das USB-Gerät geladen sind.

  3. modprobe: Mit diesem Befehl können Sie Module im Linux-Kernel laden oder entfernen. Nützlich, wenn Sie ein spezifisches Treibermodul für ein USB-Gerät laden müssen.

  4. udevadm: Ein Tool zur Interaktion mit dem udev-System, das dynamisch Gerätedateien im /dev-Verzeichnis erstellt und verwaltet. Besonders hilfreich, um detaillierte Informationen über ein Gerät zu erhalten und udev-Regeln zu debuggen.

  5. lspci: Ähnlich wie lsusb, aber für PCI-Geräte. Nützlich, um Probleme mit Geräten zu diagnostizieren, die an PCI-Busse angeschlossen sind, was indirekt USB-Probleme beeinflussen kann.


Diese Befehle bieten eine umfassende Grundlage für die Fehlersuche bei USB- und anderen Hardware-Problemen unter Linux. Sie ermöglichen es Ihnen, Probleme zu identifizieren und zu beheben, die von einfachen Erkennungsproblemen bis hin zu komplexen Treiber- oder Hardware-Konflikten reichen.

M

mailq

mailq:


Ein Befehl, der verwendet wird, um die Warteschlange ausstehender E-Mails eines Mail-Transfer-Agenten (MTA) wie Postfix oder Sendmail anzuzeigen. Der Befehl gibt eine Liste von E-Mails aus, die noch nicht zugestellt wurden, und zeigt Informationen wie die Nachrichten-ID, den Absender, den Empfänger und den Status der Nachricht an.

 

Linux-Befehl: mailq


Anwendungsbeispiel:
Zeige die aktuelle Warteschlange ausstehender E-Mails an mit mailq.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, der Benachrichtigungen und Bestätigungen per E-Mail an Benutzer senden soll. Du bemerkst, dass einige Benutzer ihre E-Mails nicht erhalten haben, und möchtest überprüfen, ob diese E-Mails in der Warteschlange des Mailservers hängen geblieben sind.

Beispiel: Überprüfen der E-Mail-Warteschlange, um zu sehen, ob E-Mails an user@IRC-Mania.com feststecken:


mailq | grep user@ IRC-Mania.com


Mit diesem Befehl kannst du alle E-Mails in der Warteschlange identifizieren, die an user@ IRC-Mania.com gesendet werden sollten, und möglicherweise feststecken. Dies ist nützlich, um Probleme mit der E-Mail-Zustellung zu diagnostizieren, insbesondere wenn dein IRC-Server irc.irc-mania.net Benachrichtigungen an Benutzer senden muss.

Ähnliche Linux-Befehle:

  • postqueue -p: Ein alternatives Kommando in Postfix zur Anzeige der E-Mail-Warteschlange.

  • sendmail -bp: Ein ähnlicher Befehl in Sendmail, um die E-Mail-Warteschlange anzuzeigen.

  • postsuper -d ALL: Löscht alle Nachrichten aus der Warteschlange (vorsichtig verwenden).

  • postfix flush: Versucht, die Warteschlange sofort zu leeren, indem alle ausstehenden E-Mails erneut gesendet werden.


Schalteroptionen und ihre Funktionen:



  • mailq: Standardaufruf zeigt alle ausstehenden E-Mails in der Warteschlange an.

  • postqueue -p: Detaillierter Überblick über die Warteschlange, speziell in Postfix-Umgebungen.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von mailq.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf Dateien, die von mailq verwendet werden, wie z.B. Warteschlangenverzeichnisse.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. sendmail, postqueue.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man mailq
Eingereicht durch: schutzgeist

man

mkdir

mkdir Make Directory
mkdir (Make Directory):

Erstellt ein neues Verzeichnis im Dateisystem.

Linux-Befehl: mkdir
Anwendungsbeispiel:


Erstelle ein Verzeichnis namens new_folder im aktuellen Verzeichnis mit

mkdir new_folder.

Weitere Befehle und Optionen:


mkdir -p /path/to/directory:

Erstellt ein Verzeichnis und alle übergeordneten Verzeichnisse, falls diese noch nicht existieren.

mkdir -v new_folder:

Gibt eine Meldung aus, wenn das Verzeichnis erstellt wird.
mkdir -m 755 new_folder: Erstellt ein Verzeichnis mit den angegebenen Berechtigungen (z.B. 755).
Handbuch für den Befehl: man mkdir
Eingereicht durch: Schutzgeist

mkdirhier

mv

N

netstat

newaliases

newaliases


Der Befehl newaliases wird in Unix- und Linux-Systemen verwendet, um die Alias-Datenbank für das Mail-Transfer-Agent (MTA) System neu zu erstellen. Diese Datenbank speichert die Zuordnungen von E-Mail-Aliassen zu tatsächlichen E-Mail-Adressen. Der Befehl wird typischerweise verwendet, wenn Änderungen an der /etc/aliases Datei vorgenommen wurden, um sicherzustellen, dass diese Änderungen vom MTA erkannt und angewendet werden.

Verwendung von newaliases



  1. Bearbeiten der /etc/aliases Datei:

    • Die Datei /etc/aliases enthält eine Liste von E-Mail-Aliassen. Jeder Alias ist einem oder mehreren tatsächlichen E-Mail-Adressen zugeordnet.


    Beispiel:

    root: admin@irc-mania.com
    postmaster: root
    webmaster: webmaster @irc-mania.com


    In diesem Beispiel:

    • E-Mails an root werden an admin@irc-mania.com weitergeleitet.

    • E-Mails an postmaster werden an root (und damit an admin @irc-mania.com) weitergeleitet.

    • E-Mails an webmaster werden an webmaster@-irc-mania.com weitergeleitet.




  2. Anwenden der Änderungen mit newaliases:



    • Nachdem Du Änderungen an der /etc/aliases Datei vorgenommen hast, musst Du den newaliases Befehl ausführen, um die Alias-Datenbank zu aktualisieren.




    sudo newaliases



    • Dieser Befehl liest die /etc/aliases Datei und erstellt eine kompilierte Datenbank (normalerweise /etc/aliases.db), die vom MTA wie sendmail oder postfix verwendet wird.




  3. Überprüfen der Aliase:



    • Nach dem Ausführen von newaliases sind die neuen Alias-Zuordnungen aktiv und werden vom MTA verwendet. Es ist eine gute Praxis, nach der Aktualisierung von /etc/aliases und dem Ausführen von newaliases sicherzustellen, dass E-Mails an die aktualisierten Aliase korrekt zugestellt werden.




Typische Verwendung in Postfix und Sendmail



  • Postfix: Wenn Du Postfix als MTA verwendest, wird newaliases oft verwendet, um die Alias-Datenbank zu aktualisieren, da Postfix diese Datei benötigt, um Alias-Adressen aufzulösen.

  • Sendmail: newaliases ist auch ein integraler Bestandteil von Sendmail, einem anderen weit verbreiteten MTA, der die Alias-Datenbank verwendet, um E-Mails korrekt zuzustellen.



Der Befehl newaliases ist ein einfaches, aber wichtiges Werkzeug für die Verwaltung von E-Mail-Aliassen auf Unix- und Linux-Systemen. Es stellt sicher, dass der MTA die neuesten Alias-Zuordnungen verwendet, um E-Mails korrekt weiterzuleiten oder zuzustellen. Wenn Du Änderungen an der /etc/aliases Datei vornimmst, solltest Du immer newaliases ausführen, um die Änderungen zu übernehmen.

 
Eingereicht durch: schutzgeist

nmcli (NetworkManager Command Line Interface):

nmcli (NetworkManager Command Line Interface):


Ein Befehlszeilenwerkzeug, das zur Verwaltung von Netzwerkverbindungen auf Systemen mit NetworkManager verwendet wird. Mit nmcli kannst du Netzwerkverbindungen anzeigen, erstellen, ändern und löschen sowie den Status von Netzwerkgeräten überwachen.

Linux-Befehl: nmcli


 

Anwendungsbeispiel:

Überprüfe den Status aller Netzwerkgeräte und deren Verbindungen mit nmcli device status.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass die Netzwerkschnittstellen korrekt konfiguriert sind und der Server reibungslos läuft. Mit nmcli kannst du den Status der Netzwerkgeräte und -verbindungen auf deinem Server überprüfen und sicherstellen, dass alle Netzwerkschnittstellen, die für den Betrieb des IRC-Servers notwendig sind, ordnungsgemäß funktionieren.

Beispiel: Überprüfen des Status aller Netzwerkgeräte:

nmcli device status


Dieses Kommando zeigt dir eine Liste aller Netzwerkgeräte, ihren Status (verbunden oder getrennt) und die zugehörigen Verbindungen an. So kannst du sicherstellen, dass die Netzwerkschnittstelle, über die dein IRC-Server irc.irc-mania.net erreichbar ist, aktiv und verbunden ist.

Ähnliche Linux-Befehle:

  • ifconfig: Zeigt Netzwerkinterfaces und deren Konfiguration an (älterer Befehl, häufig durch ip ersetzt).

  • ip a: Zeigt die aktuellen Netzwerkadressen und -interfaces an.

  • nmcli connection: Verwaltet gespeicherte Netzwerkverbindungen (anzeigen, erstellen, löschen usw.). Siehe unten:

  • systemctl restart NetworkManager: Startet den NetworkManager-Dienst neu.


Schalteroptionen und ihre Funktionen:



  • nmcli device status: Zeigt den Status aller Netzwerkgeräte an.

  • nmcli connection show: Listet alle gespeicherten Netzwerkverbindungen auf.

  • nmcli connection up id Connection_Name: Aktiviert eine bestimmte Netzwerkverbindung.

  • nmcli connection down id Connection_Name: Deaktiviert eine bestimmte Netzwerkverbindung.

  • nmcli general status: Zeigt den allgemeinen Status von NetworkManager an.

  • nmcli networking on/off: Schaltet alle Netzwerkfunktionen ein oder aus.

  • nmcli radio wifi on/off: Schaltet die WLAN-Funktion ein oder aus.

  • nmcli connection add: Fügt eine neue Netzwerkverbindung hinzu.

  • nmcli device wifi list: Listet verfügbare WLAN-Netzwerke auf.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von nmcli.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. EXAMPLES
    Beispiele für die Verwendung von nmcli.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  7. EXIT STATUS
    Rückgabewerte und deren Bedeutung.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.

  9. AUTHOR
    Informationen über den Autor des Befehls.


Handbuch für den Befehl: man nmcli

 

 

nmcli connection:


 

Ein Befehl, der zur Verwaltung von Netzwerkverbindungen mit NetworkManager verwendet wird. Mit nmcli connection kannst du Verbindungen erstellen, anzeigen, ändern, löschen, aktivieren und deaktivieren.

Linux-Befehl: nmcli connection


Anwendungsbeispiel:
Zeige alle gespeicherten Netzwerkverbindungen an mit nmcli connection show.

Fallbeispiel im Bereich IRC (Internet Relay Chat):
Angenommen, Du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass Dein Server immer mit dem richtigen Netzwerk verbunden ist. Mit nmcli connection kannst Du die Netzwerkverbindungen auf deinem Server verwalten, um sicherzustellen, dass die Verbindung stabil und korrekt konfiguriert ist.

Beispiel: Überprüfen der aktuellen Netzwerkverbindungen:


nmcli connection show
Dieses Kommando zeigt dir eine Liste aller konfigurierten Verbindungen auf  Deinem Server, einschließlich der aktiven und inaktiven Verbindungen. Du kannst diese Informationen nutzen, um sicherzustellen, dass dein IRC-Server irc.irc-mania.net über die richtige Schnittstelle und Verbindung kommuniziert.

Ähnliche Linux-Befehle:

ifconfig: Zeigt Netzwerkinterfaces und deren Konfiguration an (älterer Befehl, häufig durch ip ersetzt).
ip a: Zeigt die aktuellen Netzwerkadressen und -interfaces an.
systemctl restart NetworkManager: Startet den NetworkManager-Dienst neu.
nmcli device: Zeigt den Status aller Netzwerkgeräte an.
Schalteroptionen und ihre Funktionen:
nmcli connection show: Listet alle gespeicherten Netzwerkverbindungen auf.
nmcli connection up id Connection_Name: Aktiviert eine bestimmte Netzwerkverbindung.
nmcli connection down id Connection_Name: Deaktiviert eine bestimmte Netzwerkverbindung.
nmcli connection add: Fügt eine neue Netzwerkverbindung hinzu.
nmcli connection edit id Connection_Name: Bearbeitet eine bestehende Netzwerkverbindung.
nmcli connection delete id Connection_Name: Löscht eine gespeicherte Netzwerkverbindung.

 

MAN-Überschriften:


NAME
Beschreibung des Befehls.

SYNOPSIS
Die grundlegende Syntax für die Verwendung von nmcli connection.

DESCRIPTION
Detaillierte Beschreibung, was der Befehl tut.

OPTIONS
Beschreibung aller verfügbaren Schalteroptionen.

EXAMPLES
Beispiele für die Verwendung von nmcli connection.

SEE ALSO
Verweise auf verwandte Befehle und Dokumentationen.

EXIT STATUS
Rückgabewerte und deren Bedeutung.

BUGS
Informationen zu bekannten Fehlern und deren Behebung.

AUTHOR
Informationen über den Autor des Befehls.

Handbuch für den Befehl: man nmcli

 
Eingereicht durch: schutzgeist

notify-send

notify-send - Linux Befehl


 

notify-send gehört zum "libnotify"Bibliothekspaket und wird verwendet um Popip-Fenster oder Benachrichtigungen auf den Desktop zu senden.

Ich persönlich erinnere mich so an tägliche arbeiten und muss dafür keine unseriöse Browsererweiterung nutzen, oder Drittsoftware.
In Verbindung mit Crontabs kannst Du Dir so regelmäßig nachrichten senden : "Checke Dein Postfach, prüfe was auch immer...."

 

Einfache Benachrichtigung:


Öffne Dein Terminal und gebe folgendes ein:

notify-send "Hallo Welt"

Dieser Befehl zeigt eine einfache Benachrichtigung mit dem Text "Hallo Welt" an.

 

Benachrichtigung mit Titel und Nachricht:


 
notify-send "Erinnerung" "Prüfe die IRC-Server Logs"

Hier wird eine Benachrichtigung mit dem Titel "Erinnerung" und dem Nachrichtentext "Prüfe die IRC-Server Logs" angezeigt.

 

Benachrichtigung mit Ablaufzeit:


notify-send -t 10000 "Pause" "Relaxe für 10 Minute"

Diese Benachrichtigung wird für 10000 Millisekunden (10 Sekunden) angezeigt und verschwindet dann automatisch.

 

Benachrichtigung mit Icon:


 
notify-send -i info "Update" "Dein IRC-Server ist aktuell!  "

Zeigt eine Benachrichtigung mit einem Info-Symbol und dem Text "Dein IRC-Server ist aktuell!" an

Um eigene Bilder als Icons zu verwenden, gib einfach den vollen Pfad zum Bild an. Nehmen wir an, Du hast ein Bild namens mein-icon.png in Deinem Home-Verzeichnis. Du kannst es dann mit dem notify-send Befehl wie folgt verwenden:
notify-send -i /home/dein_username/mein-icon.png "Titel" "Nachrichtentext"

 

Die verfügbaren Icons, die Du mit notify-send -i verwenden kannst, hängen von den Icon-Themen ab, die auf Ihrem Linux-System installiert sind. Normalerweise sind diese Icons Teil der Standard-Icon-Themen wie Adwaita, Faenza, Papirus oder anderen, die Du möglicherweise installiert hast.

Um eine Liste der verfügbaren Icons zu erhalten, können Sie die Icons im Icons-Verzeichnis Ihres Systems durchsuchen. Die gängigen Pfade für diese Verzeichnisse sind:

/usr/share/icons/
~/.local/share/icons/
/usr/share/pixmaps/
In diesen Verzeichnissen findest  Du verschiedene Icons, die in unterschiedlichen Größen und für verschiedene Zwecke verfügbar sind. Du kannst den Namen eines Icons ohne die Dateierweiterung verwenden. Zum Beispiel, wenn Du ein Icon namens IRC-smile.png in einem dieser Verzeichnisse findest, kannst Du es it notify-send -i IRC-smile verwenden.

Einige allgemeine Icon-Namen, die oft verfügbar sind, umfassen:

info: Für allgemeine Informationsmeldungen.
warning: Für Warnmeldungen.
error: Für Fehlermeldungen.
dialog-information: Für detaillierte Informationsmeldungen.
dialog-warning: Für detaillierte Warnmeldungen.
dialog-error: Für detaillierte Fehlermeldungen.

Benachrichtigung mit Dringlichkeitsstufe:


notify-send -u critical "Warnung" "Niedriger Batteriestand!"

Hier wird eine kritische Benachrichtigung über einen niedrigen Batteriestand angezeigt. Dringlichkeitsstufen können low, normal oder critical sein.

Benachrichtigung mit angegebenem Kategorie:



notify-send -c "email.arrived" "Neue E-Mail" "Sie haben eine neue Nachricht erhalten"

Dieser Befehl erstellt eine Benachrichtigung in der Kategorie "email.arrived".

Benachrichtigung mit Sound:



notify-send "Erinnerung" "Vergiss nicht das die Softwareupdates!" -i dialog-information -t 5000 -a "Kalender"

Diese Benachrichtigung kommt mit einem Standard-Sound (abhängig von den Systemeinstellungen), einem Icon und einem Applikationsnamen "Kalender".

Sofern dieser noch einen Ton zur Verfügung hat.  Siehe Settings.

 

ntpd (Network Time Protocol Daemon)
ntpd (Network Time Protocol Daemon)

Ein Dienstprogramm, das verwendet wird, um die Systemzeit eines Computers mit einem Netzwerkzeitserver zu synchronisieren. ntpd hält die Uhrzeit deines Systems kontinuierlich in Übereinstimmung mit UTC, indem es regelmäßig die Zeit von NTP-Servern abruft und Anpassungen an der Systemzeit vornimmt.

Linux-Befehl: ntpd

Anwendungsbeispiel:
Starte den ntpd-Dienst, um die Systemzeit automatisch mit einem NTP-Server zu synchronisieren.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, bei dem die genaue Zeit entscheidend ist, um sicherzustellen, dass Chat-Protokolle und Nachrichten korrekt mit Zeitstempeln versehen werden. Mit ntpd kannst du sicherstellen, dass die Systemzeit immer präzise ist, indem du sie kontinuierlich mit einem NTP-Server synchronisierst.

Beispiel: Starten des ntpd-Dienstes:

bash


sudo systemctl start ntpd


Dieser Befehl startet den ntpd-Dienst, der die Systemzeit deines IRC-Servers irc.irc-mania.net regelmäßig mit einem NTP-Server synchronisiert. Dies ist besonders nützlich, um sicherzustellen, dass alle Zeitstempel in den Server-Protokollen und Nachrichten genau und konsistent sind.

Ähnliche Linux-Befehle:

  • chronyd: Ein alternativer NTP-Daemon, der in vielen modernen Linux-Distributionen verwendet wird und schneller auf Änderungen in der Netzwerkzeit reagiert.

  • timedatectl: Verwaltet Systemzeit, Datum und Zeitzone und kann die NTP-Synchronisation aktivieren oder deaktivieren.

  • hwclock: Verwendet zur Verwaltung der Hardware-Uhr, kann indirekt durch ntpd beeinflusst werden.

  • ntpdate: Ein einfaches Dienstprogramm zur einmaligen Synchronisation der Systemzeit mit einem NTP-Server (wird oft vor ntpd ausgeführt).


Schalteroptionen und ihre Funktionen:



  • ntpd -q: Führt eine einmalige Synchronisation der Zeit durch und beendet den Daemon danach.

  • ntpd -g: Erlaubt eine große Zeitverschiebung beim ersten Synchronisieren, um die Systemzeit sofort zu korrigieren, wenn sie stark abweicht.

  • ntpd -x: Verlangsamt die Anpassung der Systemzeit, um eine plötzliche Zeitänderung zu vermeiden (nützlich bei Diensten, die empfindlich auf Zeitänderungen reagieren).

  • ntpd -d: Startet ntpd im Debug-Modus, um detaillierte Informationen über den Synchronisationsprozess anzuzeigen.

  • ntpd -n: Startet ntpd im Vordergrund, ohne in den Hintergrund zu wechseln, was für Debugging-Zwecke nützlich ist.

  • ntpd -p /path/to/pidfile: Gibt den Speicherort der PID-Datei an, die ntpd beim Start erstellt.


Wichtige Hinweise:



  • Zeitgenauigkeit: Eine korrekte Zeitsynchronisation ist entscheidend für viele Dienste, insbesondere für Authentifizierung, Protokollierung und Zeitstempel in Netzwerken. ntpd sorgt dafür, dass die Systemzeit genau und synchron bleibt.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von ntpd.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere im Kontext der Zeitsynchronisation.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/ntp.conf, die die Konfiguration von ntpd steuern.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. chronyd, timedatectl, ntpdate.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man ntpd
Eingereicht durch: Schutzgeist

ntpdate

ntpdate


Ein Dienstprogramm, das verwendet wird, um die Systemzeit einmalig mit einem Netzwerkzeitserver zu synchronisieren. ntpdate wird häufig verwendet, um die Zeit schnell zu korrigieren, bevor ein kontinuierlich laufender NTP-Daemon wie ntpd gestartet wird. Es führt eine sofortige Synchronisation der Systemzeit durch, kann aber keine kontinuierliche Zeitpflege durchführen.

Linux-Befehl: ntpdate

Anwendungsbeispiel:
Synchronisiere die Systemzeit einmalig mit einem NTP-Server mit ntpdate pool.ntp.org.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und stellst fest, dass die Systemzeit leicht abweicht, was zu Problemen mit Zeitstempeln und Synchronisation führt. Bevor du den ntpd-Dienst startest, kannst du ntpdate verwenden, um die Systemzeit sofort mit einem NTP-Server zu synchronisieren und so sicherzustellen, dass alle nachfolgenden Dienste und Protokolle mit der korrekten Zeit arbeiten.

Beispiel: Einmalige Synchronisation der Systemzeit mit dem NTP-Server pool.ntp.org:

bash


sudo ntpdate pool.ntp.org


Dieser Befehl stellt sicher, dass die Systemzeit deines IRC-Servers irc.irc-mania.net sofort auf die korrekte Zeit eingestellt wird, bevor du andere Dienste startest oder die Zeit mit einem NTP-Daemon kontinuierlich pflegen lässt.

Ähnliche Linux-Befehle:

  • ntpd: Ein Daemon, der die Systemzeit kontinuierlich mit einem NTP-Server synchronisiert.

  • chronyd: Ein alternativer NTP-Daemon, der eine schnelle Reaktion auf Zeitänderungen bietet.

  • timedatectl: Verwendet zur Verwaltung von Systemzeit, Datum und Zeitzone, einschließlich der Aktivierung von NTP-Synchronisation.

  • hwclock: Synchronisiert die Hardware-Uhr mit der Systemzeit oder umgekehrt.


Schalteroptionen und ihre Funktionen:



  • ntpdate -q server: Führt eine "Abfrage" des angegebenen NTP-Servers durch und zeigt die Zeitdifferenz an, ohne die Systemzeit zu ändern.

  • ntpdate -b server: Verwendet eine harte Zeiteinstellung (settimeofday()), um die Zeit sofort zu ändern, anstatt sie langsam anzupassen.

  • ntpdate -u server: Verwendet ein nicht privilegiertes UDP-Port für die Kommunikation mit dem NTP-Server, was nützlich ist, wenn das System bestimmte Ports blockiert.

  • ntpdate -d server: Führt eine Debug-Sitzung durch, bei der die Schritte der Synchronisation angezeigt werden, ohne die Systemzeit tatsächlich zu ändern.

  • ntpdate -s server: Führt die Synchronisation still durch, ohne Ausgaben zu erzeugen (Silent-Modus).


Wichtige Hinweise:



  • Einmalige Synchronisation: ntpdate wird nicht mehr für kontinuierliche Zeitsynchronisation empfohlen, sondern nur für einmalige Zeitkorrekturen, insbesondere vor dem Starten eines NTP-Daemons.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von ntpdate.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere im Kontext der einmaligen Zeitsynchronisation.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Konfigurationsdateien, wenn sie verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. ntpd, chronyd, timedatectl.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man ntpdate
Eingereicht durch: Schutzgeist

O

Open Relay Protocol : SMTP (Simple Mail Transfer Protocol)
Kleiner Exkurs: Open Relay Protocol : SMTP

Der Begriff "open relay" bezieht sich auf ein SMTP-Protokoll (Simple Mail Transfer Protocol). SMTP ist das Protokoll, das für den Versand von E-Mails über das Internet verwendet wird.

Was ist ein Open Relay?


Ein "Open Relay" ist ein SMTP-Server, der so konfiguriert ist, dass er E-Mails von jedem Absender an jeden Empfänger weiterleitet, unabhängig von den Domainen des Absenders oder Empfängers. Das bedeutet, dass jeder, der Zugriff auf den SMTP-Server hat, ihn nutzen kann, um E-Mails weiterzuleiten, ohne authentifiziert werden zu müssen.

Warum ist ein Open Relay problematisch?



  • Missbrauch durch Spammer: Open Relay-Server sind besonders anfällig für Missbrauch durch Spammer. Da diese Server E-Mails ohne Einschränkungen weiterleiten, können Spammer sie nutzen, um große Mengen von Spam-E-Mails zu verschicken. Dies führt nicht nur zu einer Zunahme von unerwünschten E-Mails, sondern kann auch dazu führen, dass der Open Relay-Server auf E-Mail-Blacklists gesetzt wird, wodurch legitime E-Mails von diesem Server blockiert werden.

  • Sicherheitsrisiken: Ein offener Relay-Server stellt ein erhebliches Sicherheitsrisiko dar, da er ohne Einschränkungen für den Versand von E-Mails verwendet werden kann. Dies kann zu einer Belastung der Serverressourcen führen und die Reputation der Domain, die den Server hostet, schädigen.


Bezug zu SMTP


Das SMTP-Protokoll ist eng mit dem Konzept des Open Relays verbunden, da es für den Versand und die Weiterleitung von E-Mails zuständig ist. In der Vergangenheit waren viele SMTP-Server als Open Relays konfiguriert, was damals als Standard galt. Heute jedoch sind Open Relays aus den oben genannten Gründen eine schlechte Praxis und werden in den meisten modernen E-Mail-Server-Konfigurationen vermieden.

Zusammenfassung


Wenn Du gefragt wirst, welches Protokoll mit dem Begriff "open relay" in Verbindung steht, lautet die Antwort SMTP (Simple Mail Transfer Protocol). Ein Open Relay ist ein SMTP-Server, der E-Mails ohne Authentifizierung weiterleitet, was erhebliche Sicherheitsrisiken birgt und häufig von Spammern missbraucht wird.
Eingereicht durch: schutzgeist

P

passwd





Ein Befehl, der verwendet wird, um das Passwort eines Benutzerkontos zu ändern. Mit passwd können Benutzer ihr eigenes Passwort ändern, und Administratoren können die Passwörter anderer Benutzer ändern, das Konto sperren oder entsperren und andere Einstellungen wie das Ablaufdatum des Passworts konfigurieren.

Linux-Befehl: passwd


Anwendungsbeispiel:
Ändere das Passwort für den aktuellen Benutzer mit passwd.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass das Passwort des Benutzerkontos ircadmin, das für die Verwaltung des Servers verantwortlich ist, regelmäßig geändert wird, um die Sicherheit zu gewährleisten. Mit passwd kannst du das Passwort für ircadmin ändern und gleichzeitig sicherstellen, dass das Konto durch ein starkes Passwort geschützt bleibt.

Beispiel: Ändern des Passworts für das Konto ircadmin:

bash


sudo passwd ircadmin


Dieser Befehl fordert dich auf, ein neues Passwort für ircadmin einzugeben und es zu bestätigen. Dadurch stellst du sicher, dass das Konto, das für die Verwaltung des IRC-Servers irc.irc-mania.net verwendet wird, durch ein aktuelles und sicheres Passwort geschützt ist.

Ähnliche Linux-Befehle:

  • chage: Verwendet, um Passwort-Ablaufinformationen eines Benutzerkontos anzuzeigen oder zu ändern.

  • usermod: Kann verwendet werden, um Benutzereinstellungen zu ändern, einschließlich der Option, das Konto zu sperren oder zu entsperren.

  • gpasswd: Verwaltet die Passwörter von Gruppen, ähnlich wie passwd für Benutzer.

  • sudo: Führt Befehle als Superuser aus, oft in Verbindung mit passwd, um Passwörter für andere Benutzer zu ändern.


Schalteroptionen und ihre Funktionen:



  • passwd: Ändert das Passwort für den aktuellen Benutzer.

  • passwd username: Ändert das Passwort für einen anderen Benutzer (nur für Administratoren).

  • passwd -l username: Sperrt das Konto eines Benutzers, indem das Passwort deaktiviert wird.

  • passwd -u username: Entsperrt ein gesperrtes Benutzerkonto.

  • passwd -d username: Löscht das Passwort eines Benutzers, sodass beim nächsten Login kein Passwort abgefragt wird (dies kann das Konto unsicher machen).

  • passwd -e username: Erzwingt, dass der Benutzer beim nächsten Login sein Passwort ändert.

  • passwd -n days username: Setzt die minimale Anzahl von Tagen, die zwischen Passwortänderungen liegen müssen.

  • passwd -x days username: Setzt die maximale Anzahl von Tagen, bevor das Passwort abläuft und geändert werden muss.

  • passwd -w days username: Setzt die Anzahl von Tagen, bevor eine Warnung über das Ablaufen des Passworts ausgegeben wird.


Wichtige Hinweise:



  • Sicherheit: Es ist wichtig, starke und sichere Passwörter zu verwenden und regelmäßige Passwortänderungen zu erzwingen, um die Sicherheit von Benutzerkonten, insbesondere von Administratoren, zu gewährleisten.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von passwd.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/passwd und /etc/shadow, die von passwd verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. chage, usermod.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man passwd




Eingereicht durch: Schutzgeist

pinfo

ping

pool.ntp.org

pool.ntp.org


Ein globales Netzwerk von öffentlich zugänglichen NTP-Servern, das zur Zeitsynchronisation verwendet wird. Der pool.ntp.org-Dienst stellt eine Vielzahl von NTP-Servern zur Verfügung, die in verschiedenen geografischen Regionen verteilt sind, um eine zuverlässige und genaue Zeitsynchronisation für Computer und andere Geräte weltweit zu ermöglichen.

Hauptmerkmale:

  1. Globale Verfügbarkeit:
    Der pool.ntp.org-Dienst umfasst Tausende von NTP-Servern weltweit, die in regionalen Pools zusammengefasst sind, um eine hohe Verfügbarkeit und geringe Latenz zu gewährleisten.

  2. Automatische Lastverteilung:
    Wenn ein Gerät eine Anfrage an pool.ntp.org sendet, wird es automatisch zu einem verfügbaren NTP-Server in seiner Nähe weitergeleitet, was die Last auf den Servern verteilt und die Wahrscheinlichkeit erhöht, einen zuverlässigen Zeitserver zu erreichen.

  3. Regionale Pools:
    Es gibt regionale DNS-Namen, wie de.pool.ntp.org für Deutschland oder us.pool.ntp.org für die USA, die es ermöglichen, gezielt NTP-Server in bestimmten Regionen zu verwenden, was die Latenz weiter reduziert.

  4. Einfache Konfiguration:
    Die Verwendung von pool.ntp.org ist einfach und erfordert keine spezielle Konfiguration außer der Angabe des Pool-Namens in der NTP-Konfiguration.


Beispielkonfiguration für ntpd:


In der Konfigurationsdatei /etc/ntp.conf könntest du pool.ntp.org wie folgt eintragen:


pool pool.ntp.org iburst


Der Parameter iburst sorgt dafür, dass bei einem erstmaligen Verbindungsaufbau eine schnellere Synchronisation stattfindet, indem mehrere Anfragen in kurzen Abständen gesendet werden.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, bei dem es wichtig ist, dass die Zeit korrekt synchronisiert ist, um genaue Zeitstempel in Chat-Protokollen und Nachrichten zu gewährleisten. Du kannst pool.ntp.org verwenden, um sicherzustellen, dass die Systemzeit des Servers immer korrekt und auf die Sekunde genau ist.

Beispiel: Verwende pool.ntp.org zur Zeitsynchronisation in der ntpd-Konfiguration:


server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst


Diese Konfiguration stellt sicher, dass der IRC-Server regelmäßig die Zeit von verschiedenen NTP-Servern im pool.ntp.org-Netzwerk abruft, wodurch die Zeit auf dem Server genau und stabil bleibt.

Ähnliche Dienste:

  • Google Public NTP: Bietet ähnliche Dienste an, jedoch von Google gehostet.

  • Microsoft NTP Server: Wird standardmäßig in Windows-Systemen verwendet.

  • National Institute of Standards and Technology (NIST): Bietet NTP-Dienste, die oft in den USA verwendet werden.


Wichtige Hinweise:



  • Zuverlässigkeit: pool.ntp.org wird von einer großen Gemeinschaft unterstützt, was es zu einer zuverlässigen Quelle für die Zeitsynchronisation macht. Es ist wichtig, regelmäßig sicherzustellen, dass der Server korrekt mit einem NTP-Dienst synchronisiert ist, um Abweichungen in der Systemzeit zu vermeiden.


Weitere Informationen findest du unter: pool.ntp.org
Eingereicht durch: Schutzgeist

ps

ps (Process Status):


Zeigt eine Liste der aktuellen laufenden Prozesse an. Es kann verwendet werden, um Informationen über Prozesse wie PID, Benutzer, CPU-Auslastung und mehr abzurufen.

Linux-Befehl: ps Anwendungsbeispiel:


Zeige alle laufenden Prozesse des aktuellen Benutzers an mit

ps -u $USER.

Weitere PS-Befehle und Optionen:


ps aux: Zeigt alle laufenden Prozesse auf dem System, einschließlich der Prozesse anderer Benutzer.
ps -ef: Zeigt eine vollständige Liste aller Prozesse im systemweiten Format an.
ps -p PID: Zeigt Informationen zu einem spezifischen Prozess anhand seiner PID an.
ps -C command: Zeigt Prozesse, die mit einem bestimmten Befehl ausgeführt werden.

MAN-Befehl: man ps
Eingereicht durch: Schutzgeist

pwd

R

RDP Remote Desktop Protocol Exkurs
Remote Desktop Protocol (RDP) ist ein proprietäres Protokoll, das von Microsoft entwickelt wurde und es einem Benutzer ermöglicht, sich remote mit einem anderen Computer zu verbinden und diesen zu steuern, als säße er direkt davor.

RDP wird häufig verwendet, um auf Windows-Desktops und -Server aus der Ferne zuzugreifen, kann aber auch auf Linux und macOS eingesetzt werden, entweder durch native Unterstützung oder durch Drittanbieter-Software.

Hauptmerkmale von RDP:



  1. Fernsteuerung des Desktops:

    • RDP ermöglicht es Benutzern, eine grafische Benutzeroberfläche (GUI) eines entfernten Computers anzuzeigen und zu steuern. Dies beinhaltet die vollständige Kontrolle über den Desktop, Anwendungen und Dateien des entfernten Systems.



  2. Sitzungsbasierter Zugriff:

    • RDP unterstützt mehrere gleichzeitige Sitzungen, was bedeutet, dass mehrere Benutzer gleichzeitig mit unterschiedlichen Sitzungen auf denselben Server zugreifen können, ohne sich gegenseitig zu beeinflussen.



  3. Datenverschlüsselung:

    • RDP verwendet standardmäßig eine starke Verschlüsselung, um die Datenübertragung zwischen dem Client und dem Server zu schützen. Dies hilft, die Privatsphäre und Sicherheit bei der Remote-Verbindung zu gewährleisten.



  4. Umleitung von Ressourcen:

    • RDP kann lokale Ressourcen wie Drucker, Dateien, Zwischenablage und sogar Laufwerke vom lokalen Computer zum Remote-Computer weiterleiten, sodass Benutzer bequem Dateien übertragen oder lokale Drucker verwenden können, während sie mit dem Remote-Desktop verbunden sind.



  5. Netzwerkadaption:

    • RDP passt sich an die Netzwerkbedingungen an, um eine möglichst flüssige Benutzererfahrung zu gewährleisten, selbst bei langsamen oder instabilen Verbindungen. Es kann beispielsweise die Bildqualität anpassen, um die Leistung zu optimieren.




Verwendung von RDP:



  • Windows-Client: Windows-Betriebssysteme wie Windows 10 und Windows Server bieten integrierte Unterstützung für RDP. Der RDP-Client wird in Windows als „Remotedesktopverbindung“ bezeichnet und kann durch Eingabe von mstsc in die Befehlszeile gestartet werden.

    • Verbindung herstellen:


      mstsc /v:remote_ip_address




  • Linux-Client: Linux-Benutzer können verschiedene Tools verwenden, um eine Verbindung zu einem RDP-Server herzustellen, wie z. B. Remmina, rdesktop, FreeRDP, oder Vinagre.

    • Verbindung herstellen mit Remmina:


      remmina


      (Dann die RDP-Verbindung einrichten und den entfernten Host angeben.)

    • Verbindung herstellen mit FreeRDP:


      xfreerdp /v:remote_ip_address /u:username




  • macOS-Client: macOS-Benutzer können den Microsoft Remote Desktop-Client aus dem Mac App Store herunterladen, um sich mit RDP-Servern zu verbinden.


Serverseitige Einrichtung:



  • Windows-Server:

    • Auf Windows-Servern ist RDP standardmäßig aktiviert, insbesondere bei Server-Versionen wie Windows Server 2016/2019.

    • Auf einem normalen Windows-Desktop (Pro-Versionen) muss RDP manuell in den Systemeinstellungen unter „Remote-Einstellungen“ aktiviert werden.



  • Linux-Server:

    • Auf einem Linux-Server kann RDP mit Hilfe von Software wie xrdp eingerichtet werden, die es einem RDP-Client ermöglicht, sich mit einem Linux-Desktop zu verbinden.

    • Installation von xrdp (Debian/Ubuntu):


      sudo apt-get install xrdp
      sudo systemctl enable xrdp
      sudo systemctl start xrdp


    • Verbindung herstellen:

      • Nach der Installation von xrdp kann der Benutzer über einen RDP-Client auf den Linux-Desktop zugreifen, indem er die IP-Adresse des Linux-Servers angibt.






Sicherheitsaspekte von RDP:



  • Sicherer Zugang: RDP sollte immer über ein VPN oder über eine sichere Verbindung (z.B. TLS/SSL) verwendet werden, um sicherzustellen, dass der Zugriff auf den Remote-Desktop geschützt ist.

  • Zwei-Faktor-Authentifizierung (2FA): Es ist empfehlenswert, 2FA zu implementieren, um die Sicherheit zu erhöhen.

  • Beschränkung des Zugangs: Der Zugang zu RDP sollte auf vertrauenswürdige IP-Adressen beschränkt werden, um das Risiko von Brute-Force-Angriffen zu minimieren.

  • Automatische Sperrung von Benutzerkonten: Aktivieren Sie die automatische Sper

Eingereicht durch: Schutzgeist

rmdir

rsync

rsyslog

rsyslog


Ein leistungsstarkes und flexibles System zur Protokollierung von Nachrichten, das für die Verwaltung von Log-Dateien auf Unix-ähnlichen Betriebssystemen wie Linux verwendet wird. rsyslog ist eine Weiterentwicklung des ursprünglichen Syslog-Daemons und bietet erweiterte Funktionen wie die Protokollierung in verschiedene Ausgaben (Dateien, Datenbanken, Remote-Server), Filterregeln, Vorlagen und Unterstützung für das Verschicken von Log-Daten über das Netzwerk.

Linux-Befehl: rsyslog


Anwendungsbeispiel:
Konfiguriere rsyslog, um Systemmeldungen an eine zentrale Log-Datei oder einen Remote-Log-Server zu senden.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass alle Systemmeldungen und Protokolle des IRC-Dienstes zentral erfasst und bei Bedarf analysiert werden können. Mit rsyslog kannst du die Protokollierung so konfigurieren, dass alle relevanten Logs in einer spezifischen Datei gespeichert oder an einen zentralen Log-Server weitergeleitet werden.

Beispiel: Konfiguration zur Protokollierung von IRC-Server-Meldungen:



  1. Öffne die rsyslog-Konfigurationsdatei, z.B. /etc/rsyslog.conf oder eine spezifische Datei in /etc/rsyslog.d/.

  2. Füge eine Regel hinzu, um IRC-bezogene Nachrichten in eine spezifische Log-Datei zu schreiben:


    if $programname == 'ircd' then /var/log/ircd.log
    & ~


  3. Starte rsyslog neu, um die Konfiguration zu übernehmen:


    sudo systemctl restart rsyslog



Diese Konfiguration leitet alle Nachrichten, die vom IRC-Daemon ircd stammen, in die Datei /var/log/ircd.log und verhindert, dass sie in den allgemeinen Log-Dateien erscheinen.

Ähnliche Linux-Befehle:

  • syslog-ng: Ein alternatives, leistungsstarkes Log-Management-Tool mit ähnlichen Funktionen wie rsyslog.

  • journalctl: Verwendet zur Abfrage von Systemd-Logs, die vom systemd-journald-Dienst gesammelt werden.

  • logger: Ein Befehl, der verwendet wird, um benutzerdefinierte Nachrichten direkt an den Syslog-Daemon zu senden.

  • logrotate: Verwendet zur Verwaltung von Log-Dateien, indem diese regelmäßig rotiert, komprimiert und gelöscht werden.


Schalteroptionen und ihre Funktionen:



  • rsyslogd: Der Daemon selbst, der für das Sammeln und Weiterleiten von Log-Meldungen verantwortlich ist.

  • rsyslogd -n: Startet rsyslogd im Vordergrund, was nützlich für Debugging-Zwecke ist.

  • rsyslogd -f /path/to/config: Verwendet eine alternative Konfigurationsdatei anstelle der Standarddatei /etc/rsyslog.conf.

  • rsyslogd -d: Führt rsyslogd im Debug-Modus aus, um detaillierte Informationen über die Log-Verarbeitung zu erhalten.

  • rsyslogd -c version: Gibt an, welche Kompatibilitätsversion von rsyslog verwendet werden soll.

  • rsyslogd -N1: Überprüft die Konfigurationsdatei auf Syntaxfehler, ohne den Daemon zu starten.

  • rsyslogd -N2: Startet den Daemon und überprüft die Konfiguration, ohne die Log-Verarbeitung durchzuführen.


Wichtige Hinweise:



  • Konfigurationsflexibilität: rsyslog bietet eine hohe Flexibilität bei der Konfiguration, was es ermöglicht, sehr spezifische Anforderungen an die Protokollierung zu erfüllen. Die Konfigurationssyntax erfordert jedoch sorgfältige Planung, insbesondere bei komplexen Setups.

  • Netzwerkprotokollierung: rsyslog kann Log-Nachrichten sicher über das Netzwerk zu einem zentralen Log-Server senden, was für große Umgebungen mit vielen Servern nützlich ist.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von rsyslogd.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere die Verwaltung und Weiterleitung von Log-Nachrichten.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Konfigurationsdateien wie /etc/rsyslog.conf.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. syslog-ng, journalctl, logger.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man rsyslogd
Eingereicht durch: Schutzgeist

S

sed

setxkbmap

setxkbmap


 

Ein Befehl, der verwendet wird, um das Tastaturlayout und die Tastaturoptionen auf einem X-Server (wie in grafischen Linux-Umgebungen verwendet) zu konfigurieren. Mit diesem Befehl kannst du das Tastaturlayout ändern, die Tastaturbelegung anpassen und zusätzliche Optionen wie die Belegung der Caps Lock- oder Alt-Tasten festlegen.

Linux-Befehl: setxkbmap


Anwendungsbeispiel:
Wechsle das Tastaturlayout auf Deutsch (Deutschland) mit setxkbmap de.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und verwendest eine spezielle Tastaturbelegung für bestimmte Sprachen oder Symbole während der Konfiguration oder Verwaltung des Servers. Wenn du häufig zwischen verschiedenen Tastaturlayouts wechseln musst, kann der Befehl setxkbmap helfen, das Layout schnell anzupassen.

Beispiel: Wechseln des Tastaturlayouts auf US-amerikanisch (QWERTY), wenn du gerade in einer Sitzung auf irc.irc-mania.net arbeitest:


setxkbmap us


Mit diesem Befehl stellst du sicher, dass deine Tastatur auf das US-Layout eingestellt ist, was nützlich sein kann, wenn du beispielsweise Konfigurationsdateien bearbeitest oder Skripte ausführst, die eine spezifische Tastenbelegung erfordern.

Ähnliche Linux-Befehle:

  • xmodmap: Verwendet zum Anpassen von Tastaturzuweisungen unter X.

  • localectl: Verwendet zum Festlegen von System-Locale und Tastaturlayout-Einstellungen.

  • loadkeys: Lädt ein Tastaturlayout für die Konsole (nicht für X).


Schalteroptionen und ihre Funktionen:



  • setxkbmap [layout]: Legt das Tastaturlayout fest, z.B. setxkbmap us für das US-Layout.

  • setxkbmap -layout layout: Gibt das Layout explizit an, z.B. setxkbmap -layout de für das deutsche Layout.

  • setxkbmap -model model: Legt das Tastaturmodell fest, z.B. setxkbmap -model pc105.

  • setxkbmap -option option: Fügt eine oder mehrere Optionen hinzu, z.B. setxkbmap -option ctrl:nocaps für die Verwendung der Caps Lock-Taste als zusätzliche Strg-Taste.

  • setxkbmap -variant variant: Verwendet eine spezielle Variante eines Layouts, z.B. setxkbmap -variant dvorak für das Dvorak-Layout.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von setxkbmap.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. ENVIRONMENT
    Hinweise auf Umgebungsvariablen, die setxkbmap beeinflussen können.

  6. FILES
    Hinweise auf relevante Dateien, die von setxkbmap verwendet werden.

  7. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  8. AUTHOR
    Informationen über den Autor des Befehls.

  9. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man setxkbmap
Eingereicht durch: Schutzgeist

shutdown

SKEL (Skeleton Directory)

SKEL (Skeleton Directory):


Das Verzeichnis /etc/skel enthält Vorlagendateien und -verzeichnisse, die in jedes neue Benutzerverzeichnis kopiert werden, wenn ein neues Benutzerkonto erstellt wird. Dies stellt sicher, dass alle Benutzer standardmäßige Konfigurationsdateien erhalten.

Linux-Befehl: cp -r /etc/skel/* /home/newuser/

Anwendungsbeispiel:
Wenn ein neuer Benutzer mit useradd username erstellt wird, werden alle Dateien aus /etc/skel in das Home-Verzeichnis des neuen Benutzers kopiert.

Weitere Befehle und Optionen:

  • ls /etc/skel: Zeigt den Inhalt des skel-Verzeichnisses an.

  • cp /etc/skel/.bashrc ~/.bashrc: Kopiert die .bashrc-Datei aus dem skel-Verzeichnis in das Home-Verzeichnis des aktuellen Benutzers.


MAN-Befehl: man useradd (Abschnitt über /etc/skel)

slocate

snort

source
source: Kopie
Lädt und führt eine Datei im aktuellen Shell-Kontext aus, wodurch alle darin definierten Variablen und Funktionen in der aktuellen Sitzung verfügbar werden. Ähnlich dem .-Befehl.

Linux-Befehl: source

Anwendungsbeispiel:
Lade eine Konfigurationsdatei neu mit source ~/.bashrc, damit Änderungen ohne Neustart der Shell wirksam werden.

Weitere Befehle und Optionen:

  • source filename: Führt die Datei filename aus, sodass ihre Inhalte im aktuellen Shell-Kontext verfügbar werden.

  • source /path/to/script.sh: Führt ein bestimmtes Skript im aktuellen Shell-Kontext aus.


Handbuch für den Befehl: man bash (Abschnitt über Shell-Builtins)

source .bashrc

source .bashrc:


Dieser Befehl lädt die .bashrc-Datei neu in die aktuelle Shell-Sitzung. Die .bashrc-Datei enthält benutzerspezifische Konfigurationen, wie Aliase, Funktionen und Umgebungsvariablen, die bei jedem Start einer neuen Bash-Shell ausgeführt werden.

Linux-Befehl: source .bashrc
Anwendungsbeispiel:

Nach dem Ändern der .bashrc-Datei, wie z.B. dem Hinzufügen eines neuen Aliases, führe source ~/.bashrc aus, um die Änderungen sofort in der aktuellen Sitzung wirksam werden zu lassen, ohne die Shell neu zu starten.

Handbuch für den Befehl: man bash (Abschnitt über Shell-Builtins)
Eingereicht durch: Schutzgeist

Sourcing von Dateien

Sourcing von Dateien mit .


Bourne Shell Builtins


 

Sourcing von Dateien mit . (Punkt):


Der Punkt . ist ein Bash-Befehl, der verwendet wird, um eine Datei in die aktuelle Shell-Umgebung zu laden, anstatt eine neue Shell zu starten. Alle in der Datei definierten Variablen und Funktionen stehen danach in der aktuellen Sitzung zur Verfügung.

Linux-Befehl: .

Anwendungsbeispiel:
Lade eine Konfigurationsdatei mit . ~/.bashrc, um Änderungen in der aktuellen Shell-Sitzung anzuwenden.


Weitere Befehle und Optionen:

  • . ./skript.sh: Führt skript.sh im aktuellen Shell-Kontext aus.

  • source ./skript.sh: Ein alternativer Befehl zu . mit der gleichen Funktionalität.


MAN-Befehl: man bash (Abschnitt über "Bourne Shell Builtins")

 

SPICE (Simple Protocol for Independent Computing Environments):

SPICE (Simple Protocol for Independent Computing Environments):


Ein Open-Source-Protokoll, das für die Bereitstellung von Remote-Desktop-Funktionalitäten entwickelt wurde. SPICE ermöglicht es, die Benutzeroberfläche von virtuellen Maschinen (VMs) über das Netzwerk bereitzustellen, sodass Benutzer mit diesen Maschinen interagieren können, als ob sie sich direkt davor befänden. SPICE bietet eine verbesserte Benutzererfahrung durch Unterstützung für Audio, Video, USB-Umleitung und mehr.

 

SPICE (Simple Protocol for Independent Computing Environments) ist ein Protokoll und eine Technologie, die für die Bereitstellung von Remote-Desktop-Umgebungen entwickelt wurde. SPICE ermöglicht es Benutzern, auf virtuelle Maschinen (VMs) zuzugreifen und diese so zu steuern, als säßen sie direkt vor einem physischen Computer. SPICE wurde von Red Hat entwickelt und wird hauptsächlich in Virtualisierungsumgebungen wie KVM (Kernel-based Virtual Machine) und QEMU verwendet.

Hauptmerkmale von SPICE:



  1. Remote-Desktop-Zugriff:

    • SPICE ermöglicht den Zugriff auf den Desktop einer virtuellen Maschine von einem entfernten Standort aus. Der Benutzer kann dabei den Desktop der VM interaktiv nutzen, inklusive der Steuerung von Maus und Tastatur.



  2. Hohe Leistung und Effizienz:

    • SPICE bietet eine effiziente Übertragung von Bildschirminhalten, indem es verschiedene Kompressionstechniken und Protokolloptimierungen verwendet. Dadurch werden die benötigte Bandbreite minimiert und die Reaktionszeiten verbessert.



  3. Multimedia-Unterstützung:

    • SPICE unterstützt Multimedia-Inhalte, einschließlich Audio und Video, und sorgt dafür, dass diese Inhalte synchron und in hoher Qualität übertragen werden.



  4. Unterstützung von USB-Geräten:

    • Benutzer können USB-Geräte an ihren lokalen Rechner anschließen und diese über SPICE auf die virtuelle Maschine durchreichen, als wären die Geräte direkt mit der VM verbunden.



  5. Mehrere Monitorunterstützung:

    • SPICE unterstützt Umgebungen mit mehreren Monitoren, was es ermöglicht, virtuelle Maschinen in komplexen Arbeitsplatzkonfigurationen zu verwenden.



  6. Sicherheit:

    • SPICE bietet Verschlüsselung für die Datenübertragung, um sicherzustellen, dass die Kommunikation zwischen dem Client und der VM geschützt ist.



  7. Offene und plattformunabhängige Lösung:

    • SPICE ist ein Open-Source-Projekt und bietet plattformübergreifende Unterstützung, sodass sowohl Linux- als auch Windows-VMs mit dem SPICE-Protokoll arbeiten können.




Einsatzgebiete von SPICE:



  • Virtuelle Desktop-Infrastrukturen (VDI):

    • SPICE ist besonders nützlich in VDI-Umgebungen, wo viele Benutzer auf virtuelle Desktops zugreifen müssen. Es bietet eine robuste und performante Möglichkeit, virtuelle Arbeitsplätze bereitzustellen.



  • Entwicklung und Test:

    • Entwickler und Tester können SPICE verwenden, um auf virtuelle Maschinen zuzugreifen, die in einem isolierten Netzwerk oder einer anderen Umgebung laufen, ohne physisch vor dem Hostsystem zu sitzen.



  • Remote-Arbeit:

    • SPICE ermöglicht es Benutzern, von entfernten Standorten aus auf ihre Arbeitsumgebung zuzugreifen, wodurch es ideal für Remote-Arbeitsmodelle ist.




SPICE-Client und -Server:



  • SPICE-Client:

    • Der SPICE-Client ist die Software, die auf dem Computer des Benutzers installiert ist und die Verbindung zu der virtuellen Maschine herstellt. Ein beliebter SPICE-Client ist virt-viewer.



  • SPICE-Server:

    • Der SPICE-Server läuft auf dem Host, der die virtuelle Maschine betreibt, und kümmert sich um die Übertragung der Bildschirminhalte, die Steuerungseingaben und andere Daten an den SPICE-Client.




 :


SPICE ist ein leistungsstarkes und flexibles Protokoll für Remote-Desktop-Umgebungen, das speziell für Virtualisierungsumgebungen entwickelt wurde. Es bietet eine effiziente, performante und sichere Möglichkeit, auf virtuelle Maschinen zuzugreifen und diese zu steuern. SPICE ist besonders nützlich in Szenarien, in denen Benutzer von entfernten Standorten aus auf VMs zugreifen müssen, sei es für Entwicklungszwecke, in VDI-Umgebungen oder für Remote-Arbeit.

 

 

Anwendungsbeispiel:
Verwende SPICE, um eine Verbindung zu einer virtuellen Maschine herzustellen, die auf einem KVM-Hypervisor läuft, und interagiere mit ihr, als ob sie lokal wäre.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest den Server innerhalb einer virtuellen Maschine betreiben, auf die du von einem entfernten Standort aus zugreifen kannst. Mit SPICE kannst du eine nahtlose und performante Verbindung zu dieser virtuellen Maschine herstellen, um den Server zu verwalten oder darauf zu arbeiten, ohne physisch vor Ort zu sein.

Beispiel: Zugriff auf eine virtuelle Maschine mit einem SPICE-Client:

  1. Stelle sicher, dass der SPICE-Server auf der virtuellen Maschine aktiviert ist.

  2. Verwende einen SPICE-Client wie virt-viewer, um die Verbindung herzustellen:


    virt-viewer --spice --connect qemu+ssh://user@host/system vm_name



Dieser Befehl stellt eine SPICE-Verbindung zu der virtuellen Maschine vm_name her, die auf einem Remote-Host läuft. Du kannst die virtuelle Maschine dann verwalten, als ob du direkt an der Konsole sitzt, was besonders nützlich ist, wenn du den IRC-Server irc.irc-mania.net in einer isolierten und sicheren Umgebung betreiben möchtest.

Ähnliche Technologien und Befehle:

  • VNC: Eine weitere Technologie für Remote-Desktop-Zugriff, jedoch ohne die erweiterten Funktionen von SPICE wie USB-Umleitung.

  • RDP (Remote Desktop Protocol): Ein Protokoll von Microsoft für den Fernzugriff auf Desktops, das ähnliche Funktionen bietet.

  • virt-manager: Ein grafisches Tool zur Verwaltung von virtuellen Maschinen, das auch SPICE unterstützt.

  • qemu-system-x86_64 -spice: Startet eine virtuelle Maschine mit SPICE-Unterstützung unter QEMU.


Vorteile von SPICE:



  • Nahtlose Benutzererfahrung: Bietet eine hohe Leistung bei Remote-Desktops, inklusive Unterstützung für Multimedia-Inhalte.

  • Erweiterte Funktionen: Unterstützt USB-Umleitung, Audio, Video und Dateifreigaben.

  • Integration: Funktioniert nahtlos mit KVM/QEMU-Virtualisierungstechnologien.


MAN-Überschriften (für verwandte SPICE-Tools wie spice-client):



  1. NAME
    Beschreibung des SPICE-Tools oder -Protokolls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung des SPICE-Clients oder -Servers.

  3. DESCRIPTION
    Detaillierte Beschreibung, was das SPICE-Tool tut und wie es verwendet wird.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen für den SPICE-Client oder -Server.

  5. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. virt-manager, qemu, vnc.

  6. AUTHOR
    Informationen über die Entwickler von SPICE.

  7. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Dokumentation: Da SPICE eine Technologie ist und nicht nur ein einzelner Befehl, findest du spezifische Anleitungen und manuelle Seiten in den entsprechenden Tools, die SPICE verwenden, wie virt-viewer, spice-client, oder qemu.
Eingereicht durch: schutzgeist

ssh

SSH (Secure Shell)

SSH (Secure Shell):


Ein Protokoll, das eine sichere Verbindung zu einem entfernten Server oder Computer ermöglicht. Es wird häufig für den Fernzugriff auf Server, die Verwaltung und den Dateitransfer verwendet.

Linux-Befehl: ssh Anwendungsbeispiel:


Stelle eine Verbindung zu einem entfernten Server her mit ssh Root@IRC-Mania.de .

Weitere Befehle und Optionen:


ssh -p port user@hostname: Verbindet sich mit einem Server über einen bestimmten Port.
ssh -i /path/to/key user@hostname: Verwendet einen spezifischen privaten Schlüssel für die Authentifizierung.
ssh -N -L local_port:remote_host:remote_port user@hostname: Erstellt einen SSH-Tunnel ohne Remote-Befehle auszuführen.
ssh -X user@hostname: Aktiviert X11-Weiterleitung für grafische Anwendungen.
Handbuch für den Befehl: man ssh
Eingereicht durch: Schutzgeist

ssh-add:

ssh-add:


Ein Befehl, der verwendet wird, um private SSH-Schlüssel zum SSH-Agenten (ssh-agent) hinzuzufügen. Der SSH-Agent speichert die privaten Schlüssel im Speicher, sodass du dich bei SSH-Servern authentifizieren kannst, ohne bei jeder Verbindung dein Passwort oder die Passphrase des Schlüssels eingeben zu müssen.

Linux-Befehl: ssh-add

 

Anwendungsbeispiel:
Füge einen privaten SSH-Schlüssel zum SSH-Agenten hinzu mit ssh-add ~/.ssh/id_rsa.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und verwendest SSH-Schlüssel zur Authentifizierung, um sicherzustellen, dass nur autorisierte Benutzer Zugriff auf den Server haben. Du kannst ssh-add verwenden, um deinen privaten Schlüssel zum SSH-Agenten hinzuzufügen, damit du dich bequem und sicher verbinden kannst, ohne jedes Mal deine Passphrase eingeben zu müssen.

Beispiel: Hinzufügen des privaten Schlüssels id_rsa zum SSH-Agenten:


ssh-add ~/.ssh/id_rsa


Dieser Befehl lädt den privaten Schlüssel id_rsa in den SSH-Agenten, sodass du dich bei deinem IRC-Server irc.irc-mania.net oder anderen Servern, die denselben Schlüssel verwenden, authentifizieren kannst, ohne die Passphrase jedes Mal erneut eingeben zu müssen.

Ähnliche Linux-Befehle:

  • ssh-agent: Startet einen neuen SSH-Agenten, der die SSH-Schlüssel im Speicher verwaltet.

  • ssh-keygen: Erzeugt neue SSH-Schlüsselpaare und verwaltet bestehende Schlüssel.

  • ssh: Verwendet zur Herstellung von Verbindungen zu entfernten Servern über das SSH-Protokoll.

  • ssh-copy-id: Kopiert öffentliche SSH-Schlüssel auf einen Remote-Server zur vereinfachten Authentifizierung.


Schalteroptionen und ihre Funktionen:



  • ssh-add [file]: Fügt den angegebenen privaten Schlüssel dem SSH-Agenten hinzu.

  • ssh-add -l: Listet alle derzeit dem SSH-Agenten hinzugefügten Schlüssel auf.

  • ssh-add -d [file]: Entfernt den angegebenen privaten Schlüssel aus dem SSH-Agenten.

  • ssh-add -D: Entfernt alle Schlüssel aus dem SSH-Agenten.

  • ssh-add -t lifespan [file]: Legt eine Lebensdauer (in Sekunden) für den Schlüssel fest, nach deren Ablauf der Schlüssel automatisch aus dem Agenten entfernt wird.

  • ssh-add -c: Fordert eine Bestätigung an, bevor der Schlüssel verwendet wird.

  • ssh-add -q: Führt den Befehl im stillen Modus aus, ohne unnötige Ausgaben anzuzeigen.


Wichtige Hinweise:



  • Sicherheit: Da ssh-add den privaten Schlüssel im Speicher speichert, ist es wichtig sicherzustellen, dass der SSH-Agent ordnungsgemäß konfiguriert und vor unbefugtem Zugriff geschützt ist. Ein gesperrter Bildschirm, wenn du den Computer unbeaufsichtigt lässt, kann die Sicherheit zusätzlich erhöhen.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von ssh-add.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere in Bezug auf die Verwaltung von SSH-Schlüsseln mit dem SSH-Agenten.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie SSH-Schlüssel, die von ssh-add verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. ssh-agent, ssh-keygen.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man ssh-add
Eingereicht durch: schutzgeist

su

su (Substitute User)


Wechselt zu einem anderen Benutzerkonto, in der Regel zum Root-Benutzer.

Linux-Befehl: su

Anwendungsbeispiel:
Wechsle zum Root-Benutzer mit su - und gib das Root-Passwort ein.

Weitere Befehle und Optionen:

  • su - username: Wechselt zu einem anderen Benutzer und lädt dessen Umgebung.

  • su -c "command": Führt einen Befehl als ein anderer Benutzer aus, ohne die Shell zu wechseln.


MAN-Befehl: man su

sudo

Syslog Facilities Exkurs
Syslog Facilities sind Kategorien oder "Einrichtungen" innerhalb des Syslog-Protokolls, die verwendet werden, um Log-Nachrichten zu klassifizieren und zu gruppieren. Das Syslog-Protokoll ist ein Standard für das Senden und Empfangen von Log-Nachrichten in Unix- und Linux-Systemen sowie in Netzwerkgeräten wie Routern und Switches. Jede Log-Nachricht, die über Syslog gesendet wird, ist mit einer Facility und einem Schweregrad (Severity Level) versehen.

Zweck von Facilities:



  • Kategorisierung von Log-Nachrichten: Facilities ermöglichen es, Log-Nachrichten nach ihrer Quelle oder ihrem Zweck zu kategorisieren. Das hilft Administratoren dabei, die Logs effizienter zu verwalten und zu analysieren.

  • Trennung der Logs: Durch die Zuweisung von Facilities zu verschiedenen Log-Typen können diese Logs in separaten Dateien gespeichert oder unterschiedlich behandelt werden.


Standard-Syslog-Facilities:


Hier sind einige der gängigsten Syslog-Facilities und ihre typischen Verwendungszwecke:

  1. auth:

    • Logs von Authentifizierungsprozessen (z.B. Login-Versuche).



  2. authpriv:

    • Logs von Authentifizierungsprozessen, die sensible Informationen enthalten (z.B. detaillierte Login-Daten, die nur für privilegierte Benutzer zugänglich sein sollten).



  3. cron:

    • Logs, die von Cron-Diensten stammen, also von geplanten Aufgaben.



  4. daemon:

    • Logs von Systemdiensten oder Daemons, die keine spezifische Facility haben (z.B. Hintergrundprozesse).



  5. kern:

    • Kernel-Nachrichten, die direkt vom Linux-Kernel generiert werden.



  6. lpr:

    • Logs, die von Druckdiensten (Line Printer Daemon) stammen.



  7. mail:

    • Logs von Mailservern und E-Mail-Diensten.



  8. news:

    • Logs von Usenet-News-Diensten.



  9. syslog:

    • Logs, die vom Syslog-Daemon selbst stammen.



  10. user:

    • Logs, die von Benutzern und Benutzeranwendungen generiert werden. Dies ist die Standard-Facility, wenn keine andere angegeben ist.



  11. uucp:

    • Logs von UUCP-Diensten (Unix-to-Unix Copy Protocol), die heute selten verwendet werden.



  12. local0 bis local7:

    • Benutzerdefinierte Facilities, die für beliebige Zwecke verwendet werden können. Diese sind nützlich, wenn spezifische Logs in benutzerdefinierte Kategorien eingeteilt werden sollen.




Beispiel für eine Syslog-Nachricht:


Eine typische Syslog-Nachricht hat das folgende Format:


timestamp hostname application[PID]: message



  • PRI: Kombiniert die Facility und den Schweregrad.

  • timestamp: Der Zeitpunkt, zu dem die Nachricht erzeugt wurde.

  • hostname: Der Hostname des Systems, das die Nachricht generiert hat.

  • application[PID]: Die Anwendung und deren Prozess-ID, die die Nachricht erzeugt haben.

  • message: Der eigentliche Inhalt der Log-Nachricht.


Verwendung von Facilities in Konfigurationsdateien:


In Konfigurationsdateien wie /etc/rsyslog.conf (für rsyslog) oder /etc/syslog.conf (für ältere Syslog-Daemons) kannst Du Facilities verwenden, um zu steuern, wohin die Nachrichten geschrieben werden sollen:


authpriv.* /var/log/secure
mail.* /var/log/mail.log
cron.* /var/log/cron.log
local0.* /var/log/local0.log



  • Facility: Der Teil vor dem Punkt (authpriv, mail, etc.).

  • Schweregrad: Der Teil nach dem Punkt (* bedeutet alle Schweregrade).

  • Ziel: Die Datei oder der Ort, wohin die Nachrichten geschrieben werden sollen.



Syslog Facilities sind ein wesentliches Konzept im Syslog-Protokoll, das es ermöglicht, Log-Nachrichten nach ihrer Quelle oder Art zu kategorisieren. Sie helfen Administratoren dabei, Logs effektiv zu verwalten und gezielt zu analysieren. Durch die Verwendung von Facilities in Syslog-Konfigurationsdateien kann die Log-Ausgabe flexibel organisiert und unterschiedliche Log-Typen in separaten Dateien gespeichert werden.
Eingereicht durch: schutzgeist

systemctl:

systemctl:


Ein Befehl, der zum Verwalten von Systemdiensten, Einheiten und dem Systemzustand auf Linux-Systemen verwendet wird, die das systemd-Init-System nutzen. Mit systemctl kannst du Dienste starten, stoppen, neustarten, aktivieren, deaktivieren und den aktuellen Status von Diensten sowie anderen systemd-Einheiten abfragen.

Linux-Befehl: systemctl

Anwendungsbeispiel:
Starte den Dienst nginx neu mit systemctl restart nginx.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest den IRC-Dienst nach einer Konfigurationsänderung neu starten, um sicherzustellen, dass die Änderungen wirksam werden. Mit systemctl kannst du den IRC-Dienst direkt verwalten.

Beispiel: Neustarten des IRC-Dienstes ircd nach einer Konfigurationsänderung:


sudo systemctl restart ircd


Dieser Befehl startet den IRC-Dienst ircd neu, wodurch die neue Konfiguration geladen wird und der IRC-Server irc.irc-mania.net die Änderungen übernimmt. Dies ist nützlich, um sicherzustellen, dass der Server reibungslos funktioniert und auf die neuesten Einstellungen reagiert.

Ähnliche Linux-Befehle:



  • service: Verwendet zum Starten, Stoppen und Neustarten von Diensten auf älteren Systemen ohne systemd.

  • journalctl: Zeigt Protokolldateien an, die von systemd gesammelt wurden, nützlich zur Fehlersuche bei Diensten.

  • ps aux: Zeigt alle laufenden Prozesse an, einschließlich Dienste, die von systemctl verwaltet werden.

  • systemd-analyze: Analysiert den Startprozess des Systems und liefert detaillierte Informationen.


Schalteroptionen und ihre Funktionen:



  • systemctl start service_name: Startet den angegebenen Dienst.

  • systemctl stop service_name: Stoppt den angegebenen Dienst.

  • systemctl restart service_name: Startet den angegebenen Dienst neu.

  • systemctl reload service_name: Lädt die Konfigurationsdateien des Dienstes neu, ohne ihn neu zu starten.

  • systemctl enable service_name: Aktiviert den Dienst, sodass er beim Systemstart automatisch startet.

  • systemctl disable service_name: Deaktiviert den Dienst, sodass er beim Systemstart nicht mehr automatisch startet.

  • systemctl status service_name: Zeigt den Status des Dienstes, einschließlich aktueller Aktivität und Protokollauszügen.

  • systemctl is-active service_name: Prüft, ob der Dienst aktiv ist.

  • systemctl is-enabled service_name: Prüft, ob der Dienst aktiviert ist.

  • systemctl list-units: Listet alle aktiven Einheiten auf.

  • systemctl list-unit-files: Zeigt alle installierten Einheiten und deren Aktivierungsstatus an.

  • systemctl isolate target: Wechselt in einen anderen Systemzustand (Runlevel), z.B. rescue.target für den Rettungsmodus.

  • systemctl reboot: Startet das System neu.

  • systemctl poweroff: Fährt das System herunter.


Wichtige Hinweise:



  • Verwalten von Diensten: systemctl ist ein leistungsfähiges Werkzeug, um alle Aspekte von Systemdiensten zu steuern. Es wird häufig in Skripten und zur Automatisierung von Aufgaben in der Systemadministration verwendet.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von systemctl.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. COMMANDS
    Eine Übersicht über die wichtigsten Befehle, die mit systemctl ausgeführt werden können.

  6. FILES
    Hinweise auf relevante Dateien wie systemd-Einheitsdateien, die von systemctl verwaltet werden.

  7. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. systemd, journalctl.

  8. AUTHOR
    Informationen über den Autor des Befehls.

  9. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man systemctl
Eingereicht durch: Schutzgeist

systemd-run




systemd-run:


Ein Befehl, der verwendet wird, um Befehle oder Skripte als systemd-Dienst zu starten. Mit systemd-run kannst du temporäre Dienste oder zeitlich geplante Aufgaben ausführen, die vom systemd-Init-System verwaltet werden. Es ermöglicht, Befehle in einer isolierten Umgebung oder unter speziellen Bedingungen zu starten, ohne dass du eine dauerhafte systemd-Service-Unit erstellen musst.

Linux-Befehl: systemd-run


Anwendungsbeispiel:
Starte einen Befehl als isolierten systemd-Dienst mit systemd-run --scope --unit=meinbefehl.service Befehl.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest ein Skript oder einen Befehl temporär als eigenen Dienst ausführen, um beispielsweise spezielle Wartungsaufgaben zu erledigen, die in einer isolierten Umgebung laufen sollen. Mit systemd-run kannst du dies leicht erreichen.

Beispiel: Starte ein Skript, das den Speicher des IRC-Servers überwacht, als isolierten Dienst:


sudo systemd-run --scope --unit=ircd-monitor.service /path/to/memory_monitor.sh


Dieser Befehl startet das Skript memory_monitor.sh als einen temporären systemd-Dienst mit dem Namen ircd-monitor.service. Der Vorteil dieses Ansatzes ist, dass der Befehl unter den vollen Kontrolle von systemd ausgeführt wird, was bedeutet, dass du die Ressourcennutzung steuern und den Dienst bei Bedarf einfach überwachen oder stoppen kannst.

Ähnliche Linux-Befehle:

  • systemctl: Verwendet zur Verwaltung von systemd-Diensten, einschließlich Start, Stopp und Statusabfragen.

  • cron: Verwendet zur Planung regelmäßiger Aufgaben, im Gegensatz zu den einmaligen, temporären Diensten von systemd-run.

  • at: Verwendet zur Planung von einmaligen Aufgaben zu einem bestimmten Zeitpunkt.

  • nohup: Führt Befehle so aus, dass sie nach dem Logout weiterhin laufen, jedoch ohne die Integration in systemd.


Schalteroptionen und ihre Funktionen:



  • systemd-run --unit=name: Gibt den Namen für die systemd-Service-Unit an, unter der der Befehl ausgeführt wird.

  • systemd-run --scope: Startet den Befehl in einem eigenen systemd-Scope, der sich von anderen Einheiten abhebt und nicht als vollständiger Dienst behandelt wird.

  • systemd-run --user: Führt den Befehl unter dem Benutzerkontext anstelle des Systemkontexts aus.

  • systemd-run --on-active=seconds: Startet den Dienst nach einer bestimmten Verzögerung in Sekunden.

  • systemd-run --on-calendar=time: Startet den Dienst zu einem bestimmten Zeitpunkt oder nach einem Zeitplan.

  • systemd-run --remain-after-exit: Hält den Dienst aktiv, selbst nachdem der Befehl ausgeführt wurde, was es ermöglicht, den Dienststatus auch nach Abschluss des Befehls abzufragen.

  • systemd-run --description="text": Fügt eine Beschreibung zum gestarteten Dienst hinzu, um ihn später leichter identifizieren zu können.

  • systemd-run --property=key=value: Setzt eine bestimmte systemd-Eigenschaft für die ausgeführte Einheit.


Wichtige Hinweise:



  • Integration mit systemd: Durch die Ausführung von Befehlen als systemd-Dienste erhältst du die volle Kontrolle und Überwachungskapazität, die systemd bietet, einschließlich Logging, Ressourcenbeschränkungen und Neustartmechanismen.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von systemd-run.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut und wie er in systemd integriert wird.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien, wie systemd-Einheiten, die von systemd-run verwaltet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. systemctl, systemd.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man systemd-run




Eingereicht durch: Schutzgeist

T

tail

Linux-Befehl tail:


Zeigt die letzten Zeilen einer Datei oder eines Datenstroms an. Standardmäßig werden die letzten 10 Zeilen angezeigt.

Linux-Befehl: tail
Anwendungsbeispiel:


Zeige die letzten 10 Zeilen einer Logdatei an mit tail /var/log/syslog.

Weitere Befehle und Optionen:


tail -n 20 filename: Zeigt die letzten 20 Zeilen der Datei an.
tail -f filename: Verfolgt eine Datei in Echtzeit und zeigt neue Zeilen, sobald sie geschrieben werden (nützlich für das Überwachen von Logdateien).
tail -c 50 filename: Zeigt die letzten 50 Bytes einer Datei an.
tail --pid=PID -f filename: Beendet die Überwachung der Datei, sobald der Prozess mit der angegebenen PID endet.

Handbuch für den Linux tail- Befehl:

man tail
Eingereicht durch: Schutzgeist

tar

timedatectl

timedatectl:


 

Ein Befehl, der verwendet wird, um die Systemzeit und -datumsinformationen zu überprüfen und zu ändern. Mit timedatectl kannst du die Uhrzeit und das Datum des Systems einstellen, die Zeitzone konfigurieren und die Synchronisation mit einem Netzwerkzeitserver (NTP) verwalten.

Linux-Befehl: timedatectl


Anwendungsbeispiel:
Zeige die aktuelle Systemzeit und Zeitzone an mit timedatectl status.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und stellst fest, dass die Uhrzeit des Servers falsch eingestellt ist, was zu Problemen mit Zeitstempeln und Protokollierungen führt. Mit timedatectl kannst du die Systemzeit und Zeitzone korrekt einstellen, um sicherzustellen, dass alle Serverereignisse richtig zeitlich erfasst werden.

Beispiel: Setze die Zeitzone des Servers auf Europe/Berlin:


sudo timedatectl set-timezone Europe/Berlin


Dieser Befehl stellt sicher, dass der Server die richtige Zeitzone verwendet, wodurch alle Zeitstempel in Protokollen und IRC-Sitzungen korrekt sind und die Benutzer des Servers irc.irc-mania.net die richtige lokale Zeit sehen.

Ähnliche Linux-Befehle:

  • date: Zeigt das aktuelle Datum und die Uhrzeit an oder setzt sie manuell.

  • hwclock: Verwendet zur Verwaltung der Hardware-Uhr des Systems, oft in Verbindung mit timedatectl.

  • ntpd: Ein Dienst zur Synchronisation der Systemzeit mit einem Netzwerkzeitserver.

  • chronyd: Ein alternativer NTP-Daemon zur Zeitsynchronisation.


Schalteroptionen und ihre Funktionen:



  • timedatectl status: Zeigt den aktuellen Status von Zeit- und Datumseinstellungen, einschließlich der Zeitzone und der NTP-Synchronisation.

  • timedatectl set-time "YYYY-MM-DD HH:MM:SS": Setzt das Systemdatum und die Uhrzeit manuell.

  • timedatectl set-timezone ZONE: Setzt die Zeitzone des Systems, z.B. timedatectl set-timezone Europe/Berlin.

  • timedatectl set-ntp true|false: Aktiviert oder deaktiviert die Synchronisation mit einem Netzwerkzeitserver (NTP).

  • timedatectl list-timezones: Listet alle verfügbaren Zeitzonen auf, die du mit set-timezone verwenden kannst.

  • timedatectl set-local-rtc 1|0: Konfiguriert, ob die Hardware-Uhr in UTC oder lokaler Zeit geführt wird.


Wichtige Hinweise:



  • Zeitgenauigkeit: Eine korrekte Zeiteinstellung ist wichtig für Server, insbesondere für die Synchronisation von Ereignissen und die Authentifizierung, wo Zeitstempel eine Rolle spielen. Daher ist die Verwendung von timedatectl zur Synchronisation mit einem NTP-Server oft empfehlenswert.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von timedatectl.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere in Bezug auf Zeit- und Datumseinstellungen.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. date, hwclock, systemd.

  6. AUTHOR
    Informationen über den Autor des Befehls.

  7. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man timedatectl
Eingereicht durch: Schutzgeist

timedatectl list-timezones
Der Befehl, um eine Liste aller verfügbaren Zeitzonen auf einem Linux-System anzuzeigen, lautet:


timedatectl list-timezones


Dieser Befehl verwendet das timedatectl-Tool, das Teil von systemd ist, um die Zeitzonen aufzulisten, die das System unterstützt.

Beispielausgabe:


Wenn Du diesen Befehl ausführst, erhältst Du eine lange Liste, die so aussehen könnte:


Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
...
America/New_York
America/Los_Angeles
Asia/Tokyo
Asia/Shanghai
...


Verwendung:


Diese Liste kann hilfreich sein, wenn Du die Zeitzone des Systems ändern möchtest. Zum Beispiel kannst Du mit dem folgenden Befehl die Zeitzone auf "Europe/Berlin" setzen:


sudo timedatectl set-timezone Europe/Berlin


Dieser Befehl stellt sicher, dass die Systemzeit auf die lokale Zeit der angegebenen Zeitzone eingestellt ist.
Eingereicht durch: Schutzgeist

traceroute

tree

tty

tty steht für teletypewriter -
pts 
für pseudo terminal slave


Steht für physische oder virtuelle Terminals. Wird verwendet, um auf Textkonsolen zuzugreifen.

tty- Anwendungsbeispiel:


Wechsle zu einem anderen Terminal mit Ctrl + Alt + F2.

MAN-Befehl: man tty

PTS (Pseudo Terminal Slave):


Virtuelle Terminals, die in modernen Betriebssystemen für Terminal-Emulatoren verwendet werden.

Anwendungsbeispiel:


Öffne ein Terminal in einer GUI-Umgebung, das über pts verbunden ist.

MAN-Befehl: man pts

 
Eingereicht durch: Schutzgeist

tzselect





Ein interaktiver Befehl, der dem Benutzer hilft, die Zeitzone des Systems zu konfigurieren. tzselect führt dich durch eine Serie von Menüs, in denen du dein geografisches Gebiet, Land und Zeitzone auswählen kannst. Am Ende zeigt tzselect die ausgewählte Zeitzone an und gibt Anweisungen, wie du diese Zeitzone dauerhaft für das System oder den Benutzer festlegen kannst.

Linux-Befehl: tzselect


Anwendungsbeispiel:
Starte den interaktiven Dialog zur Auswahl der Zeitzone mit tzselect.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest sicherstellen, dass alle Zeitstempel in Protokollen und Nachrichten korrekt sind, indem du die richtige Zeitzone für das System einstellst. Mit tzselect kannst du die richtige Zeitzone auswählen und anwenden, um sicherzustellen, dass der Server die lokale Zeit korrekt verwendet.

Beispiel: Führen von tzselect, um die Zeitzone auf Europe/Berlin zu setzen:

  1. Gib im Terminal tzselect ein:


    tzselect


  2. Folge den Anweisungen, um das geografische Gebiet, das Land und die spezifische Zeitzone auszuwählen.

  3. Nach der Auswahl wird tzselect die Zeitzone anzeigen und dir Anweisungen geben, wie du sie dauerhaft festlegen kannst.


Nachdem du tzselect ausgeführt hast, kannst du die Zeitzone dauerhaft festlegen, indem du die angegebene Zeitzone in die Umgebungsvariable TZ einfügst oder durch Erstellen eines Symlinks für /etc/localtime.

Ähnliche Linux-Befehle:

  • timedatectl: Verwendet zur Verwaltung von Systemzeit, Datum und Zeitzone in systemd-Systemen.

  • date: Zeigt die aktuelle Systemzeit an oder setzt sie manuell, allerdings ohne dauerhafte Zeitzonenänderung.

  • dpkg-reconfigure tzdata: Ein weiteres Werkzeug zur Konfiguration der Zeitzone auf Debian-basierten Systemen.


Schalteroptionen und ihre Funktionen:



  • tzselect: Dieser Befehl wird ohne zusätzliche Optionen ausgeführt und leitet den Benutzer durch einen interaktiven Prozess zur Auswahl der Zeitzone.


Wichtige Hinweise:



  • Interaktive Verwendung: tzselect ist ideal für Benutzer, die ihre Zeitzone konfigurieren möchten, aber keine spezifischen Kenntnisse über Zeitzonendateien oder Konfigurationsmethoden haben.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von tzselect.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere der interaktive Prozess zur Auswahl der Zeitzone.

  4. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. timedatectl, date, dpkg-reconfigure tzdata.

  5. AUTHOR
    Informationen über den Autor des Befehls.

  6. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man tzselect




Eingereicht durch: Schutzgeist

U

Umgebungsvariablen anzeigen lassen.
Befehle sind
env 
printenv
ggf. noch export 

 

printenv und env: Zum Anzeigen aller Umgebungsvariablen.
set: Zum Anzeigen aller Shell- und Umgebungsvariablen sowie Funktionen.
export -p: Zum Anzeigen der exportierten Umgebungsvariablen.
echo $VARIABLENAME: Zum Anzeigen des Wertes einer spezifischen Umgebungsvariablen.

 

Lange Version: 

Umgebungsvariablen in einer Linux-Shell können mit verschiedenen Befehlen angezeigt werden.
Hier sind die gängigsten Methoden:

printenv:

Dieser Befehl zeigt alle Umgebungsvariablen an. Wenn Sie den Namen einer spezifischen Variable angeben, wird nur deren Wert angezeigt.

printenv
Um eine spezifische Variable anzuzeigen:

printenv VARIABLENAME

env:

Ähnlich wie printenv listet env alle aktuellen Umgebungsvariablen auf. Es kann auch verwendet werden, um Programme mit bestimmten Umgebungsvariablen zu starten.
env

set:

Dieser Befehl zeigt nicht nur Umgebungsvariablen, sondern auch Shell-Variablen und Funktionen an. Er gibt eine umfassendere Liste von Variablen zurück, die in der aktuellen Shell-Sitzung definiert sind.


export -p:

Dieser Befehl zeigt nur die exportierten Umgebungsvariablen an, also die, die an nachfolgende Prozesse weitergegeben werden.

export -p
Zugriff auf eine spezifische Variable:

Um den Wert einer bestimmten Umgebungsvariablen anzuzeigen, können Sie auch echo verwenden:

echo $VARIABLENAME
Beispiel:

echo $PATH
Eingereicht durch: Schutzgeist

useradd




useradd:


Ein Befehl, der verwendet wird, um ein neues Benutzerkonto auf einem Linux-System zu erstellen. Mit useradd kannst du ein neues Benutzerkonto anlegen, das Home-Verzeichnis und die Standard-Shell festlegen, Gruppenmitgliedschaften definieren und weitere Einstellungen konfigurieren.

Linux-Befehl: useradd


Anwendungsbeispiel:
Erstelle ein neues Benutzerkonto namens ircuser mit einem Home-Verzeichnis und Bash als Standard-Shell mit useradd -m -s /bin/bash ircuser.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest einen neuen Benutzer erstellen, der speziell für die Verwaltung des Servers zuständig ist. Du kannst useradd verwenden, um ein neues Benutzerkonto zu erstellen, das speziell für diese Aufgabe eingerichtet ist.

Beispiel: Erstellen eines neuen Benutzers namens ircadmin mit einem eigenen Home-Verzeichnis und der Bash-Shell als Standard:


sudo useradd -m -s /bin/bash ircadmin


Dieser Befehl erstellt einen neuen Benutzer ircadmin, legt ein Home-Verzeichnis für diesen Benutzer an (normalerweise /home/ircadmin) und setzt Bash als die Standard-Shell. Der Benutzer ircadmin kann dann für administrative Aufgaben auf dem IRC-Server irc.irc-mania.net verwendet werden.

Ähnliche Linux-Befehle:

  • usermod: Verwendet, um die Einstellungen eines bestehenden Benutzerkontos zu ändern.

  • userdel: Löscht ein Benutzerkonto und kann auch dessen Home-Verzeichnis entfernen.

  • passwd: Setzt oder ändert das Passwort eines Benutzers.

  • groupadd: Erstellt eine neue Gruppe, der der Benutzer zugeordnet werden kann.


Schalteroptionen und ihre Funktionen:



  • useradd -m username: Erstellt ein Home-Verzeichnis für den neuen Benutzer.

  • useradd -s /bin/shell username: Setzt die Standard-Shell für den neuen Benutzer.

  • useradd -g groupname username: Setzt die primäre Gruppe für den neuen Benutzer.

  • useradd -G group1,group2 username: Fügt den Benutzer zu mehreren zusätzlichen Gruppen hinzu.

  • useradd -d /home/dir username: Gibt ein alternatives Home-Verzeichnis an.

  • useradd -c "Full Name": Fügt einen Kommentar oder vollständigen Namen für den Benutzer hinzu.

  • useradd -u UID username: Setzt eine spezifische Benutzer-ID (UID) für den neuen Benutzer.

  • useradd -e YYYY-MM-DD username: Legt ein Ablaufdatum für das Benutzerkonto fest.

  • useradd -f days username: Setzt die Anzahl der Tage nach dem Ablaufdatum, bevor das Konto deaktiviert wird.


Wichtige Hinweise:



  • Sicherheit: Nach dem Erstellen eines Benutzerkontos sollte das Passwort mit passwd username gesetzt werden, um sicherzustellen, dass der Benutzer sich anmelden kann.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von useradd.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/passwd, /etc/shadow, und /etc/group, die von useradd verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. usermod, userdel, passwd.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man useradd




Eingereicht durch: Schutzgeist

userdel:




userdel:


Ein Befehl, der verwendet wird, um ein bestehendes Benutzerkonto von einem Linux-System zu löschen. Mit userdel kannst du ein Benutzerkonto entfernen und optional auch das Home-Verzeichnis und andere mit dem Benutzerkonto verbundene Dateien löschen.

Linux-Befehl: userdel

Anwendungsbeispiel:
Lösche das Benutzerkonto ircuser und behalte das Home-Verzeichnis mit userdel ircuser.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und ein Benutzerkonto ircadmin, das für die Verwaltung des Servers verwendet wurde, ist nicht mehr notwendig, weil der Administrator das Team verlassen hat. Um die Sicherheit des Systems zu gewährleisten, möchtest du dieses Konto vollständig entfernen.

Beispiel: Löschen des Benutzerkontos ircadmin und auch des zugehörigen Home-Verzeichnisses:


sudo userdel -r ircadmin


Dieser Befehl entfernt das Benutzerkonto ircadmin und löscht gleichzeitig das Home-Verzeichnis sowie alle darin enthaltenen Dateien. Dadurch wird sichergestellt, dass keine sensiblen Daten auf dem Server irc.irc-mania.net verbleiben und das Benutzerkonto vollständig entfernt wird.

Ähnliche Linux-Befehle:

  • useradd: Erstellt ein neues Benutzerkonto auf dem System.

  • usermod: Ändert die Eigenschaften eines bestehenden Benutzerkontos.

  • passwd: Setzt oder ändert das Passwort eines Benutzers.

  • groupdel: Entfernt eine Benutzergruppe vom System.


Schalteroptionen und ihre Funktionen:



  • userdel username: Löscht das Benutzerkonto, aber behält das Home-Verzeichnis und andere Benutzerdateien bei.

  • userdel -r username: Löscht das Benutzerkonto und entfernt auch das Home-Verzeichnis sowie alle damit verbundenen Dateien.

  • userdel -f username: Erzwingt das Löschen des Benutzerkontos, selbst wenn der Benutzer aktuell angemeldet ist (vorsichtig verwenden).


Wichtige Hinweise:



  • Sicherheit: Vor dem Löschen eines Benutzerkontos sollten alle notwendigen Dateien gesichert und geprüft werden, ob der Benutzer nicht mehr aktiv ist, um Datenverlust oder Sicherheitsrisiken zu vermeiden.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von userdel.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/passwd, /etc/shadow, und /etc/group, die von userdel verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. useradd, usermod, groupdel.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man userdel




Eingereicht durch: Schutzgeist

usermod:




usermod:


 

Ein Befehl, der verwendet wird, um die Eigenschaften eines bestehenden Benutzerkontos auf einem Linux-System zu ändern. Mit usermod kannst du Einstellungen wie die Benutzer-ID (UID), Gruppenmitgliedschaften, das Home-Verzeichnis, die Shell und andere Eigenschaften eines Benutzers anpassen.

Linux-Befehl: usermod

Anwendungsbeispiel:
Füge einen Benutzer namens ircuser zur Gruppe ircadmins hinzu mit usermod -aG ircadmins ircuser.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest die Zugriffsrechte des Benutzerkontos ircadmin erweitern, indem du diesen Benutzer einer zusätzlichen Gruppe hinzufügst, die spezielle Rechte auf dem Server hat. Mit usermod kannst du dies einfach konfigurieren.

Beispiel: Füge den Benutzer ircadmin zur Gruppe sudo hinzu, damit er administrative Befehle ausführen kann:


sudo usermod -aG sudo ircadmin


Dieser Befehl fügt ircadmin der sudo-Gruppe hinzu, wodurch der Benutzer in der Lage ist, Befehle mit administrativen Rechten auszuführen. Dies ist besonders nützlich, wenn ircadmin auch Serverwartungen oder Konfigurationsänderungen durchführen muss.

Ähnliche Linux-Befehle:

  • useradd: Erstellt ein neues Benutzerkonto auf dem System.

  • userdel: Löscht ein Benutzerkonto und kann auch dessen Home-Verzeichnis entfernen.

  • groupmod: Ändert die Eigenschaften einer bestehenden Gruppe.

  • passwd: Setzt oder ändert das Passwort eines Benutzers.


Schalteroptionen und ihre Funktionen:



  • usermod -aG groupname username: Fügt den Benutzer username zu einer zusätzlichen Gruppe groupname hinzu. Die Option -a ist notwendig, um sicherzustellen, dass der Benutzer auch Mitglied seiner bisherigen Gruppen bleibt.

  • usermod -g groupname username: Ändert die primäre Gruppe des Benutzers auf groupname.

  • usermod -d /new/home/dir username: Setzt ein neues Home-Verzeichnis für den Benutzer, ohne das Verzeichnis zu verschieben.

  • usermod -m -d /new/home/dir username: Setzt ein neues Home-Verzeichnis und verschiebt den Inhalt des alten Home-Verzeichnisses in das neue.

  • usermod -l newname oldname: Ändert den Benutzernamen von oldname zu newname.

  • usermod -s /bin/shell username: Setzt eine neue Login-Shell für den Benutzer.

  • usermod -u UID username: Ändert die Benutzer-ID (UID) des Benutzers.

  • usermod -e YYYY-MM-DD username: Setzt das Ablaufdatum für das Benutzerkonto.

  • usermod -L username: Sperrt das Benutzerkonto, sodass sich der Benutzer nicht mehr anmelden kann.

  • usermod -U username: Entsperrt ein gesperrtes Benutzerkonto.


Wichtige Hinweise:



  • Vorsicht bei Änderungen: Änderungen an Benutzerinformationen wie UID, Gruppen oder Home-Verzeichnissen können Auswirkungen auf die Zugriffsrechte und Dateiberechtigungen haben. Daher sollten solche Änderungen mit Bedacht durchgeführt werden.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von usermod.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf relevante Dateien wie /etc/passwd, /etc/shadow, und /etc/group, die von usermod verwendet werden.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. useradd, userdel, passwd.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man usermod




Eingereicht durch: Schutzgeist

V

vi

Visudo bzw. file: sudoers

Visudo und Datei sudoers:


Die sudoers-Datei ist eine spezielle Konfigurationsdatei, die festlegt, welche Benutzer oder Gruppen in der Lage sind, den Befehl sudo zu verwenden, und welche Befehle sie ausführen dürfen. Diese Datei bestimmt die Berechtigungen für Benutzer, um administrative oder Root-Befehle auszuführen.

Linux-Befehl: visudo (zum sicheren Bearbeiten der sudoers-Datei)


Anwendungsbeispiel:
Bearbeite die sudoers-Datei mit visudo, um einem Benutzer bestimmte administrative Rechte zu gewähren.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest, dass der Benutzer ircadmin nur bestimmte administrative Aufgaben ausführen kann, wie z.B. Neustarten des IRC-Servers, aber keine vollständigen Root-Rechte erhält. Du kannst die sudoers-Datei so konfigurieren, dass ircadmin nur die spezifischen Befehle mit sudo ausführen darf.

Beispiel: Gewähre ircadmin die Berechtigung, den Befehl systemctl restart ircd ohne Passwort auszuführen:

  1. Öffne die sudoers-Datei mit visudo:

    sudo visudo


  2. Füge folgende Zeile hinzu:

    ircadmin ALL=(ALL) NOPASSWD: /bin/systemctl restart ircd



Diese Konfiguration erlaubt dem Benutzer ircadmin, den IRC-Server-Dienst auf irc.irc-mania.net neu zu starten, ohne jedes Mal ein Passwort eingeben zu müssen.

Ähnliche Linux-Befehle:

  • sudo: Ermöglicht Benutzern, Befehle mit Superuser-Rechten auszuführen.

  • groups: Zeigt die Gruppenmitgliedschaften des aktuellen Benutzers an.

  • usermod: Bearbeitet Benutzerkonten, z.B. Gruppenmitgliedschaften oder Shell-Zuweisungen.

  • passwd: Setzt oder ändert das Passwort eines Benutzers.


Schalteroptionen und ihre Funktionen (im Kontext von visudo):



  • visudo: Wird verwendet, um die sudoers-Datei sicher zu bearbeiten. Es sperrt die Datei, um gleichzeitige Bearbeitungen zu verhindern, und überprüft die Datei auf Syntaxfehler, bevor sie gespeichert wird.

    • -c: Überprüft die sudoers-Datei auf Syntaxfehler, ohne sie zu bearbeiten.

    • -s: Stellt sicher, dass die sudoers-Datei über stdin bearbeitet wird.

    • -f /path/to/file: Bearbeitet eine alternative sudoers-Datei, anstatt der Standarddatei /etc/sudoers.




MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls und der Datei sudoers.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von visudo und die Struktur der sudoers-Datei.

  3. DESCRIPTION
    Detaillierte Beschreibung, was die sudoers-Datei tut und wie sie verwendet wird.

  4. OPTIONS
    Beschreibung der verfügbaren Schalteroptionen von visudo.

  5. SYNTAX
    Detaillierte Informationen zur Syntax der sudoers-Datei.

  6. EXAMPLES
    Beispiele für Konfigurationen in der sudoers-Datei.

  7. FILES
    Hinweise auf relevante Dateien, insbesondere /etc/sudoers.

  8. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. sudo, visudo.

  9. AUTHOR
    Informationen über den Autor des Befehls oder der Datei.

  10. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man sudoers

 

Fallbeispiel :











was passiert bei jane ANY=NOPASSWD: /bin/kill, /bin/id, PASSWD: /sbin/fdisk











 In diesem Szenario handelt es sich um eine Konfiguration in der sudoers-Datei, die festlegt, welche Befehle die Benutzerin "jane" mit sudo ausführen darf und ob sie dafür ein Passwort eingeben muss oder nicht.









Erklärungen der Konfiguration:




jane ANY=NOPASSWD: /bin/kill, /bin/id, PASSWD: /sbin/fdisk



  • jane: Der Benutzername, auf den diese Regel angewendet wird.

  • ANY: Gibt an, dass diese Regel auf allen Hosts gilt (nützlich in Umgebungen mit mehreren Hosts, wenn die Datei auf mehreren Maschinen repliziert wird).

  • NOPASSWD:: Diese Option gibt an, dass "jane" für die nachfolgenden Befehle kein Passwort eingeben muss, wenn sie sie mit sudo ausführt.

  • PASSWD:: Diese Option gibt an, dass "jane" für die nachfolgenden Befehle ein Passwort eingeben muss, wenn sie sie mit sudo ausführt.

  • /bin/kill und /bin/id: Diese Befehle kann "jane" ohne Eingabe eines Passworts ausführen, wenn sie sudo verwendet.

  • /sbin/fdisk: Für diesen Befehl muss "jane" ihr Passwort eingeben, wenn sie ihn mit sudo ausführt.


Zusammenfassung der Auswirkungen:



  • Befehle ohne Passwort (NOPASSWD):

    • /bin/kill: "jane" kann den Befehl kill verwenden, um Prozesse zu beenden, ohne dass sie ihr Passwort eingeben muss.

    • /bin/id: "jane" kann den Befehl id verwenden, um Informationen über Benutzer- und Gruppen-IDs abzurufen, ohne dass sie ihr Passwort eingeben muss.



  • Befehl mit Passwort (PASSWD):

    • /sbin/fdisk: Wenn "jane" den Befehl fdisk verwenden möchte, um Festplattenpartitionen zu verwalten, muss sie ihr Passwort eingeben, bevor sie den Befehl ausführen kann.




Beispiel:



  • Wenn "jane" den Befehl sudo /bin/kill 1234 ausführt, wird sie nicht nach ihrem Passwort gefragt.

  • Wenn sie sudo /bin/id ausführt, wird sie ebenfalls nicht nach ihrem Passwort gefragt.

  • Wenn sie jedoch sudo /sbin/fdisk ausführt, wird sie zur Eingabe ihres Passworts aufgefordert, bevor sie den Befehl ausführen kann.


Zweck solcher Konfigurationen:



  • Diese Art von Konfiguration wird oft verwendet, um Benutzern privilegierte Befehle auszuführen, während das Risiko des Missbrauchs minimiert wird. Bestimmte nicht gefährliche Befehle wie kill und id können ohne Passwort ausgeführt werden, da sie in der Regel keine großen Sicherheitsrisiken darstellen.

  • Andererseits erfordert fdisk, ein Werkzeug zur Manipulation von Festplattenpartitionen, zusätzliche Vorsicht, und daher wird die Eingabe des Passworts verlangt, um sicherzustellen, dass der Befehl bewusst und mit entsprechender Berechtigung ausgeführt wird.







































 









Eingereicht durch: schutzgeist

W

Was ist der Zweck des TCP-Wrappers?
Der TCP-Wrapper ist ein Sicherheits- und Zugriffssteuerungs-Tool, das in Unix- und Linux-Systemen verwendet wird. Er ermöglicht es Systemadministratoren, den Zugriff auf Netzwerkdienste basierend auf IP-Adressen und Hostnamen zu kontrollieren. Der TCP-Wrapper fungiert als eine Art "Filter" für eingehende Verbindungen und entscheidet, ob eine bestimmte Verbindung zugelassen oder abgelehnt werden soll.

Zweck des TCP-Wrappers



  1. Zugriffskontrolle:

    • Der Hauptzweck des TCP-Wrappers besteht darin, den Zugriff auf bestimmte Netzwerkdienste zu steuern. Dies geschieht durch Konfigurationen in den Dateien /etc/hosts.allow und /etc/hosts.deny.

    • /etc/hosts.allow: Diese Datei enthält Regeln, die festlegen, welche Verbindungen zugelassen werden.

    • /etc/hosts.deny: Diese Datei enthält Regeln, die festlegen, welche Verbindungen abgelehnt werden.

    • Wenn eine eingehende Verbindung zu einem durch den TCP-Wrapper geschützten Dienst erfolgt, prüft das System zuerst die Datei /etc/hosts.allow. Wenn die Verbindung dort zugelassen wird, wird sie akzeptiert. Wenn nicht, wird /etc/hosts.deny geprüft, um festzustellen, ob die Verbindung abgelehnt werden soll.



  2. Erhöhte Sicherheit:

    • Durch die Einschränkung des Zugriffs auf Netzwerkdienste kann der TCP-Wrapper dazu beitragen, unbefugten Zugriff zu verhindern und die Sicherheit des Systems zu erhöhen. Beispielsweise könnte ein Administrator den Zugriff auf einen SSH-Dienst nur von bestimmten IP-Adressen oder Netzwerken zulassen.



  3. Protokollierung:

    • Der TCP-Wrapper bietet auch eine Protokollierungsfunktion, die es ermöglicht, alle Zugriffsversuche auf die geschützten Dienste zu protokollieren. Dies kann nützlich sein, um mögliche Angriffsversuche oder unbefugte Zugriffsversuche zu überwachen.




Beispielkonfigurationen



  • Zugriff zulassen:


    # /etc/hosts.allow
    sshd: 192.168.1.0/24
    httpd: ALL


    In diesem Beispiel wird der Zugriff auf den SSH-Dienst (sshd) nur für Hosts aus dem Subnetz 192.168.1.0/24 erlaubt, während der HTTP-Dienst (httpd) von allen Hosts aus dem Netzwerk akzeptiert wird.

  • Zugriff verweigern:


    # /etc/hosts.deny
    ALL: ALL


    In diesem Beispiel wird standardmäßig der Zugriff auf alle Dienste von allen Hosts verweigert, es sei denn, es gibt spezifische Ausnahmen in der Datei /etc/hosts.allow.


Funktionsweise


Der TCP-Wrapper funktioniert auf der Ebene der Anwendungsschicht und überwacht Netzwerkdienste, die über die inetd-Superdaemon (oder ähnliche Daemonen) gestartet werden. Wenn eine Anfrage für einen durch den TCP-Wrapper geschützten Dienst eingeht, prüft der TCP-Wrapper die Konfigurationsdateien und entscheidet, ob die Anfrage zugelassen oder abgelehnt wird.

Einschränkungen



  • Nicht alle Dienste unterstützt: Der TCP-Wrapper kann nur Dienste schützen, die explizit mit ihm kompatibel sind, normalerweise solche, die über inetd gestartet werden oder die das TCP-Wrapper-Framework direkt verwenden.

  • Veraltet: In modernen Systemen wird der TCP-Wrapper oft durch andere, leistungsfähigere Sicherheitsmaßnahmen wie Firewalls (z.B. iptables oder nftables) und spezifische Sicherheitskonfigurationen für die jeweiligen Dienste ersetzt. Trotzdem kann der TCP-Wrapper in bestimmten Umgebungen immer noch nützlich sein.



Der TCP-Wrapper ist ein nützliches Werkzeug zur Kontrolle des Zugriffs auf Netzwerkdienste auf Unix- und Linux-Systemen. Er ermöglicht es, Verbindungen basierend auf IP-Adressen und Hostnamen zuzulassen oder zu verweigern, und bietet eine zusätzliche Sicherheitsschicht sowie Protokollierungsfunktionen. Während er in modernen Systemen oft durch fortschrittlichere Sicherheitslösungen ergänzt oder ersetzt wird, bleibt er in vielen Umgebungen eine effektive Methode zur Zugangskontrolle.
Eingereicht durch: schutzgeist

Wayland - Exkurs vs. x11
Wayland ist ein modernes Display-Server-Protokoll und eine Alternative zum älteren X11 (X Window System). Es wurde entwickelt, um einige der technischen und sicherheitsbezogenen Einschränkungen von X11 zu überwinden und bietet eine schlankere, effizientere und sicherere Architektur für die Darstellung grafischer Oberflächen unter Linux und anderen Unix-ähnlichen Betriebssystemen.

Hauptmerkmale von Wayland:



  1. Schlankere Architektur:

    • Wayland hat eine einfachere und modernere Architektur im Vergleich zu X11. Es verzichtet auf viele der Funktionen und Komplexitäten, die in X11 vorhanden sind, und lagert einige Aufgaben direkt an die Anwendungen oder an die Compositoren (Fenstermanager) aus.



  2. Kompositoren-basiertes System:

    • In Wayland ist der "Compositor" zentral. Ein Compositor ist eine Komponente, die sowohl als Fenstermanager als auch als Display-Server fungiert. Er verwaltet Fenster, deren Positionierung und Darstellung auf dem Bildschirm sowie den Bildschirmspeicher (Framebuffer).

    • Im Gegensatz zu X11, bei dem der Compositor ein zusätzliches Modul ist, ist in Wayland der Compositor selbst der Display-Server.



  3. Bessere Sicherheit:

    • Wayland ist von Grund auf sicherer gestaltet. In X11 können Anwendungen direkt auf die grafischen Daten anderer Anwendungen zugreifen, was zu Sicherheitsproblemen führen kann. Wayland reduziert diese Angriffsfläche erheblich, da jede Anwendung isoliert ist und der Compositor die Kontrolle über die gesamte Grafikverarbeitung hat.



  4. Effizienz und Leistung:

    • Durch die Reduktion der Protokoll- und Kommunikationsschichten zwischen Anwendungen und dem Display-Server kann Wayland eine effizientere und performantere Darstellung bieten. Dies ist besonders bei modernen grafischen Benutzeroberflächen von Vorteil, die hohe Anforderungen an die Grafikleistung stellen.



  5. Reduzierung von Latenz:

    • Wayland ist so konzipiert, dass es die Latenz zwischen Eingabe (z. B. Mausbewegung) und Ausgabe (z. B. Darstellung des Cursors) minimiert, was eine reaktionsschnellere Benutzeroberfläche ermöglicht.




Vergleich mit X11:



  • X11: Ein älteres, sehr vielseitiges und komplexes Display-Server-Protokoll, das seit den 1980er Jahren verwendet wird. X11 unterstützt eine Vielzahl von Funktionen, die heute teilweise als überholt gelten. Seine Architektur erlaubt es verschiedenen Anwendungen, direkt auf den Grafikpuffer zuzugreifen, was jedoch auch Sicherheitsrisiken birgt.

  • Wayland: Entwickelt als schlankere und sicherere Alternative zu X11, mit Fokus auf moderne Grafiksysteme und Benutzeranforderungen. Wayland reduziert den Overhead und die Komplexität, indem es viele der Aufgaben, die X11 direkt handhabte, auf den Compositor verlagert.


Nutzung und Unterstützung:



  • Desktop-Umgebungen: Viele moderne Desktop-Umgebungen wie GNOME und KDE bieten Unterstützung für Wayland an. GNOME hat Wayland seit Version 3.20 als Standardoption auf vielen Linux-Distributionen implementiert.

  • Kompositoren: Einige bekannte Compositoren, die Wayland unterstützen, sind Mutter (GNOME), KWin (KDE), Sway (ein Wayland-kompatibler Ersatz für i3), und Weston (der Referenz-Compositor für Wayland).

  • Treiberunterstützung: Wayland erfordert Treiber, die mit seiner Architektur kompatibel sind. Die meisten modernen Grafikkartentreiber unterstützen mittlerweile Wayland, wobei die Unterstützung für ältere oder proprietäre Treiber variieren kann.


Herausforderungen:



  • Rückwärtskompatibilität: Nicht alle Anwendungen und Treiber sind vollständig mit Wayland kompatibel. Einige ältere Anwendungen und Tools, die auf X11 angewiesen sind, müssen über XWayland betrieben werden, eine Kompatibilitätsschicht, die X11-Anwendungen unter Wayland ausführt.

  • Adoption: Obwohl Wayland auf vielen Linux-Distributionen stark gefördert wird, wird X11 weiterhin weit verbreitet verwendet, besonders in Umgebungen, die auf eine breite Softwarekompatibilität angewiesen sind.



Wayland ist ein modernes Display-Server-Protokoll, das darauf abzielt, die Einschränkungen und Komplexitäten von X11 zu überwinden. Es bietet eine sicherere, effizientere und leistungsfähigere Architektur für die Darstellung grafischer Benutzeroberflächen unter Linux. Während es bereits in vielen Desktop-Umgebungen und Distributionen unterstützt wird, ist die vollständige Migration von X11 auf Wayland noch im Gange, da einige Anwendungen und Systeme weiterhin auf X11 angewiesen sind.
Eingereicht durch: Schutzgeist

whatis
Whatis nutze ich selten aber gerne.
Es zeigt Dir eine Beschreibung für andere Befehle an.

Ein Beispiel :

[schutzgeist@localhost ~]$ whatis
whatis was bitte?
[schutzgeist@localhost ~]$ whatis man
man (1) - eine Oberfläche für die System-Referenzhandbücher
man (7) - macros to format man pages
man (1p) - display system documentation

oder
whatis ls cp rm mv

[schutzgeist@localhost ~]$ whatis ls cp
ls (1) - Verzeichnisinhalte auflisten
cp (1) - Dateien und Verzeichnisse kopieren
ls (1p) - list directory contents
cp (1p) - copy files
[schutzgeist@localhost ~]$


 

 

who

who Linux Befehl:


Ein Befehl, der Informationen über Benutzer anzeigt, die derzeit im System angemeldet sind. Er gibt Details wie den Benutzernamen, den angemeldeten Terminal, die Anmeldezeit und die Remote-Host-Informationen an.

Linux-Befehl: who


Anwendungsbeispiel:


Zeige alle derzeit angemeldeten Benutzer und deren Anmeldeinformationen an mit who.

Alle Schalteroptionen und ihre Funktionen:



  • -a: Zeigt detaillierte Informationen an, eine Kombination der Optionen -b, -d, -l, -p, -r, -t und -T.

  • -b: Zeigt die Zeit des letzten Systemstarts an.

  • -m: Zeigt Informationen über die aktuelle Terminal-Sitzung an.

  • -q: Zeigt die Anzahl der angemeldeten Benutzer an und listet sie auf.

  • -r: Zeigt den aktuellen Runlevel des Systems an.

  • -s: Zeigt nur den Benutzernamen und das Terminal (Standardanzeige).

  • -t: Zeigt die Zeit der letzten Systemuhr-Änderung an.

  • -u: Zeigt zusätzliche Informationen über Benutzeraktivitäten an, wie z.B. die Leerlaufzeit.

  • --message, --writable, --mesg: Zeigt an, ob das Terminal schreibgeschützt ist oder nicht.

  • --version: Zeigt die Version des who-Befehls an.


Man-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von who.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Dateien, die vom who-Befehl verwendet oder gelesen werden.

  6. EXIT STATUS
    Rückgabewerte und deren Bedeutung.

  7. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  8. HISTORY
    Historische Entwicklung des Befehls.

  9. AUTHOR
    Informationen über den Autor des Befehls.


Handbuch für den Befehl: man who
Eingereicht durch: Schutzgeist

whoami
whoami  ein unscheinbarer, aber wichtiger Linux-Befehl. Gerade, wenn man mehrere Benutzeraccounts hat, zwischen denen man immer wechseln muss.
whoami zeigt den aktuellen Benutzer an.
Du kannst auch mit dem who - Befehl arbeiten.   Alle who-Befehle findest Du hier:

 

whoami:
Ein Befehl, der den Benutzernamen des aktuell angemeldeten Benutzers zurückgibt. Es ist ein einfaches Werkzeug, um schnell festzustellen, unter welchem Benutzerkonto man arbeitet.

Linux-Befehl: whoami

Anwendungsbeispiel:
Gebe den aktuellen Benutzernamen aus mit whoami.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du verwaltest einen IRC-Server und arbeitest mit verschiedenen Benutzerkonten für die Serveradministration. Um sicherzustellen, dass du die richtigen Rechte hast, kannst du den Befehl whoami verwenden, um schnell zu überprüfen, unter welchem Benutzerkonto du aktuell agierst. Dies ist besonders nützlich, wenn du kritische Befehle auf dem Server ausführen musst, wie das Anpassen von Firewall-Regeln oder das Neustarten von Diensten.

Beispiel: Du loggst dich in den Server ein und möchtest sicherstellen, dass du als ircbotadmin angemeldet bist, bevor du eine Änderung vornimmst.


 
whoami

 


Ausgabe:


 

 

ircbotadmin


 


Damit stellst du sicher, dass du die notwendigen Berechtigungen hast, um Änderungen am IRC-Server vorzunehmen.

Ähnliche Linux-Befehle:



    • who: Zeigt eine Liste der aktuell angemeldeten Benutzer an.




 



    • id: Zeigt Benutzer-ID, Gruppen-ID und weitere Informationen über den aktuellen Benutzer an.




 



    • groups: Zeigt die Gruppenmitgliedschaften des aktuellen Benutzers an.




 

 

Schalteroptionen und ihre Funktionen:


 



    • --help: Zeigt eine kurze Hilfe mit den verfügbaren Optionen an.




 



    • --version: Zeigt die Version des whoami-Befehls an.




 

 

MAN-Überschriften:


 



    1. NAME
      Beschreibung des Befehls.




 



    1. SYNOPSIS
      Die grundlegende Syntax für die Verwendung von whoami.




 



    1. DESCRIPTION
      Detaillierte Beschreibung, was der Befehl tut.




 



    1. OPTIONS
      Beschreibung der verfügbaren Schalteroptionen.




 



    1. SEE ALSO
      Verweise auf verwandte Befehle und Dokumentationen.




 



    1. AUTHOR
      Informationen über den Autor des Befehls.




 



    1. REPORTING BUGS
      Hinweise zum Melden von Fehlern.




 



    1. COPYRIGHT
      Informationen zum Urheberrecht.




 

Handbuch für den Befehl: man whoami
Eingereicht durch: Schutzgeist

X

xdpyinfo:

xdpyinfo:


Ein Befehl, der Informationen über die aktuelle X-Server-Umgebung anzeigt. xdpyinfo liefert detaillierte Informationen über den Bildschirm, den Server, die unterstützten Erweiterungen, visuelle Modi, Bildschirmeigenschaften und mehr.

Linux-Befehl: xdpyinfo


Anwendungsbeispiel:
Zeige detaillierte Informationen über die aktuelle X-Server-Umgebung an mit xdpyinfo.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und verwaltest diesen Server häufig über eine grafische Benutzeroberfläche. Du möchtest sicherstellen, dass die grafische Umgebung korrekt konfiguriert ist, insbesondere wenn du spezielle IRC-Clients verwendest, die bestimmte Bildschirmauflösungen oder visuelle Modi erfordern. Mit xdpyinfo kannst du detaillierte Informationen über die X-Server-Einstellungen abrufen, um sicherzustellen, dass alles ordnungsgemäß funktioniert.

Beispiel: Überprüfen der verfügbaren Bildschirmauflösungen und visuellen Modi auf dem X-Server:


xdpyinfo | grep dimensions


Dieser Befehl gibt die Bildschirmabmessungen (z.B. Auflösung) aus, die für die grafische Sitzung des IRC-Clients auf irc.irc-mania.net verfügbar sind. Dies ist nützlich, um sicherzustellen, dass der IRC-Client in der optimalen Auflösung ausgeführt wird.

Ähnliche Linux-Befehle:

  • xrandr: Verwendet, um die Bildschirmauflösung und andere Anzeigeeinstellungen zu ändern.

  • glxinfo: Zeigt Informationen über die OpenGL-Konfiguration und -Erweiterungen an.

  • xwininfo: Liefert Informationen über ein bestimmtes Fenster in der X-Server-Umgebung.


Schalteroptionen und ihre Funktionen:



  • xdpyinfo: Der Befehl kann ohne zusätzliche Optionen ausgeführt werden, um umfassende Informationen über den X-Server zu liefern.

  • xdpyinfo -ext extension_name: Zeigt Informationen zu einer bestimmten X-Erweiterung an, wenn diese verfügbar ist.

  • xdpyinfo | grep pattern: Kann verwendet werden, um spezifische Informationen, wie Bildschirmauflösungen oder Erweiterungen, aus der Ausgabe zu filtern.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von xdpyinfo.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. xwininfo, xrandr.

  6. AUTHOR
    Informationen über den Autor des Befehls.

  7. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man xdpyinfo
Eingereicht durch: Schutzgeist

Xorg -configure

Xorg:


Ein Server, der die X Window System-Umgebung verwaltet, die in den meisten Unix-ähnlichen Betriebssystemen, einschließlich Linux, verwendet wird. Xorg ist dafür verantwortlich, die grafische Benutzeroberfläche bereitzustellen, indem es die Interaktion zwischen Hardware (wie Maus, Tastatur und Display) und den grafischen Anwendungen ermöglicht.

Linux-Befehl: Xorg

Anwendungsbeispiel:
Starte den Xorg-Server manuell (normalerweise wird er automatisch beim Start des Systems oder durch einen Display Manager gestartet).

-configure:


Eine Option, die verwendet wird, um eine grundlegende Konfigurationsdatei für den Xorg-Server zu erstellen. Diese Datei wird typischerweise in /etc/X11/xorg.conf gespeichert. Mit dieser Option versucht Xorg, die Hardware (wie Grafikkarten und Monitore) automatisch zu erkennen und eine passende Konfiguration zu generieren.

Linux-Befehl: Xorg -configure

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und möchtest eine spezielle grafische Umgebung für den Server konfigurieren. Möglicherweise musst du die Hardwarekomponenten des Servers manuell konfigurieren, wenn die automatische Erkennung fehlschlägt oder spezifische Anpassungen erforderlich sind. Mit der -configure-Option von Xorg kannst du eine grundlegende Konfigurationsdatei erstellen, die du dann anpassen kannst.

Beispiel: Erstellen einer neuen Xorg-Konfigurationsdatei:


sudo Xorg -configure


Dieser Befehl erstellt eine Konfigurationsdatei basierend auf der erkannten Hardware und speichert sie typischerweise als xorg.conf.new im aktuellen Verzeichnis. Du kannst diese Datei dann nach /etc/X11/xorg.conf verschieben und bei Bedarf weiter anpassen, um die grafische Umgebung für deinen IRC-Server irc.irc-mania.net zu optimieren.

Ähnliche Linux-Befehle:

  • X -config /path/to/xorg.conf: Startet den X-Server mit einer angegebenen Konfigurationsdatei.

  • xrandr: Verwaltet und konfiguriert Bildschirmauflösung und -ausrichtung für Xorg.

  • Xorg -retro: Startet den X-Server mit einem retro-hintergrund, um die Funktionalität zu testen.

  • glxinfo: Zeigt Informationen über OpenGL-Einstellungen, die unter Xorg verwendet werden.


Schalteroptionen und ihre Funktionen:



  • Xorg -configure: Erstellt eine neue Xorg-Konfigurationsdatei basierend auf der aktuellen Hardware.

  • Xorg -retro: Startet Xorg mit einem Retro-Hintergrundmuster und dem klassischen X-Cursor.

  • Xorg -dpi dpi_value: Setzt die DPI (Dots Per Inch) für den Xorg-Server.

  • Xorg :display_number: Startet eine Xorg-Instanz auf dem angegebenen Display.


MAN-Überschriften:



  1. NAME
    Beschreibung des Xorg-Servers und seiner Funktionen.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von Xorg und seinen Optionen.

  3. DESCRIPTION
    Detaillierte Beschreibung der Funktionalität des Xorg-Servers.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen, einschließlich -configure.

  5. FILES
    Hinweise auf relevante Konfigurations- und Protokolldateien, wie /etc/X11/xorg.conf.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. xrandr, X.

  7. AUTHOR
    Informationen über die Autoren und Mitwirkenden von Xorg.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man Xorg
Eingereicht durch: Schutzgeist

Z

zless
Der Befehl zless ist ein Unix- bzw. Linux-Kommando, das verwendet wird, um komprimierte Textdateien im Gzip-Format (.gz) anzuzeigen. Es funktioniert ähnlich wie der Befehl less, aber speziell für komprimierte Dateien.

Verwendung von zless



  • Befehl:


    zless dateiname.gz


  • Beschreibung: zless entpackt die Datei temporär und zeigt deren Inhalt seitenweise in einer Art „Pager“ an, sodass Du den Inhalt durchblättern kannst. Es ist besonders nützlich für große Protokolldateien oder andere Textdateien, die zur Platzersparnis komprimiert wurden.

  • Navigation:

    • Pfeiltasten: Zum Hoch- und Runterblättern durch den Text.

    • Space: Um eine Seite weiter zu blättern.

    • b: Um eine Seite zurück zu blättern.

    • /Suchbegriff: Um nach einem Begriff in der Datei zu suchen.

    • q: Um zless zu beenden.




Beispiel


Angenommen, Du hast eine komprimierte Protokolldatei namens syslog.gz:


zless /var/log/syslog.gz


Dies öffnet die Datei und zeigt ihren Inhalt seitenweise an. Du kannst durch die Datei navigieren, ohne sie vollständig zu entpacken.


zless ist ein praktisches Werkzeug, um komprimierte Textdateien schnell und effizient zu lesen, ohne sie vorher entpacken zu müssen. Es bietet die gleiche Funktionalität wie less, jedoch speziell für .gz-Dateien, was es zu einem nützlichen Tool im Alltag eines Systemadministrators oder Entwicklers macht.

zmore





zmore:
Ein Befehl, der verwendet wird, um komprimierte Textdateien (z.B. .gz-Dateien) seitenweise anzuzeigen. zmore funktioniert ähnlich wie der more-Befehl, bietet jedoch die Möglichkeit, komprimierte Dateien direkt zu lesen, ohne sie vorher entpacken zu müssen. Dies ist besonders nützlich, wenn du nur eine Vorschau des Inhalts einer komprimierten Datei sehen möchtest.

Linux-Befehl: zmore

Anwendungsbeispiel:
Zeige den Inhalt einer komprimierten Datei logfile.gz seitenweise an mit zmore logfile.gz.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und die Protokolldateien des Servers werden regelmäßig komprimiert, um Speicherplatz zu sparen. Wenn du eine schnelle Vorschau auf eine dieser komprimierten Protokolldateien benötigst, ohne sie vollständig zu entpacken, kannst du zmore verwenden, um den Inhalt seitenweise zu lesen.

Beispiel: Anzeigen der komprimierten Protokolldatei ircd.log.gz:

bash


zmore /var/log/ircd.log.gz


Dieser Befehl zeigt den Inhalt der komprimierten Protokolldatei ircd.log.gz seitenweise an, wodurch du durch die Datei blättern kannst, um schnell die Informationen zu finden, die du benötigst, ohne die Datei zuerst entpacken zu müssen.

Ähnliche Linux-Befehle:

  • more: Zeigt den Inhalt einer Textdatei seitenweise an, aber für unkomprimierte Dateien.

  • less: Ein leistungsfähigerer Pager als more, der bidirektionales Blättern und Suche ermöglicht; auch für unkomprimierte Dateien.

  • zless: Ähnlich wie less, aber für komprimierte Dateien (.gz-Dateien).

  • zcat: Gibt den gesamten Inhalt einer komprimierten Datei auf der Konsole aus, ohne Seitenumbrüche.

  • gunzip: Entpackt eine .gz-Datei, sodass sie mit more, less oder anderen Tools gelesen werden kann.


Schalteroptionen und ihre Funktionen:



  • zmore: Standardmäßig zeigt zmore den Inhalt einer komprimierten Datei seitenweise an, ohne zusätzliche Optionen.


Es gibt keine weiteren spezifischen Schalteroptionen für zmore, da es im Wesentlichen wie more arbeitet, aber für komprimierte Dateien.

Wichtige Hinweise:



  • Komprimierte Dateien lesen: zmore ist nützlich, wenn du schnell den Inhalt von komprimierten Dateien durchsehen möchtest, ohne sie vollständig zu entpacken. Es ist besonders praktisch für Protokolldateien und andere große Textdateien, die regelmäßig komprimiert werden.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von zmore.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut, insbesondere das seitenweise Lesen komprimierter Textdateien.

  4. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. zless, more, less, zcat.

  5. AUTHOR
    Informationen über den Autor des Befehls.

  6. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man zmore











4o



Eingereicht durch: Schutzgeist


Übermittle ein Linux Befehl
Schlagwörter: