| FOTO | AUTO | EDV | AUDIO |

Hilfreiche Shellbefehle

Prozesse

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


Suchen, finden und ersetzen/löschen

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


Netzwerk Debugging

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


Berechtigungen

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


Bildbearbeitung

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

  • font: Als Argument übergeben Sie diesem Parameter die gewünschte Schriftart, z. B. -font arial oder -font helvetica. Alternativ geben Sie eine .ttf-Datei (TrueType-Schriftart) an, z. B. -font /usr/share/fonts/truetype/Comic_Sans_MS.ttf.
  • pointsize: Über diesen Parameter definieren Sie die Schriftgröße in Punkt, z. B. -pointsize 40 – in der Regel ist hier ein wenig Experimentieren nötig, bis die Werte passen und das Ergebnis gut aussieht.
  • fill: Hier geben Sie die Farbe der Schrift an, z. B. -fill red (für auffälliges Rot) oder -fill grey (für ein helles Grau).
  • draw: Diese Option hilft beim Texten: Geben Sie als Argumente die Position in Pixeln und die Beschriftung an. Für die Positionierung rechnen Sie in Pixeln von der linken oberen Ecke ausgehend (0,0) nach rechts und unten. Alles zusammen wird in Hochkommas eingeschlossen, enthält der Text Leer- oder Sonderzeichen, wird dieser ebenfalls in Hochkommas geschachtelt, also z. B. -draw „text 300,500 'Hier den Text eingeben'“

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

  • mit festen Werten (Seitenverhältnis kann sich ändern)

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

  • prozentual (Seitenverhältnis bleibt gleich)

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

  • oder als Script

#!/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 mit transcode bearbeiten

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

Netzwerk

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