Skip to content

Liste von Linuxbefehlen

Angeheftet Linux
  • Kleine Liste von Befehlen, die ich immer mal wieder brauche. Bis ich die im Kopf behalte, muss ich sie mir aufschreiben 🙂

    ls

    Liste nur der Directories ausgeben

    [frank@eos etc]$ ls -d */
    alsa/                 daxctl.conf.d/  fwupd/           kernel/        modules-load.d/  pkcs11/         skel/              vpnc/
    audit/                dconf/          grub.d/          keyutils/      ndctl/           pki/            ssh/               wpa_supplicant/
    avahi/                debuginfod/     gss/             ld.so.conf.d/  ndctl.conf.d/    polkit-1/       ssl/               X11/
    binfmt.d/             default/        gssproxy/        libblockdev/   netctl/          ppp/            sudoers.d/         xdg/
    bluetooth/            depmod.d/       gtk-2.0/         libinput/      NetworkManager/  profile.d/      sysctl.d/          xinetd.d/
    ca-certificates/      dracut.conf.d/  gtk-3.0/         libnl/         nginx/           pulse/          systemd/           xl2tpd/
    cifs-utils/           eos-apps-info/  hp/              libpaper.d/    openldap/        rc_keymaps/     tmpfiles.d/
    conf.d/               exports.d/      ifplugd/         libsmbios/     openvpn/         request-key.d/  tpm2-tss/
    credstore/            firewall/       ImageMagick-7/   logrotate.d/   pacman.d/        sane.d/         udev/
    credstore.encrypted/  firewalld/      iproute2/        lvm/           pam.d/           sddm.conf.d/    udisks2/
    cups/                 fonts/          iptables/        ModemManager/  pinentry/        security/       UPower/
    cupshelpers/          foomatic/       java17-openjdk/  modprobe.d/    pipewire/        sensors.d/      usb_modeswitch.d/
    

    grep

    Wenn man mit grep die Datei syslog durchsucht, geht das einwandfrei. Doch mit der Datei syslog.1 meint grep ein binary File vor sich zu haben und weigert sich.

    rock64@rockpro64v_2_1:~$ sudo grep "Restic" /var/log/syslog.1
    Binary file /var/log/syslog.1 matches
    

    Mit der Option -a behandelt grep die Datei als Textdatei.

     rock64@rockpro64v_2_1:~$ sudo grep -a "Restic" /var/log/syslog.1
     Sep 18 04:33:05 rockpro64v_2_1 root: Restic-Backup Script erfolgreich! 18.09.2018_04:30
     Sep 18 04:35:06 rockpro64v_2_1 root: Restic-Backup erfolgreich überprüft! 18.09.2018_04:30
    

    Was ich auch immer wieder brauche, wenn ich dmesg nach irgendwas durchsuchen muss.

     dmesg | grep -i memory
     dmesg | grep -E "memory|dma|usb|tty"
    

    dpkg

    Wenn man Kamils Mainline runtergeladen hat und die .deb Dateien installieren möchte.

    sudo dpkg -i *.deb
    

    find

    ACHTUNG! Nicht ungefährlich der Befehl!

    # Alle Dateien löschen, die älter als 5 Tage sind.
    find /daten -name "*.rdb*" -mtime 5 -exec rm {} \;
    

    Hier noch ein aktuelles Beispiel

    ## Nur die Datenbanken der letzten 30 Tage behalten
    find /mnt/nas/Sicherungen_Cloud/mysql/ -name "joomla*.sql" -mtime +30 -exec rm {} \;
    

    du

    Verzeichnisgröße ermitteln

    du -hs /folder
    

    und Unterverzeichnisse

    du -shc /mnt/HC_Volume_XXXXXXXXX/nextcloud_data/*
    

    tail

    Log live anzeigen

    tail -f /var/log/...
    

    Die letzten 30 Zeilen

    tail -n 30 /var/log/syslog
    

    pstree

    apt install psmisc
    

    Ausgabe von pstree

    root@NFSServer:~# pstree
    systemd─┬─agetty
            ├─blkmapd
            ├─cron
            ├─dbus-daemon
            ├─qemu-ga
            ├─rpc.idmapd
            ├─rpc.mountd
            ├─rpcbind
            ├─rsyslogd───3*[{rsyslogd}]
            ├─sshd───sshd───sshd───bash───su───bash───pstree
            ├─systemd───(sd-pam)
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-timesyn───{systemd-timesyn}
            └─systemd-udevd
    

    dig (dns-utils)

    root@rockpro64:/etc/unbound# dig google.com
    
    ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> google.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59187
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;google.com.			IN	A
    
    ;; ANSWER SECTION:
    google.com.		300	IN	A	172.217.16.142
    
    ;; Query time: 26 msec
    ;; SERVER: ::1#53(::1)
    ;; WHEN: Sun Feb 23 10:12:20 UTC 2020
    ;; MSG SIZE  rcvd: 55
    

    openssl

    openssl dhparam -out /etc/nginx/certs/dhparam.pem 2048
    

    und

    openssl rand -hex 32
    

    nmap

    root@debian:~# nmap 192.168.3.14
    Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-11 13:03 CEST
    Nmap scan report for 192.168.3.14
    Host is up (0.00096s latency).
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    22/tcp open  ssh
    MAC Address: 62:03:B0:D6:DC:B3 (Unknown)
    
    Nmap done: 1 IP address (1 host up) scanned in 1.63 seconds
    

    mdadm

    cat /proc/mdstat
    

    &

    watch -n1 cat /proc/mdstat
    

    &

    mdadm --assemble --scan 
    

    nmap

    root@frank-MS-7C37:~# nmap 192.168.3.11
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-10 17:55 CEST
    Nmap scan report for 192.168.3.11
    Host is up (0.00082s latency).
    Not shown: 998 filtered ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    8000/tcp open  http-alt
    MAC Address: 62:03:B0:D6:DC:B3 (Unknown)
    
    Nmap done: 1 IP address (1 host up) scanned in 7.05 seconds
    

    telnet

    root@frank-MS-7C37:~# telnet 192.168.3.11 8000
    Trying 192.168.3.11...
    Connected to 192.168.3.11.
    Escape character is '^]'.
    ^C
    Connection closed by foreign host.
    

    Zum Beenden von telnet

    CTRL + ]
    

    und dann "quit" eingeben

    update-initramfs -u

    update-initramfs -u
    

    Einen symbolischen Link anlegen

    ln -s ~/Downloads ~/Desktop/Download
    

    Debian Version

    cat /etc/debian_version
    

    Partitionen anzeigen

    sudo lsblk -f
    

    .gz entpacken

    gunzip openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img.gz
    

    netstat

    netstat -tulpn
       
    netstat -tulpn | grep 80
    

    ip

    ip in Farbe!

    ip -c a
    

    Screenshot_20221229_075628.png

    Konsole in Englisch

    [frank-ms7c92 ~]# LC_ALL=C  free
    

    Ausgabe

    [frank-ms7c92 ~]# free
                  gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
    Speicher:   61609880    13752348    36892556      837540    10964976    46327716
    Swap:       67767424           0    67767424
    [frank-ms7c92 ~]# LC_ALL=C free
                   total        used        free      shared  buff/cache   available
    Mem:        61609880    13781124    36863292      837540    10965464    46298944
    Swap:       67767424           0    67767424
    
  • In meinem neuen PC ist eine 2,5G Karte drin, das muss man ja am WE mal testen. Und so bekommt man ein paar Infos zu den Interfaces.

    root@frank-MS-7C37:~# ethtool enp41s0
    Settings for enp41s0:
    	Supported ports: [ TP MII ]
    	Supported link modes:   10baseT/Half 10baseT/Full 
    	                        100baseT/Half 100baseT/Full 
    	                        1000baseT/Full 
    	                        2500baseT/Full 
    	Supported pause frame use: Symmetric Receive-only
    	Supports auto-negotiation: Yes
    	Supported FEC modes: Not reported
    	Advertised link modes:  10baseT/Half 10baseT/Full 
    	                        100baseT/Half 100baseT/Full 
    	                        1000baseT/Full 
    	                        2500baseT/Full 
    	Advertised pause frame use: Symmetric Receive-only
    	Advertised auto-negotiation: Yes
    	Advertised FEC modes: Not reported
    	Speed: Unknown!
    	Duplex: Unknown! (255)
    	Port: Twisted Pair
    	PHYAD: 0
    	Transceiver: internal
    	Auto-negotiation: on
    	MDI-X: Unknown
    	Supports Wake-on: pumbg
    	Wake-on: d
    	Link detected: no
    
  • systemd

    Anzeige der geladenen Dienste

    root@host:/etc/systemd/system# systemctl --type=service
      UNIT                                                  LOAD   ACTIVE SUB     DESCRIPTION                                                                  
      atd.service                                           loaded active running Deferred execution scheduler
      blk-availability.service                              loaded active exited  Availability of block devices
      cloud-config.service                                  loaded active exited  Apply the settings specified in cloud-config
      cloud-final.service                                   loaded active exited  Execute cloud user/final scripts
      cloud-init-local.service                              loaded active exited  Initial cloud-init job (pre-networking)
      cloud-init.service                                    loaded active exited  Initial cloud-init job (metadata service crawler)
      console-setup.service                                 loaded active exited  Set console font and keymap
      cron.service                                          loaded active running Regular background program processing daemon
      crowdsec-firewall-bouncer.service                     loaded active running The firewall bouncer for CrowdSec
      crowdsec.service                                      loaded active running Crowdsec agent
      dbus.service                                          loaded active running D-Bus System Message Bus
      getty@tty1.service                                    loaded active running Getty on tty1
      ifupdown-pre.service                                  loaded active exited  Helper to synchronize boot up for ifupdown
      keyboard-setup.service                                loaded active exited  Set the console keyboard layout
      kmod-static-nodes.service                             loaded active exited  Create List of Static Device Nodes
      lvm2-monitor.service                                  loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
      mariadb.service                                       loaded active running MariaDB 10.11.3 database server
      networking.service                                    loaded active exited  Raise network interfaces
      nginx.service                                         loaded active running A high performance web server and a reverse proxy server
      qemu-guest-agent.service                              loaded active running QEMU Guest Agent
      resolvconf.service                                    loaded active exited  Nameserver information manager
      semaphore.service                                     loaded active running Ansible Semaphore
      serial-getty@ttyS0.service                            loaded active running Serial Getty on ttyS0
      ssh.service                                           loaded active running OpenBSD Secure Shell server
      systemd-binfmt.service                                loaded active exited  Set Up Additional Binary Formats
      systemd-fsck@dev-disk-by\x2duuid-1E22\x2dDC00.service loaded active exited  File System Check on /dev/disk/by-uuid/1E22-DC00
      systemd-journal-flush.service                         loaded active exited  Flush Journal to Persistent Storage
      systemd-journald.service                              loaded active running Journal Service
      systemd-logind.service                                loaded active running User Login Management
      systemd-modules-load.service                          loaded active exited  Load Kernel Modules
      systemd-random-seed.service                           loaded active exited  Load/Save Random Seed
      systemd-remount-fs.service                            loaded active exited  Remount Root and Kernel File Systems
      systemd-sysctl.service                                loaded active exited  Apply Kernel Variables
      systemd-sysusers.service                              loaded active exited  Create System Users
      systemd-timesyncd.service                             loaded active running Network Time Synchronization
      systemd-tmpfiles-setup-dev.service                    loaded active exited  Create Static Device Nodes in /dev
      systemd-tmpfiles-setup.service                        loaded active exited  Create Volatile Files and Directories
      systemd-udev-trigger.service                          loaded active exited  Coldplug All udev Devices
      systemd-udevd.service                                 loaded active running Rule-based Manager for Device Events and Files
      systemd-update-utmp.service                           loaded active exited  Record System Boot/Shutdown in UTMP
      systemd-user-sessions.service                         loaded active exited  Permit User Sessions
      ufw.service                                           loaded active exited  Uncomplicated firewall
      user-runtime-dir@0.service                            loaded active exited  User Runtime Directory /run/user/0
      user@0.service                                        loaded active running User Manager for UID 0
    
    LOAD   = Reflects whether the unit definition was properly loaded.
    ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
    SUB    = The low-level unit activation state, values depend on unit type.
    44 loaded units listed. Pass --all to see loaded but inactive units, too.
    To show all installed unit files use 'systemctl list-unit-files'.
    

  • NodeBB - v3.3.0

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    76 Aufrufe
    Niemand hat geantwortet
  • Debian 12 Bookworm - Release 12.1

    Linux
    1
    0 Stimmen
    1 Beiträge
    99 Aufrufe
    Niemand hat geantwortet
  • KDE Plasma setzt auf Wayland

    Linux
    1
    0 Stimmen
    1 Beiträge
    49 Aufrufe
    Niemand hat geantwortet
  • NiceGUI

    Linux
    2
    0 Stimmen
    2 Beiträge
    233 Aufrufe
    FrankMF

    Ich habe mir das jetzt einige Tage gegeben und habe mich dagegen entschieden. Werde weiterhin PyWebIO benutzen. Hauptgrund ist die wesentlich bessere Dokumentation -> https://pywebio.readthedocs.io/en/latest/index.html

    Da kann ich mir auch mit meinem Python Kenntnisstand die Informationen holen, die ich brauche um es einzusetzen.

  • OpenWRT - Zonen

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

    Es ist was heller geworden 🙂

    7b86e97c-31a5-44b6-809f-25d9d1c2ee4a-image.png

    Die besagte Forward Regel

    Zonen.png

    Diese Forward Regel zieht erst dann, wenn es mehrere Interfaces in einer Zone gibt. Aus der Doku

    INPUT rules for a zone describe what happens to traffic trying to reach the router itself through an interface in that zone. OUTPUT rules for a zone describe what happens to traffic originating from the router itself going through an interface in that zone. FORWARD rules for a zone describe what happens to traffic passing between different interfaces belonging in the same zone.

    Das heisst nun, das ein Forwarding zwischen zwei Zonen immer eine spezifische Regel unter Traffic Rules benötigt.

    Forwarding between zones always requires a specific rule.

    Somit ist ein Forwarding zwischen zwei Zonen in den Standard Einstellungen nicht erlaubt. Das kann ich hier auch so bestätigen. Das ist ja auch das was ich mit meiner "DMZ"-Zone erreichen möchte. Kein Zugriff auf LAN.

    Unter Zone ⇒ Forwardings kann man jetzt sehen, das das Forwarding von LAN in Richtung WAN und DMZ erlaubt ist. WAN ist logisch, sonst komme ich ja nicht ins Internet. DMZ habe ich eingestellt, damit ich auch Teilnehmer im DMZ Netz erreichen kann, wenn ich da mal ran muss.

    8a548c29-8bc5-4074-8099-66460bcea9a8-image.png

    Stelle ich das jetzt so ein.

    dca8b393-f613-4cab-a377-ffbc2bb8ddf5-image.png

    Dann kann ich von der DMZ Zone aus das LAN erreichen. Aha, so langsam verstehe ich 😉

    Quelle: https://forum.openwrt.org/t/firewall-zones-and-settings/84369

  • Rest-Server

    Verschoben Restic
    8
    0 Stimmen
    8 Beiträge
    529 Aufrufe
    FrankMF

    Dann mal eben ausprobiert. Auf meinem Server war die Version 0.9.7 selber, mit go, gebaut. Dann mache ich das auch mit der v0.10.0 so. Aber bevor ich anfange, wird die v0.9.7 gesichert.

    mv /usr/local/bin/rest-server /usr/local/bin/rest-server_0_9_7

    So erspare ich mir im Problemfall das selber bauen.

    Ok, dann die neue Version bauen.

    git clone https://github.com/restic/rest-server.git cd rest-server go run build.go

    Danach befindet sich im Verzeichnis die Binärdatei rest-server

    Die kopieren wir jetzt

    cp rest-server /usr/local/bin

    Danach kurzer Test

    # rest-server --version rest-server 0.10.0 (v0.10.0-6-g037fe06) compiled with go1.11.6 on linux/amd64

    Gut Version passt 🙂

    Dann ein Backup gestartet. Das sichert einen Teil meines Home-Verzeichnis

    Files: 153 new, 100 changed, 177857 unmodified Dirs: 0 new, 1 changed, 0 unmodified Added to the repo: 81.881 MiB processed 178110 files, 80.571 GiB in 0:28 snapshot 607e0027 saved Applying Policy: keep the last 3 snapshots, 3 monthly snapshots keep 5 snapshots: ID Time Host Tags Reasons Paths --------------------------------------------------------------------------------------- fa97890e 2020-07-25 21:02:05 frank-XXX monthly snapshot /home/frank 5b073bbb 2020-08-30 10:17:27 frank-XXX monthly snapshot /home/frank f7cf37ef 2020-09-06 15:13:03 frank-XXX last snapshot /home/frank 0157462c 2020-09-13 13:32:12 frank-XXX last snapshot /home/frank 607e0027 2020-09-14 08:09:34 frank-XXX last snapshot /home/frank monthly snapshot --------------------------------------------------------------------------------------- 5 snapshots remove 1 snapshots: ID Time Host Tags Paths --------------------------------------------------------------------- 3010b7cc 2020-09-06 11:39:27 frank-XXX /home/frank --------------------------------------------------------------------- 1 snapshots 1 snapshots have been removed, running prune counting files in repo building new index for repo [1:34] 100.00% 17351 / 17351 packs

    So weit funktioniert das genau wie vorher. Im Changelog stand ja was von Subfoldern. Das betrifft mich nicht, weil ich für jeden User genau ein Verzeichnis habe.

    So mit alles Gut 🙂 Dann warte ich mal morgen ab, ob die täglichen Backups der Server rund laufen.

  • checkmk - Agent installieren

    Verschoben checkmk
    1
    0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet
  • Vorstellung von Joplin

    Linux
    3
    0 Stimmen
    3 Beiträge
    969 Aufrufe
    FrankMF

    Heute das Ganze nochmal ausprobiert. 🙂

    Unter "Werkzeuge/Allgemeine Einstellungen"

    0_1539095579387_2541359f-78f0-4b14-b540-beddb80e7f45-grafik.png

    Danach auf "Synchronisieren" klicken. Nach kurzer Zeit fragt er nach dem fehlenden Passwort. Passwort eingeben und kurze Zeit später waren alle Daten wieder da. Diesmal ging das ruckzuck.

    Joplin 1.0.111 (prod, linux)