Montag, 5. September 2011

Linux Terminalbefehle

Soll ein von der Konsole gestarteter Befehl weiterlaufen, wenn die Terminalsitzung (z.B. ssh-Login) beendet wird, dann kann der Befehl mit


nohup befehl &

gestartet werden. Der Ampersand (&) schickt den Befehl in den Hintergrund damit noch auf der Konsole weitergearbeitet werden kann. So wird z.B. ein Befehlsabbruch verhindert, wenn ein Router oder eine Firewall eine Terminalsitzung schließt, weil lange keine Useraktion erfolgte.

Eine gute Übersicht über Terminalbefehle im Zusammenhang mit Prozessen ist unter

http://www.orgapedia.de/knowmore/index.php/Linux_PowerTrain/1.103.5

zu finden.

Samstag, 30. Juli 2011

video aus einzelnen files erstellen

Hierfür eignet sich ffmpeg hervorragend. Zu beachten ist nur, dass die Files OHNE "Löcher" beginnend mit 1 durchnummeriert sind! Hat man aus Formatsgründen ein hohe Startnummer, dann muss die Erstnummer im Filenamen angegeben werden, z.B. wenn das erste File den Namen file10001 hat dann lautet die Konvertierung:

ffmpeg -f image2 -i ./file1%04d.jpg video.mpg


besser ist als Zielfile video.mp4.

file-und Verzeichnisoperationen

Einige Kommandos die fallweise sehr nützlich sind:

find /home -name "*~" -exec rm "{}" \;

Dies bedeutet: "Lösche alle Dateien unterhalb des Verzeichnisses /home, deren Name auf eine Tilde endet".

 Über ein anderes Suchkriterium lassen sich mit find leere Dateien löschen:

find / -empty -ok rm "{}" \;
find . -empty -exec rm "{}" \;


Dateien über einer bestimmten größe finde:

ls -lahS $(find / -type f -size +100M)

findet alle Dateien grösser  100M (find und +) und gibt die Verzeichnisdaten aus (Suchergebnis mit $ an ls übergeben)

Mehrere Dateien in einem Verzeichnis umbenennen und fortlaufend nummerieren:

let counter=10000; for i in *.jpg; do let counter=counter+1; mv $i file$counter.jpg; done

Mit SEDs regulären Ausdrücken lässt sich sehr präzise formulieren, was man wie ändern möchte. Ein einfaches sed-Beispiel sieht so aus:

sed -e s/text1/text2/g datei.txt > datei.neu

Das Bedeutet so viel, wie: "Ersetze alle Vorkommen von text1 durch text2." Die geänderten Zeilen schreibt sed auf die Standardausgabe, von wo man sie mit einer Output-Umleitung (>) in eine neue Datei schreiben kann.


Mit

tail -f /var/log/messages

lassen sich die Ausgaben in die LogDatei "online" verfolgen 

Freitag, 28. Januar 2011

Backup auf USB-Festplatte

Um das Home-Verzeichnis auf eine USB-Festplatte zu sichern verwende ich folgendes Skript (quich & dirty aber leicht anzupassen und ohne Ballast):

#! /bin/bash

datum=$(date +%x)                       # damit ein Verzeichnis mit akt. Datum angelegt wird
ziel="/media/Iomega_HDD/"$datum
quelle="/home"                          # Achtung kein / als Abschluss!!


rsync -avb $quelle $ziel                # --delete bei echtem sync (achtung wegen Datum)

Dienstag, 11. Januar 2011

SVN-Plugin für Gnome Nautilus

um aus meiner UBUNTU-Installation dirket auf SVN zugreifen zu können muss ein Plugin im Nautilus installiert werden. Dies erfolgt mit:

sudo apt-get install nautilus-script-collection-svn


Die Freischaltung erfolgt mit:

nautilus-script-manager enable Subversion

Nautilus muss dann mit

killall nautilus


neu gestartet werden. Mit Rechtsklick erscheint dann ein neuer Statusmenüeintrag "Skripte"