Kategorie: Linux mit Shell und BASH-Scripting

Hier befasse ich mich mit allen möglichen Themen rund um Linux, wie zum Beispiel der Installation und Konfiguration von Linux-Distributionen wie Debian oder Ubuntu, der Verwendung von Linux-Befehlen und Shell-Scripting, der Administration von Linux-Systemen, der Sicherheit von Linux-Systemen, der Entwicklung von Software auf Linux-Plattformen, und vielem mehr. Es geht auch um viele verschiedene Anwendungen von Linux für den Einsatz auf/in Server, Cloud, IoT, Cluster und viele mehr.

Linux: Was macht der »sleep«-Befehl? – Mit Beispielen

    Der sleep-Befehl ist in den meisten Linux-Distributionen standardmäßig verfügbar und ermöglicht es dem Benutzer, eine bestimmte Zeit zu warten, bevor der nächste Befehl ausgeführt wird. Es handelt sich um einen Befehl, der in der Shell verwendet wird, um eine Verzögerung oder Pause in der Ausführung von Skripten, Shell-Befehlen oder Prozessen zu erzeugen.

    Syntax

    sleep [Optionen] Zeit
    Continue reading

    Linux: Was macht die »/etc/hosts«-Datei? – Mit Beispielen

      Die /etc/hosts-Datei wird für die Auflösung von Hostnamen in IP-Adressen verwendet. Normalerweise wird in Linux-Betriebssystemen die DNS (Domain Name System)-Auflösung verwendet, um Hostnamen in IP-Adressen aufzulösen. Dabei wird eine DNS-Anfrage an einen DNS-Server gesendet, der die IP-Adresse für den angegebenen Hostnamen zurückgibt. Wenn jedoch ein Hostname in der /etc/hosts-Datei gefunden wird, wird die zugehörige IP-Adresse direkt aus dieser Datei verwendet, ohne eine DNS-Abfrage durchzuführen.

      Syntax

      Die Syntax der /etc/hosts-Datei ist recht einfach. Jede Zeile enthält eine IP-Adresse, gefolgt von mindestens einem Leerzeichen oder Tabulatorzeichen und dem dazugehörigen Hostnamen.

      Continue reading

      Linux: Was macht die »/etc/shadow«-Datei?

        Die /etc/shadow-Datei enthält verschlüsselte Passwörter für Benutzerkonten auf dem Linux-System. Im Gegensatz zur/etc/passwd-Datei, die grundlegende Informationen über Benutzerkonten enthält, speichert die /etc/shadow-Datei die Passwörter (genauer gesagt den Hash des Passworts), das Datum der letzten Änderung und das Ablaufdatum und Informationen zur Passwort-Policy. Die Datei ist nur User mit Root-Rechten les- und schreibbar, was sicherstellt, dass nur privilegierte Benutzer Zugriff auf die darin enthaltenen Informationen haben.

        Syntax

        Ein Eintrag in der /etc/shadow könnte wie folgt aussehen:

        root:$6$salt$encryptedpassword:18070:0:99999:7:::
        Continue reading

        Linux: Was macht der »ls«-Befehl? – Mit Beispielen

          Der ls-Befehl wird in der Terminalumgebung verwendet, um Informationen über Dateien und Verzeichnisse anzuzeigen. Ohne die Angabe eines Pfades zeigt er den Inhalt des aktuellen Arbeitsverzeichnisses an. ls (von “list” abgeleitet) ist einer der am häufigsten verwendeten Linux-Befehle. Diese Liste kann mit verschiedenen Optionen modifiziert werden, um zusätzliche Informationen zu den Dateien anzuzeigen oder die Ausgabe in einem bestimmten Format zu gestalten.

          Syntax

          ls [Optionen] [Dateien/Verzeichnisse]
          Continue reading

          Linux: Was macht die »/etc/apt/sources.list«-Datei?

            apt (Advanced Package Tool)-Paketverwaltung wird auf Debian-basierten Distributionen wie Ubuntu verwendet, um das Software-Ökosystem effizient zu verwalten. Der Kern des APT-Systems ist die Datei /etc/apt/sources.list, die die Softwarequellen enthält, aus denen das System Pakete beziehen kann. Jede Zeile in dieser Datei entspricht einer bestimmten Quelle und enthält Informationen wie die URL des Repositories und die Codenamen der Distribution.

            Continue reading

            Linux: Was macht der »scp«-Befehl? – Mit Beispielen

              Der scp-Befehl, auch als “Secure Copy” bekannt, ist ein äußerst nützliches Tool zur sicheren Übertragung von Dateien zwischen verschiedenen Systemen. Was den scp-Befehl besonders auszeichnet, ist seine Fähigkeit, die übertragenen Dateien automatisch zu verschlüsseln. Dies bedeutet, dass alle Daten, die mit scp übertragen werden, während der Übertragung verschlüsselt sind und somit vor unbefugtem Zugriff geschützt sind.

              Die Sicherheit des scp-Befehls wird durch die Verwendung von ssh (Secure Shell) als Transportprotokoll gewährleistet. ssh bietet eine sichere und verschlüsselte Kommunikation zwischen den beteiligten Systemen. Durch die Kombination von scp und ssh können Benutzer Dateien sicher über unsichere Netzwerke oder das Internet übertragen, ohne sich um potenzielle Sicherheitsrisiken zu sorgen.

              Continue reading

              Linux: Was macht »$0« in einem Bash Script? – Mit Beispielen

                $0 in einem Script steht für den Namen des Scripts selbst. Anders ausgedrückt, repräsentiert es den Pfad oder den Namen der ausführbaren Datei, die gerade ausgeführt wird. Meistens wird $0 wird beispielsweise für Entscheidungen basierend auf dem Script-Namen verwendet oder um Log-Nachrichten zu generieren.

                Continue reading

                Linux: Was macht die »/etc/crontab«-Datei? – Mit Beispielen

                  Die /etc/crontab-Datei wird vom Cron-Daemon verwendet wird, um Zeitpläne für das Ausführen von Befehlen oder Skripten festzulegen. Der Cron-Daemon ist ein Dienst, der auf Linux-Systemen läuft und Aufgaben zu bestimmten Zeiten oder in bestimmten Zeitintervallen automatisch ausführt. Die Datei folgt einem bestimmten Format. Jede Zeile in der Datei repräsentiert eine Aufgabe und besteht aus mehreren Feldern, die durch Leerzeichen oder Tabs getrennt sind.

                  Continue reading

                  Linux: Was macht der »hash«-Befehl? – Mit Beispielen

                    Der hash-Befehl in Linux speichert die Pfadinformationen von ausführbaren Dateien in einer internen Liste, um den Zugriff auf diese Dateien zu beschleunigen. Statt jedes Mal den vollständigen Pfad zu suchen, kann das System direkt auf die Informationen im Hash zugreifen, was die Ausführungszeit verkürzt. Wenn ein Benutzer einen Befehl ausführt, überprüft hash zuerst, ob der Befehl bereits in der hash-Tabelle enthalten ist. Falls ja, wird der gespeicherte Pfad verwendet, um den Befehl auszuführen. Falls nein, wird der vollständige Pfad des Befehls gesucht und zur Hash-Tabelle hinzugefügt.

                    Syntax

                    hash [-lr] [-p file] [-dt] [name ...]
                    Continue reading

                    Linux: Was macht der »sort«-Befehl? – Mit Beispielen

                      Der sort-Befehl wird verwendet, um Textdateien oder die Ausgabe von Befehlen zu sortieren. Er ordnet die Zeilen in einer bestimmten Reihenfolge anhand deren Inhalt. Man kann mit sort Daten in aufsteigender oder absteigender Reihenfolge sortieren oder spezifische Sortierkriterien anwenden.

                      Syntax

                      sort [OPTION] [DATEI]...
                      Continue reading

                      Linux: Was macht der »dig«-Befehl? – Mit Beispielen

                        Der dig-Befehl ist ein Netzwerk-Tool, das in der Regel auf Unix-basierten Systemen verwendet wird, um DNS-Abfragen (Domain Name System), sogenannten Querys, durchzuführen. Es wird verwendet, um DNS-Informationen wie IP-Adressen oder andere verfügbaren DNS-Records (wie MX-, NS-, TXT- oder SOA-Records) abzurufen.

                        Syntax

                        dig [OPTIONEN] Name/IP [Typ] [Klasse] [@Server]
                        Continue reading

                        Linux: Was macht der »touch«-Befehl? – Mit Beispielen

                          Der touch-Befehl wird in Unix-ähnlichen Betriebssystemen dazu verwendet, um die letzten Zugriffs-Zeitstempel (englisch access timestamp, kurz atime), Change-Zeitstempel (englisch change timestamp, kurz ctime) und/oder der letzte Änderungszeitstempel (englisch modification timestamp, kurz mtime) einer Datei zu ändern. Ohne weitere Angaben ändert touch die Zeitstempel von mtime und atime auf den aktuellen Zeitpunkt. Wenn die Datei nicht vorhanden ist, wird sie dabei erstellt. touch ist besonders nützlich, wenn man schnell eine Datei erstellen möchte, ohne den Inhalt zu bearbeiten, oder wenn man das Datum einer Datei ändern möchte, ohne den Inhalt zu ändern.

                          Continue reading

                          Linux: Was macht der »chown«-Befehl? – Mit Beispielen

                            Der chown-Befehl (kurz für “change owner”) wird in Unix-basierten Betriebssystemen verwendet, um den Eigentümer eines bestimmten Datei- oder Verzeichnisobjekts geändert werden kann.

                            Syntax

                            chown [OPTION] [OWNER][:[GROUP]] FILE...
                            • OWNER ist der neue Eigentümer
                            • GROUP ist die neue Gruppe.
                            Continue reading

                            Linux: Was macht der »chmod«-Befehl? – Mit Beispielen

                              Der chmod-Befehl wird in Unix-ähnlichen Betriebssystemen verwendet, um die Zugriffsrechte (Lesen, Schreiben und Ausführen) auf Dateien und Verzeichnisse zu ändern. chmod ist eine Abkürzung für “change mode”.

                              Syntax

                              chmod [OPTIONEN] RECHTE FILE...
                              • RECHTE: Die neuen Zugriffsrechte, die gesetzt werden sollen.
                              • FILE...: Der Pfad zur Datei, die Pfade zu den Dateien oder zum Ordner, dessen Zugriffsrechte geändert werden sollen.
                              Continue reading

                              Linux: Dateiberechtigungen erklärt. – Mit Beispielen

                                In Linux und anderen Unix-basierten Betriebssystemen sind die Dateiberechtigungen ein wichtiger Bestandteil der Dateisystem-Sicherheit. Jede Datei oder Ordner hat drei Arten von Benutzern, die darauf zugreifen können: den Eigentümer, die Gruppe und andere Benutzer. Jede dieser Benutzergruppen hat separate Berechtigungen zum Lesen, Schreiben und Ausführen der Datei oder des Ordners.
                                Die Zugriffsrechte können entweder symbolisch oder numerisch angegeben werden. Das Symbol r steht für Leserechte (englisch, read), w für Schreibrechte (englisch, write) und x für Ausführungsrechte (englisch, execute). Diese Symbole können in Kombination verwendet werden, um die Zugriffsrechte für jeden Benutzer zu definieren. Wenn die Zugriffsrechte für eine Datei oder einen Ordner nicht korrekt festgelegt sind, kann dies zu Sicherheitsproblemen führen, da Benutzer möglicherweise auf Dateien zugreifen oder sie ändern können, für die sie keine Berechtigung haben.

                                Continue reading

                                Linux: Was macht der »alias«-Befehl? – Mit Beispielen

                                  Der alias-Befehl in Linux ermöglicht es dem Benutzer, Abkürzungen oder alternative Namen für längere Befehle oder Sequenzen von Befehlen zu erstellen. Ein Alias ist im Grunde genommen ein symbolischer Name, der einem Befehl zugewiesen wird. Wenn der alias später aufgerufen wird, führt das System automatisch den zugewiesenen Befehl aus. Auf diese Weise können Benutzer häufig verwendete oder lange Befehle schnell und einfach ausführen, ohne den vollständigen Befehl jedes Mal neu eingeben zu müssen.

                                  Syntax

                                  alias [-p] [name[=value] ...]
                                  • name ist der Name des Alias
                                  • value ist der Befehl, der mit dem Alias assoziiert werden soll. Wenn kein value angegeben wird, wird der Alias gelöscht.
                                  Continue reading

                                  Linux: Was macht der »cp«-Befehl? – Mit Beispielen

                                    Der cp-Befehl wird verwendet, um Dateien oder Verzeichnisse von einem Ort zu einem anderen zu kopieren. Der cp steht für “copy” (engl. für “kopieren”).

                                    Syntax

                                    cp [OPTIONEN] Quelldatei(en) Ziel
                                    • Quelldatei(en): Steht für die Datei, Dateien oder das Verzeichnis, das kopiert werden soll.
                                    • Ziel: Steht für den Ort, an dem die Kopie erstellt werden soll.
                                    Continue reading

                                    Linux: Was macht der »mv«-Befehl? – Mit Beispielen

                                      Der mv-Befehl in Linux steht für “move” und wird verwendet, um Dateien oder Verzeichnisse von einem Speicherort zu einem anderen zu verschieben oder umzubenennen.

                                      Syntax

                                      mv [OPTIONEN] Quelldatei(en) Ziel
                                      • Quelldatei(en): Der Pfad zur Datei, Dateien oder zum Verzeichnis, das verschoben oder umbenannt werden soll.
                                      • Ziel: Ist der Pfad zum neuen Speicherort oder dem neuen Namen. Wenn Ziel ein vorhandenes Verzeichnis ist, wird die Datei oder das Verzeichnis in dieses Verzeichnis verschoben und der Name beibehalten. Wenn Ziel eine neue Datei oder ein neues Verzeichnis ist, wird die Datei oder das Verzeichnis umbenannt und an den neuen Speicherort verschoben.
                                      Continue reading

                                      Linux: Was macht der »du«-Befehl? – Mit Beispielen

                                        Der du-Befehl ist ein Befehl in Linux, der die Größe von Dateien und Verzeichnissen im Dateisystem angibt. du steht für “disk usage” (Festplattenplatzverbrauch).

                                        Syntax

                                        du [OPTION]... [FILE]...
                                        • OPTION: Es stehen verschiedene Optionen zur Verfügung, um das Verhalten des du-Befehls zu ändern. Um eine vollständige Liste der verfügbaren Optionen zu erhalten, können Sie mit man du das Manual abrufen.
                                        • FILE: Wenn Sie du ohne Argumente ausführen, wird es die Größe aller Dateien und Verzeichnisse im aktuellen Verzeichnis und seinen Unterordnern ausgeben. Wenn Sie du zusammen mit dem Pfad zu einem bestimmten Verzeichnis ausführen, gibt es die Größe aller Dateien und Verzeichnisse in diesem Verzeichnis und seinen Unterordnern an.
                                        Continue reading

                                        Linux: Was macht der »watch«-Befehl? – Mit Beispielen

                                          Mit dem Befehl watch kann man das Ergebnis eines anderen Befehls in regelmäßigen Abständen anzeigen lassen, ohne den Befehl immer wieder manuell ausführen zu müssen. Womit man den Fortschritt von Prozessen verfolgen kann, wie zum Beispiel das Verfolgen von Netzwerkstatistiken.

                                          Syntax

                                          watch [option] command

                                          Hierbei steht command für den Befehl, den man überwachen möchte.

                                          Einige häufig verwendete Optionen von watch sind:

                                          • -n <sek> oder --interval <sek>: Gibt die Anzahl der Sekunden an, die zwischen jeder Ausführung des überwachten Befehls liegen, default 2.
                                          • -d oder --differences: Hebt die Unterschiede zwischen der aktuellen und der vorherigen Ausgabe des Befehls hervor.
                                          • -c oder --color: Wird verwendet um die Ausgabe in Farbe darzustellen
                                          • -t oder --no-title: Unterdrückt die Anzeige des Titels in der Ausgabe.
                                          • -b oder --beep: Spielt einen Piepton ab, wenn sich die Ausgabe ändert.
                                          Continue reading

                                          Linux: Was sind und wie verwende ich »exit codes« in BASH? – Mit Beispielen

                                            »exit codes« oder »Exit-Codes« (auch »return codes«) sind numerische Werte, die von einem Programm oder Befehl an das Betriebssystem zurückgegeben werden, beim Beenden. Der Exit-Code sagt aus, ob das Programm oder der Befehl erfolgreich ausgeführt wurde oder nicht. Im Allgemeinen gibt ein Exit-Code von 0 an, dass das Programm erfolgreich beendet wurde, während jeder anderen numerischen Werte einen Fehler signalisiert. Exit-Codes haben in der Regel Werte zwischen 0 und 255 und können damit den Grund für einen Fehler identifizieren.

                                            Continue reading