---
title: "Häufig genutzte Shell Befehle"
id: "1194"
type: "page"
slug: "haeufig-genutzte-shell-befehle"
published_at: "2018-09-10T14:38:50+00:00"
modified_at: "2024-08-05T16:00:25+00:00"
url: "https://www.geekbundle.org/haeufig-genutzte-shell-befehle/"
markdown_url: "https://www.geekbundle.org/haeufig-genutzte-shell-befehle.md"
excerpt: "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"
---

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](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 {} +
```

## Leere und mit # auskommentierte Zeilen verstecken:

```
grep -vE '^(#|$)' ./conf.conf
```

## Sed

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

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 {} + [Antworten](https://www.geekbundle.org/haeufig-genutzte-shell-befehle/?replytocom=534#respond)

### Kommentar hinterlassen [Antwort abbrechen](/haeufig-genutzte-shell-befehle/#respond)
