Archiv für das 'Shell'-tag

Größe ändern aller Bilder eines Verzeichnis

Die Konvertierung erfolgt mittels ImageMagick. Es werden die neuen Unterverzeichnisse small und large erstellt.


#!/bin/bash
mkdir small
for f in *.jpg
do convert $f -resize 80x120 small/t_$f
done

mkdir large
for f in *.jpg
do convert $f -resize 150x225 large/g_$f
done

Subversion Verzeichnisse (.svn) rekursiv löschen

Um alle Subversion Verzeichnisse zu löschen kann man entweder den Pfad exportieren oder mittels find alle Verzeichnisse suchen und entfernen. Der Befehl dafür lautet:

find . -name ".svn" -exec rm -rf {} \;

Unter Windows kann mit folgenden Registry-Einträgen für das Explorer Kontextmenü ein Eintrag hinzugefügt werden. Einfach in eine Datei mit Endung .reg kopieren:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@=”Delete SVN Folders”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@=”cmd.exe /c \”TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \”%1\” %%f IN (.svn) DO RD /s /q \”%%f\” \”"

Bash Funktion anstatt Alias

Zum übergeben von Parametern sind die Bash Aliase nicht geeignet. Stattdessen kann dafür eine Funktion definiert werden.

Beispiel: setzt ein Verzeichnis neuen Nutzer + Gruppe und gewährt der Gruppe Schreibrechte

chweb()
{
sudo chown -R user:www-data $1 ; chmod -R g+w $1 ;
}

Datei älter als X Tage löschen

Dies geht über den Befehl find. Hier alle Dateien deren Änderungsdatum älter als 20 Tage ist.

find [[dir]] -type f -mtime +20 -exec rm {} \;

MX Records abfragen

nslookup -querytype=MX intersolut.de

wenn Paket bind vorhanden:
dig -t MX intersolut.de

Paketliste installieren

Aktuelle Pakete speichern:
dpkg --get-selections >> paket-liste.txt

Pakete aus Datei installieren:

grep -E "^[^#]" paket-liste.txt | xargs sudo apt-get install --yes

Bilder nach Erstellungszeit umbenennen

jhead -nfDateiname_%Y-%m-%d_%H-%M-%S *.[Jj][Pp][Gg]

Rekursiv auf alle Bilder:
find Fotos -iname "*.jpg" -exec jhead -nf%Y-%m-%d_%H-%M-%S {} \+

Verschlüsselte Partition einbinden

Luks Partition einbinden:
sudo cryptsetup luksOpen /dev/sdaXXX crypted1

Partitionen (LVM) anzeigen:
ls /dev/mapper

Partition einbinden:
sudo mount /dev/mapper/lvm-root /mnt

MySQL Dump der Funktionen

Um nur die Funktionen zu dumpen:

mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt [[Datenbank]] > name.sql

Für die Datenbank und Funktonen:

mysqldump [[Optionen]] --routines > name.sql

MySQL Dump direkt Packen

Um ein mysqldump direkt zu packen muss die Ausgabe einfach per Pipe an gzip weitergeleitet werden:

mysqldump [[Optionen]] | gzip -9 > name.sql.gz

Anders herum, um das ganze direkt wieder gepackt einzuspielen:

gunzip < name.sql.gz | mysql [[Optionen]]