Skip to content

Linux Befehle - ls & tail

Linux
  • Jeder von Euch weiß hoffentlich, was ein Script ist!? In diesen Scripten, schreibt man eine Reihe von Linuxbefehlen rein, die beim Aufrufen des Scriptes dann zeilenweise abgearbeitet werden. Hier mal ab und zu, ich hoffe für den ein oder anderen interessant, nette Beispiele. Hier das Erste 😉

    Wir haben ein Backup-Verzeichnus, in das regelmäßig VMs gesichert werden, auf dem Host. Nun möchten wir ab und zu die letzte Version sichern, sagen wir hier bei mir zu Hause. Es soll hier jetzt nicht ums runterladen usw. gehen, sondern nur um das Suchen und Finden der letzten aktuellen Sicherung.

    webserver=$(ls -1tr --group-directories-first vzdump-qemu-100*.vma.* | tail -n 1)
    

    Das da oben ist ein funktionierendes Beispiel. Was macht es? Wir zerlegen das mal ein wenig, da es sich hier um zwei Befehle handelt, die zusammengefasst werden.

    * webserver
    * ls -1tr --group-directories-first vzdump-qemu-100*.vma.*
    * tail -n 1
    

    webserver ist dabei eine Variable
    Der Befehl ls sollte allgemein bekannt sein, hier kombiniert mit ein paar Optionen
    Und der Befehl tail

    ls

    ls steht für List und gibt den Inhalt eines Verzeichnisses aus. Die Optionen bedeuten

    -1                                   list one file per line.  Avoid '\n' with -q or -b
    -t                                   sort by modification time, newest first
    -r, --reverse                        reverse order while sorting
    --group-directories-first            group directories before files;
    

    Quelle: ls --help

    Jedes Ergebnis kommt in eine Zeile, das Neueste zuerst. Und das Ganze reverse, also anders herum. Damit steht das neueste File unten. Evt. vorhandene Ordner kommen an den Anfang der Ausgabe. Beispiel

    ls -1tr --group-directories-first vzdump-qemu-100*.vma.*
    vzdump-qemu-100-2019_09_05-03_00_01.vma.lzo
    vzdump-qemu-100-2019_09_12-03_00_01.vma.lzo
    

    Hier sehen wir, das wir zwei Dateien haben. Die Neueste steht ganz unten.

    tail

    Mit tail kann man sich die letzte Zeile einer Datei anzeigen. Hier im Beispiel, geben wir die letzte Zeile mit

    -n 1
    

    aus. Standardmäßig gibt tail die letzten 10 Zeilen aus. Somit bekommen wir von unserem Beispiel oben, die letzte Zeile angezeigt.

    root@vms-01 /backup/dump # ls -1tr --group-directories-first vzdump-qemu-100*.vma.* | tail -n 1
    vzdump-qemu-100-2019_09_12-03_00_01.vma.lzo
    

    Ausgangsbefehl

    Der Befehl ganz oben, ich wiederhole noch mal

    webserver=$(ls -1tr --group-directories-first vzdump-qemu-100*.vma.* | tail -n 1)
    

    macht folgendes. Das $-Zeichen speichert das Ergebnis von ls und tail zwischen und weist es der Variablen webserver zu. Das Zeichen | verbindet zwei Linuxbefehle, erst wird der eine abgearbeitet, dann der Zweite. Diese Variable können wir dann weiterverarbeiten. Beispiel

    echo $webserver
    vzdump-qemu-100-2019_09_12-03_00_01.vma.lzo
    

    Wer inhaltliche Fehler findet, dafür gibt es hier den Button mit der Aufschrift Antworten 😉

  • Manjaro - KDE Plasma 6

    Linux
    3
    0 Stimmen
    3 Beiträge
    626 Aufrufe
    FrankMF

    Da fällt mir heute beim Lesen dieses Beitrages auf das ich damals ja auf unstable gestellt habe.

    [frank-manjaro ~]# pacman-mirrors --get-branch unstable

    Anleitung dazu -> https://wiki.manjaro.org/index.php/Switching_Branches

    Ok, da könnte ja auch mal was schief gehen? Da ich hier aber ein btrfs Filesystem fahre und Timeshift Snapshots anlegt, sollte das Risiko überschaubar sein.

    567442e5-80f0-4ce9-9b91-3e8f9a4a94d8-grafik.png

    Es werden bei jeder Aktion vorher Snapshots angelegt, auf die man im Grub Menü zugreifen kann und diese wieder installieren lassen kann. Hatte das früher schon mal getestet, ging wirklich gut. Werde ich die Tage auch hier auf dem System, zur Sicherheit, mal testen.

    Fazit, ich lasse das mal so wie es ist 🙂

  • Semaphore - Installation & Anwendung

    Verschoben Ansible
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    FrankMF

    Ich parke das mal hier, damit ich das nicht noch mal vergesse. Hat mich eben mal wieder eine Stunde gekostet 😞

    /etc/ansible/ansible.cfg

    [defaults] host_key_checking = False

    Edit -> https://linux-nerds.org/topic/1493/ansible-host_key_checking

  • NAS 2023 - Software Teil 2

    Angeheftet Verschoben Linux
    1
    0 Stimmen
    1 Beiträge
    194 Aufrufe
    Niemand hat geantwortet
  • Manjaro KDE Plasma 21.2.6

    Linux
    16
    0 Stimmen
    16 Beiträge
    497 Aufrufe
    FrankMF

    @FrankM sagte in Manjaro KDE Plasma 21.2.6:

    Eines betrifft die Anordnung der Icons auf dem Desktop. Die Anordnung, die ich wähle, werden immer wieder geändert. Unschön, aber den Desktop nutze ich so gut wie gar nicht. Also kann ich auch auf den Fix warten.

    Kann noch was dauern
    https://pointieststick.com/2023/03/03/this-week-in-kde-plasma-6-begins/

    Desktop icons on the active activity should no longer inappropriately re-arrange themselves when the set of connected screens changes. However during the process of investigation, we discovered that the code for storing desktop file position is inherently problematic and in need of a fundamental rewrite just like we did for multi-screen arrangement in Plasma 5.27. This will be done for Plasma 6.0, and hopefully make Plasma’s long history of being bad about remembering desktop icon positions just that–history (Marco Martin, Plasma 5.27.3. Link)

  • nano - Zeilennummern dauerhaft anzeigen

    Linux
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Node.js - Security Update

    Linux
    1
    0 Stimmen
    1 Beiträge
    203 Aufrufe
    Niemand hat geantwortet
  • Ubiquiti ER-X - iperf

    Verschoben OpenWRT & Ubiquiti ER-X
    2
    0 Stimmen
    2 Beiträge
    271 Aufrufe
    FrankMF

    Hier noch ein Test von DMZ / LAN und andersrum.

    frank@frank-MS-7C37:~$ iperf3 -c 192.168.5.15 Connecting to host 192.168.5.15, port 5201 [ 5] local 192.168.3.213 port 44052 connected to 192.168.5.15 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 114 MBytes 952 Mbits/sec 314 153 KBytes [ 5] 1.00-2.00 sec 112 MBytes 937 Mbits/sec 259 205 KBytes [ 5] 2.00-3.00 sec 111 MBytes 929 Mbits/sec 210 212 KBytes [ 5] 3.00-4.00 sec 111 MBytes 934 Mbits/sec 235 202 KBytes [ 5] 4.00-5.00 sec 112 MBytes 936 Mbits/sec 263 153 KBytes [ 5] 5.00-6.00 sec 111 MBytes 935 Mbits/sec 255 209 KBytes [ 5] 6.00-7.00 sec 112 MBytes 937 Mbits/sec 313 129 KBytes [ 5] 7.00-8.00 sec 111 MBytes 932 Mbits/sec 296 209 KBytes [ 5] 8.00-9.00 sec 111 MBytes 934 Mbits/sec 258 208 KBytes [ 5] 9.00-10.00 sec 111 MBytes 934 Mbits/sec 292 201 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.09 GBytes 936 Mbits/sec 2695 sender [ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec receiver iperf Done. frank@frank-MS-7C37:~$ iperf3 -R -c 192.168.5.15 Connecting to host 192.168.5.15, port 5201 Reverse mode, remote host 192.168.5.15 is sending [ 5] local 192.168.3.213 port 44058 connected to 192.168.5.15 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 109 MBytes 911 Mbits/sec [ 5] 1.00-2.00 sec 109 MBytes 912 Mbits/sec [ 5] 2.00-3.00 sec 109 MBytes 912 Mbits/sec [ 5] 3.00-4.00 sec 109 MBytes 912 Mbits/sec [ 5] 4.00-5.00 sec 109 MBytes 912 Mbits/sec [ 5] 5.00-6.00 sec 108 MBytes 903 Mbits/sec [ 5] 6.00-7.00 sec 109 MBytes 912 Mbits/sec [ 5] 7.00-8.00 sec 109 MBytes 912 Mbits/sec [ 5] 8.00-9.00 sec 109 MBytes 912 Mbits/sec [ 5] 9.00-10.00 sec 109 MBytes 912 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.06 GBytes 913 Mbits/sec 114 sender [ 5] 0.00-10.00 sec 1.06 GBytes 911 Mbits/sec receiver iperf Done.
  • ReactPHP auf einem ROCKPro64 testen

    Linux
    1
    0 Stimmen
    1 Beiträge
    178 Aufrufe
    Niemand hat geantwortet