dpkg-query -L <package> listet alle installierten Dateien von <package>.convert image{01..10}.jpg output.pdf fasst die 10 Bilder zu einem PDF zusammen.hostname -b für dessen Einstellung, hostname liest ihn wieder.rename 's/$/.old/' * versieht die Dateien in einem Ordner mit dem Suffix .old. Dito mit rename 's/^/prefix/' *. Weitere Tricks zu rename findet man bei commandlinefu.com.for i in *.wav; do lame -v -h -b 192 --lowpass 21 "$i" "`basename "$i" .wav`".mp3; doneman chattr oder Wikipedia.find . -type f -exec chmod 0644 {} \; sucht alle Dateien unter dem aktuellen Verzeichnis und setzt deren Zugriffsrechte zu 644.find . -type d -exec chmod 0755 {} \; sucht alle Verzeichnisse unter dem aktuellen Verzeichnis und setzt deren Zugriffsrechte zu 755.find . -name '*.txt' -exec sed 's/old/new/g' {} \; ändert in einem Verzeichnis mit Textdateien den Text old zu new.find <directory path> -mtime +365 -type f -delete löscht alle Dateien, die älter als 365 Tage sind. A find Tutorial and Primer liefert ein paar weitere elementare Anwendungen von find.sed /BEGIN/,/END/s/xxx/yyy/g input.txt ersetzt xxx mit yyy von BEGIN bis END in input.txt.let seconds=(3600-60*`date +%M`-`date +%S`)%1800 zählt die Sekunden bis zur nächsten halben Stunde.grep -ri 'suchstring' ./ sucht rekursiv nach suchstring in allen Dateien unterhalb des momentanen Verzeichnisses. Alternativen: find ./ -exec grep -i 'Suchstring' /dev/null {} \; oder find . -type f -print0 |xargs –null grep -i 'Suchstring'.hdparm -I <device> zeigt ausführliche Informationen zu einer Festplatte, hdparm -B stellt Advanced Power Management ein.nice yes > /dev/nullshred -vzn 1 /dev/sdx löscht eine Festplatte durch Überschreiben mit Zufallszahlen, gefolgt von Nullen.env -i HOME="$HOME" bash -l -c 'befehl' liefert eine sehr minimalistische Umgebung (aber mit HOME und systemweiter Login-Umgebung, typischerweise auch PATH), leicht kontrollierbar mit befehl = env. Das Shebang #!/usr/bin/env -S -i bash (oder -l ersetzt durch --noprofile --norc) hat eine weiter reduzierte Umgebung (ohne HOME und ohne systemweiter Umgebung) zur Folge.mount -t vfat /dev/sdxx /mnt/v1 -o uid=robert,gid=robert bindet eine als VFAT partitioniertes Speichermedium als Nutzer robert ein.xclip <file> verfrachtet <file> ins mausgestützte Primary Clipboard. -o ist die umgekehrte Richtung zu <stdout>, -selection erlaubt die Wahl des Clipboards. Siehe dazu die Manpage.tail -n +<zahl> „$FILE“ > „$FILE.tmp“ && mv „$FILE.tmp“ „$FILE“ löscht die ersten <zahl> Zeilen einer Textdatei, indem es eine Datei ab Zeile <zahl> neu erzeugt.tail -f <file> ist praktisch zum Verfolgen von Logs, häufig ist less -S +F <file> zweckmäßiger. Darin vermeidet -S zusätzliche Zeilenumbrüche, und +F (entspricht Shift+F während der Ausführung) wiederholt das Einlesen der Datei.
Achtung Die in einem Headless Server vorliegende Entropie kann zu gering sein für hinreichend sichere Pseudo-Zufallszahlen. Abhilfe schafft das Paket haveged.
ssh-Zugang zu einem Rechner möglich ist: Man erzeugt auf dem Client mit ssh-keygen -t dsa ein passwortfreies Schlüsselpaar, dessen öffentlicher Schlüssel auf dem Server an die Datei ~/.ssh/authorized_keys (ein Schlüssel pro Zeile) angehängt werden muss. Der geheime Schlüssel auf dem Client sollte natürlich nicht verloren gehen. Oktober 2015 Neuere OpenSSH-Versionen (z.B. 7.1 auf Hias.Local) verwenden öffentliche Schlüssel vom Typ ssh-dss im Standard aus Sicherheitsgründen nicht mehr. Abhilfe schafft ein PubkeyAcceptedKeyTypes +ssh-dss in /home/robert/.ssh/config.ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pubOffending key in /home/name/.ssh/known_hosts: 6, löscht man durch sed -i '6d' ~/.ssh/known_hosts, wobei die Zeile (hier 6) entsprechend angepasst werden muss. Mit einem Editor kann man natürlich auch die Zeile in known_hosts löschen.topSystem- und Servicemanager der von mir eingesetzten Linux-Distributionen Debian und Arch.
hostnamectl ― Setzen und Lesen des Hostname und der machine-info/etc/nologin (oder der entsprechende Symlink), so kann sich nur mehr root anmelden. Alle übrigen Nutzer bekommen beim misslungenen Anmeldeversuch den Inhalt der Datei nologin als Entschuldigung angezeigt.cron — Die Tageszeit, an der die täglichen, wöchentlichen, und monatlichen Cronjobs laufen, finden sich unter /etc/crontab. Über crontab -e kann auch jeder Nutzer Cronjobs laufen lassen, die unter /var/spool/cron/crontabs zu jedem Nutzer verwaltet werden.pikaur. Sehr komfortabel, aber mit einem »Pitfall«: Bei einem Update von Python muss er von Hand aktualisiert werden also git clone https://aur.archlinux.org/pikaur.git und makepkg -si.grep -r