2020-04-18
Terminal Command Sammlung
Rsync
lsof -ad3-999 -c rsync*
Zeigt an, welche Datei gerade gelesen wird
rsync -avx --info=progress2 /a /b/
Macht eine 1 zu 1 Kopie
strace -e open $(ps -o lwp= -LC rsync | sed 's/^/-p/')*
Zeigt in Echtzeit an, welche Datei gerade gelesen wird
cat ~/bak.log | egrep '^\*deleting' | cut -c 13- > ~/to_be_deleted*
Auflistung von Dateien, die gelöscht werden sollen
cat ~/bak.log | egrep '^<f' | cut -c 13- > ~/to_be_transfered
Auflistung von Dateien, die übertragen werden sollen
sum=0
while IFS= read line;
do
size=ls -l "${SRC}${line}" | cut -d " " -f5 ;
sum=$((size+sum))
done < ~/to_be_transfered
echo $sum | numfmt --to iec --format "%8.4f"
Errechnet die gesamte zu übertragende Masse an Daten
Git
git format-patch --stdout first_commit^..last_commit > changes.patch
Erstellt einen Patch über die angegebe Range aus Commits
git am -3 < changes.patch
Wendet einen patch an und ermöglicht es Konflikte aufzulösen.
FFmpeg
ffmpeg -framerate 30 -pattern_type glob -i '*.jpg' \
-c:v libx264 -r 30 -pix_fmt yuv420p test.mp4
Generiert ein Video aus Bildern
Openssh
ssh-keygen -t ed25519 -f file
Generiert einen SSH-Key in die datei "file"
ssh-copy-id -i cert name@x.y
Kopiert den Key auf den Server
autossh -i ~/.ssh/x -fN -R :1337:localhost:22 x@y.z -p 900
Reverse ssh Tunnel von y.z:1337 zu localhost:22, Verbindungsaufbau über Port 900
Certbot
Cron
/usr/bin/flock -n /tmp/fcj.lockfile x
Legt eine Lock-Datei an, so kann das übergebene Programm nicht mehrfach starten, nützlich, wenn man per Cron periodisch lang laufende Scripte startet
GnuPG
gpg --keyserver pgp.mit.edu --send-keys (key id)
Sendet Public-Key zu Key-Server
zsh
ls DSCF<6800-6900>.JPG
Numerisches Globbing