Alle httpd und Apache Prozesse stracen
ps auxw | awk '/(apache|httpd)/{print "strace -F -p " $2}' | sh # Anzeige auf sdt out ps auxw | awk '/(apache|httpd)/{print "strace -o blubb.out -F -p " $2}' | sh # schreibt in Datei blubb.out
Inhalte in Dateien suchen und Dateinamen mit Pfad anzeigen lassen. Sucht ab /home/foo nach dem Inhalt bar in jeder *.txt Datei
find /home/foo -type f -name *.txt | xargs grep bar # Lösung mit find grep -rnwi '/home/foo' -e 'bar' # Lösung mit grep (schneller), sucht in jeder Datei
Datei- und Ordnergröße ermitteln
du -cksh * |sort -g # ermittelt Ordnergröße du -k -x / | sort -k 1n # Gibt Ordner von Klein nach Groß aus du -k -x / | sort -k 1n | tail -20 # Zeigt die 20 größten Ordner
Inhalte in allen Dateien suchen und ersetzen
!!!Im Ordner und allen Unterordnern nach \\creutz.spdns.de
suchen und durch \\creutz.noip.me
ersetzen
find . -type f -exec perl -pi -e '~s/(?<![\w_\-@#.])creutz.spdns.de/creutz.noip.me/g' {} \;
Inhalte in allen Dateien suchen und löschen !!!Im Ordner und allen Unterordnern nach *.jpg suchen und löschen
find $DIR -name '*.345' -delete
Zeige netstat Ausgabe alle zwei Sekunden
watch -n 2 netstat -antu
Port unter Windows Powershell testen:
Test-NetConnection -ComputerName "192.168.1.10" -Port 80 -Timeout 1000
Berechtigung NUR an Ordnern ändern
find . -type d -exec chmod 755 {} \;
Dasselbe funktioniert natürlich auch mit Dateien
find . -type f -exec chmod 644 {} \;
Suche nach Eigentümer und Berechtigung
find /home/foo/ -user bar # findet alles unter /home/foo/ was dem User bar gehört find /home/foo/ -group bar # findet alles unter /home/foo/ was der Gruppe bar gehört find /home/foo/ -perm 644 # findet alles unter /home/foo/ mit der Berechtigung 644 find /home/foo/ -perm -644 # findet alles unter /home/foo/ mit mindestens der Berechtigung 644 oder höher
Dateien umbenennen
rename 's/small/winzig/' *.jpg # sucht alle .jpg Dateien und tauscht small gegen winzig. rename 's/\[KOPIE\]/aaa/' *.jpg # tauscht alle Sonderasurücke [KOPIE] zu aaa. rename 'y/A-Z/a-z/' * # alle Zeichen sind danach klein rename 's/ü/ue/' * # tauscht Ü zu ue
Welches Format haben die Fotos
$ identify *.jpg
Bilder von jpg zu png konvertieren
convert bild1.jpg bild2.png # ein Bild for i in *.jpg; do convert $i `basename $i .jpg`.png; done # alle Bilder
Bilder drehen
convert -rotate 90 bild2.jpg bild2.jpg # ein Bild for i in *.jpg; do convert -rotate 90 $i `basename $i .jpg`.jpg; done # alle Bilder
Bilder beschriften
convert -font /usr/share/fonts/truetype/Comic_Sans_MS.ttf -pointsize 50 -fill grey -draw "text 300,500 'Hier den Text eingeben'" bild1.jpg bild1_beschr.jpg
Rahmen um das Bild
convert -mattecolor blue -frame 6x6 bild.jpg bild_rahmen.jpg # ein Bild for i in *.jpg; do convert -mattecolor blue -frame 6x6 $i `basename $i .jpg`_rahmen.jpg; done # alle Bilder
Dies zeichnet um das Bild einen blauen Rahmen von 6 Pixel Breite und speichert es als *_rahmen.jpg. Das Bild vergrößert sich dadurch um 12 Pixel
Bilder verkleinern
convert -resize 1024x768 bild1.jpg bild1_s.jpg # ein Bild for i in *.jpg; do convert -resize 1024x768 $i `basename $i .jpg`_klein.jpg; done # alle Bilder
convert -resize 20% bild.jpg bild_klein.jpg # ein Bild for i in *.jpg; do convert -resize 20% $i `basename $i .jpg`_klein.jpg; done # alle Bilder
Alle *.jpg Bilder werden um 20% verkleinert und als *_klein.jpg gespeichert
#!/bin/sh # # # hier liegen die bilder mydir="/home/lucky/PICTURES/2005/Friends" # dahin wechseln cd $mydir if [ ! -e newpic ];then # neues verzeichnis mkdir newpic fi # verzeichnis auslesen for file in $(ls *.jpg) do # hier kommt deine convert-function: bitte in man nachlesen convert -size 480x360 $file newpic/$file done exit 0
Slideshow erstellen
convert -delay 10 *.jpg film.mng
betrachten kann man den Film mit
animate film.mng
Videos entwacklen: Mit dem ersten Befehl werden die “Wackeldaten” ausgelesen, mit dem zweiten wird das Video schließlich entwackelt.
transcode -J stabilize -i original.mov -y null,null -o dummy transcode -J transform -i original.mov -y xvid -o entwackelt.avi
Analysiere allen remote Traffic über ssh mit wireshark
ssh root@HOST tcpdump -iany -U -s0 -w - "not port 22" | wireshark -k -i -
Wer ist aktuell mit mir verbunden?
netstat -ntu|awk '{print $5}'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r ## Filtere nach B-Class netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2 -d'.'|sed 's/$/.0.0/'|sort|uniq -c|sort -nk1 -r ## Filtere nach C-Class netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2,3 -d'.'|sed 's/$/.0/'|sort|uniq -c|sort -nk1 -r