Linux Einzeiler

Samstag, 21. August 2021

Offene TCP Ports auflisten

netstat -plnt


Webserver als Einzeiler. Erreichbar unter http://hostname:8080/

while true; do { echo -e 'HTTP/1.1 200 OK\r\n'; cat index.html; } | nc -l 8080; done


Befehl zu einer bestimmten Zeit ausführen

echo "ls -l" | at 14:30


Externe IP anzeigen

curl ifconfig.me
netstat -anp |grep 'tcp\|udp' | awk '{print $5}'  | cut -d: -f1 | sort | uniq | egrep -v '^192|^0.|^$'


Dateisystem via ssh mounten

sshfs user@server:/path/to/remote/folder /path/to/local/mount/point


Download einer gesamten Website

wget --random-wait -r -p -e robots=off -U mozilla ``http://www.example.com``


Windows Rechner vom Linux Rechner aus herunter fahren

net rpc shutdown -I ipAddressOfWindowsPC -U username%password


Python SMTP Server

python -m smtpd -n -c DebuggingServer localhost:1025


Verwaiste Symlinks finden und löschen

find -L /path/to/check -type l -delete


Suchen/Ersetzen mit sed

sed -i 's/ALT/NEU/g' Datei


Arbeitsspeicher durchsuchen

dd if=/dev/mem | cat | strings | grep 'passwd'


Befehlsausgaben mehrere Variablen zuweisen

read day month year <<< $(date +'%d %m %y')


Zugriffsrechte für file1 wie con file2 setzen

chmod --reference file1 file2


Gruppe gleiche Zugriffsrechte wie Benutzer gewähren

chmod g=u file


Schöne Wettervorhersage in der Shell

curl wttr.in/hamburg


Letzten Shell Befehl wiederholt ausführen bis zum Erfolg

until !!; do :; done


Zeit via SSH zwischen 2 Rechnern synchronisieren

date --set="$(ssh user@server date)"


Welches Programm benutzt bestimmten Port

lsof -i tcp:80


Abhängigkeiten der geladenen Kernelmodole graphisch aufbereiten

lsmod | perl -e ' print "digraph \" lsmod\" {";<>;while(<>){@_=split/\s+/; print "\"$_[0]\" -> \"$_\" " for split/,/,$_[3]} print "}"' | dot -Tpng | display -


Favicon erstellen

convert -colors 256 -resize 16x16 face.jpg face.ppm && ppmtowinicon -output favicon.ico face.ppm


Manpage als PDF speichern

$ man -t bash | ps2pdf - bash.pdf


PDF aus DOC erstellen

oowriter -pt pdf your_word_file.doc


Convert ps to pdf

gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf input.ps


PDFs zusammenfügen mit ghostscript

gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf `ls *.pdf`


PPF in einzelne Seiten aufteilen mit ghostscript

gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output%d.pdf big-input.pdf


Dateigröße von PDFs reduzieren

gs -dNOPAUSE -dQUIET -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=output.pdf input.pdf


Defekte Symlinks finden

find . -type l ! -exec test -e {} \; -print


Screen re-attach

screen -D -R


Passwort non-interactiv ändern

echo -e "geheim\ngeheim" | passwd user


String übergen an stdin

wc -c <<< MeinString


Programm ausführen, wenn eine Datei geändert wurde

while inotifywait -e modify /tmp/myfile; do espeak geändert; done


Webserver mit nc

while true ; do nc -l 80 < index.html ; done


Datei vor Änderungen schützen

chattr +i <file>


Mit whireshark auf remote Host Trafik analysieren

ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -


Die z.b. 12 Textzeile ausgeben

sed '12!d' sample.txt


Von einem Video 1. Frame als JPG speichern

ffmpeg -y -i video.flv -f image2 -ss 10 -vframes 1 -an video.jpg


Pattern match in awk

awk '/pattern1/ && /pattern2/ && !/pattern3/ {print}'


Google Sprachausgabe

ffplay "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=$de&q=$Guten+Morgen,+liebe+Sorgen"


Screenshot von einen remote Desktop via ssh

xloadimage <(ssh USER@HOSTNAME DISPLAY=:0.0 import -window root png:-)


Liste alle Dateien, deren Größe zwischen 500MB und 1GB liegt

find / -type f -size +500M -size -1G


In Bash mehreren Variablen Werte aus einem Befehl zuweisen

read day month year < <(date +'%d %m %y')


Alle Dateien mit Substring 'foo' diesen mit 'bar' ersetzen.

for i in ./*foo*;do mv -- "$i" "${i//foo/bar}";done


In bash Wortliste in ein ARRAY schreiben

read -a ARR <<<'Wort1 Wort2 Wort3!'


Zeilen in file2, die nicht in file1 enthalten sind

grep -Fxv -f file1 file2


Compression bei bei Datenübertragung via scp

scp -C 10.0.0.4:/tmp/backup.sql /path/to/backup.sql


Leerzeichen in Dateinamen ersetzen

ls | while read f; do mv "$f" "${f// /_}";done


Befehlsausgabe ins Clipboard kopieren

cat some.txt | xsel --clipboard


Google Sprachausgabe als MP3 spweichern

wget -q -U Mozilla -O output.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=en&q=hello+world"


Mit ffplay die Geschwindigkeit der Soundausgabe von MP3s ändern

ffplay -nodisp -autoexit -af "atempo=1.5" sample.mp3 >/dev/null 2>&1
ffplay -nodisp -autoexit -af "atempo=0.5" sample.mp3 >/dev/null 2>&1


Mit play/sox für unterschiedliche Formate die Geschwindigkeit der Soundausgabe ändern

play file.wav tempo 1.5
play file.wav tempo 0.5
sox /tmp/input.mp3 /tmp/output.wav tempo 2

Anmelden