Linux-Kommandozeilen-Tipps

Als überzeugter Linuxer, der seinen geliebten Tux nur zum Spielen gegen Windows eintauscht, lernt man die schier unendliche Funktionen der einzelnen Kommandozeilen-Tools zu schätzen. Da es aber nicht immer ganz einfach ist, sich auch alle Befehle zu merken, insbesondere jene, die man nur alle halben Ewigkeiten einmal benötigt, soll hier quasi eine Gedankenstütze mit Dienst an der Allgemeinheit entstehen. ;-) Für Anregungen und Ergänzungen bitte ich um Verwendung der Kommentarmöglichkeiten!

Webseiten spiegeln mit wget

wget kann auch ganze Webauftritte spiegeln:

 wget -m -p --convert-links --html-extension URL

Dabei aktiviert "-m" den Mirror-Mode, "-p" lädt alle Dateien nach, die notwendig sind, um die Seite richtig anzuzeigen, "--convert-links" ändert Links zu Files entsprechend, dass sie auf die lokalen Kopien zeigen, wenn vorhanden. Andernfalls wird die absolute URL eingesetzt. Die letzte Option "--html-extension" hängt an den Dateinamen ein .html an, sofern nicht vorhanden (Nützlich bei dynamischen Seiten).

Magic mit ImageMagick

ImageMagick ist ein sehr mächtiges Paket zum erstellen und bearbeiten von Grafiken auf Kommandozeilenebene. Am häufigsten verwende ich es zum Skalieren von Bildern. Aber auch Text-GIF's, um zum Beispiel Email-Adressen vor Bots zu verbergen, sind leicht erstellt.

Screenshot erstellen

 sleep 5 && import -window root -display :0 screenshot.png

Bilder skalieren

 convert +profile '*' -quality 65 -scale 200x Quell-Datei Ziel-Datei

Entfernt den EXIF-Header, setzt die Qualität auf 65, Skaliert Höhe/Breite proportional auf 200 Pixel.

Bilder mit Text erstellen

 convert -background "rgb(255,255,255)" -transparent "rgb(255,255,255)" \
    -trim -fill black -font Bookman-Light label:Test-Bildchen test.gif

Erzeugt testbildchen. Der transparent-Hack scheint notwendig, wenn man den Hintergrund gleich direkt transparent setzt, wird das Bild klobrig, anscheinend versucht da das gif dann wirklich mit 2 Farben auszukommen.

ISOs brennen

Hier sind mehrere Schritte zielführend:

 cdrecord dev=ATA -scanbus
 cdrecord -v -dao --dev=ATA:1,0,0 driveropts=help -checkdrive
 cdrecord -v -dao --dev=ATA:1,0,0 --driveropts=burnfree --speed=16 Datei

Zuerst werden die verfügbaren Laufwerke aufgelistet, danach werden für das Laufwerk an "ATA:1,0,0" die verfügbaren Treiberoptionen aufgelistet und dann schließlich wird die ISO-Datei gebrannt.

Finden

Das Utility "find" ist quasi die Suche auf Kommandozeilenebene. Hier die einfachsten Benutzungen:

 find *.jpg
 find . *.jpg
 find . -mtime 0

Das erste Kommando findet alle jpg-Files im aktuellen Verzeichnis. Das zweite Kommando findet zusätzlich noch alle .jpg-Files in etwaigen Unterverzeichnissen. Das letzte Kommando findet alle Dateien im aktuellen Verzeichnis oder darunter, die innerhalb der letzten 24 Stunden modifiziert worden sind.

CD/DVDs kopieren und ISOs brennen

Mit mkisofs, dd sowie cdrecord ist eine Standard-Linux-Installation bestens ausgestattet. Ein Image einer CD/DVD besorgt man sich beispielsweise über dd (steht eigentlich für copy and convert, die Abkürzung cc ist aber schon für den C Compiler belegt), hier können auch Lesefehler ausgebügelt werden, wenn man fehlerhafte Sektoren durch Nullen ersetzen lässt:

 dd conv=noerror,sync if=/dev/cdrom of=dvdimage.iso

Man sollte aber sicherstellen, dass auch das volle Image (mit dd ist das eine binary copy!) am Speicherort Platz findet.

Das enstandene Image brennt man dann am besten mit cdrecord (bzw. dem Nachfolger wodim). Als Singlesession über

 cdrecord speed=8 driveropts=burnfree --dev=ATA:0,0,0 dvdimage.iso

wobei das Burnfree-Zeugs (ein Buffer-Underrun-Schutz) auch weggelassen werden kann und die Brenngeschwindigkeit auf die jeweilige Hardware anzupassen ist. Der Pfad zum Laufwerk muss gegebenenfalls angepasst werden. Den richtigen --dev-Parameter kann man sich über

 cdrecord --dev=ATA -scanbus

besorgen.

Und zur Abrundung noch ein wenig zu mkisofs: In der einfachsten Form erzeugt

 mkisofs -o myiso.iso /path/to/directory

ein Iso mit dem Root-Directory /path/to/directory, wobei auch eine einzige Datei spezifiziert werden kann. Sinnvolle Optionen sind unter anderem (siehe auch zugehörige Man-Page)

 -R bzw. -r    # Verwendung des Rock Ridge Protocol, um Dateirechte und 
               # dergleichen mit ins ISO zu übernehmen. -r ist dabei weniger
               # strikt und setzt z.B. die Eigentümer auf Null.
 -J            # Joilet-System, besonders für ältere Windows-Versionen günstig
 -U            # "Untranslated Filenames". Übernimmt alle Dateinamen, ohne auf
               # Spezifika des CD-Filesystems Rücksicht zu nehmen (z.B. mehrere
               # Punkte in einem Dateinamen). Mit Vorsicht verwenden!
 -f            # Allen symbolischen Links folgen.
 


Kommentare:

('Name' und 'Eintrag' sind verpflichtend)
Eintrag:


Name:


Email:




Markus Mad (http://www.familie.mad.bnet.at/markus), am 22. 7. 2007 um 01:48
Hallo Karli!
Meine ersten Schritte mit Linux sind geglückt:D.
Letztes Update dieser Seite am 3. 12. 2007