Häufig genutzte Shell Befehle

Die Seite wird mit häufig von mir gebrauchten Befehlen aktualisiert bei denen ich mich erwische, sie immer und immer wieder zu er-googlen. Und ja, hier landen auch sehr einfache Befehle 😉

Git

Reset des git repos zum Stand des Upstream Branches

git fetch origin
git reset --hard origin/master

Oder auch einfach

git config --global alias.fuck 'reset --hard HEAD'

Xen Guest Tools installieren

Debian:

mkdir -p /mnt/cdrom
mount /dev/xvdd /mnt/cdrom
/mnt/cdrom/Linux/install.sh
umount /mnt/cdrom

Ubuntu:

apt install xen-guest-utilities

Externe IP herausfinden

curl -s -6 ifconfig.co/json | jq '.'
{
"ip": "2a03:4000:26:d1::2",
"ip_decimal": 5.584445078780264e+37,
"country": "Germany",
"country_eu": true,
"country_iso": "DE",
"hostname": "vps07.geekbundle.org",
"latitude": 51,
"longitude": 9
}

Weitere Beispiele unter https://ifconfig.co

Rekursiv Rechte auf Ordner / Dateien setzen

find /path/to/base/dir -type d -exec chmod 755 {} +
find /path/to/base/dir -type f -exec chmod 644 {} +

Sed

Leere und mit # auskommentierte Zeilen verstecken:

sed -e '/\s*#.*$/d' -e '/^\s*$/d' ./conf.conf

Zeile auskommentieren:

sed -e '/ZEILEN_ZUM_AUSKOMMENTIEREN/ s/^#*/#/' -i /etc/fstab

Fedora Package Management

Alle installierten Pakete auflisten:

dnf list installed

Inhalt eines Paketes anzeigen:

dnf repoquery -l packagename

Update alle python3 packages mit pip

python3 -m pip list --outdated --format=json | \
      jq -r '.[] | "\(.name)==\(.latest_version)"' | \
      xargs --no-run-if-empty -n1 python3 -m pip install -U

Windows Lizenzkey auslesen

sudo cat /sys/firmware/acpi/tables/MSDM | tail -c 32 | xargs -0 echo

Per Host Passwort

Wenn man für jeden Host ein eigenes Passwort haben möchte, aber all die Passwörter z.B. nicht in einer Datenbank speichern möchte, kann man sich Passwörter per openssl vom selben hmac "Master Key" ableiten lassen. Dann muss nur noch der Master Key abgespeichert werden und kann sich bei Bedarf das Passwort über openssl ausgeben lassen
Master Key erstellen:

masterkey=$(pwgen 64 1)

Für jeden Host

echo -n "hostname+year" | openssl dgst -sha256 -hmac "$masterkey" | cut -c 10-26

In welchem Namespace wird ein Mountpoint genutzt

grep vol_raidz1/backups/backuppc /proc/*/mounts

Ein Kommentar

  1. Dass ich das noch erleben darf: Endlich noch jemand, der beim find-Befehl mit exec ein Plus-Zeichen anstelle eines Semikolons benutzt :‘-)

    Zu „Rekursiv Rechte auf Ordner / Dateien setzen“ noch ein Optimierungsvorschlag. Zwei find-Befehle mit jeweils -type f und -type d erfassen nur Dateien und Ordner, jedoch keine Symlinks, Gerätedateien, usw. Daher bügele ich zunächst komplett ein chmod drüber, gefolgt von einem find-Befehl, um neben Dateien und Verzeichnissen auch alle übrigen Typen zu erfassen:

    chmod -R u=rx,g=r,o=r /path/to/base/dir
    find /path/to/base/dir -type d chmod u=rwx,g=rx,o=rx {} +

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert