26.02.2014 Aufrufe

EasyLinux DVD's und CD's Rippen, mastern, brennen (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Shell<br />

Tipps & Tricks<br />

nach allen Dateien durchsucht<br />

<strong>und</strong> diese in eine Datenbank<br />

schreibt. Auf diese Informationen<br />

greift das locate-Kommando zu,<br />

mit dem Sie nach Dateinamen suchen<br />

– das geht in der Regel viel<br />

schneller als die Suche mit find.<br />

Um nun die Ausführungszeit des<br />

updatedb-Kommandos zu messen,<br />

stellen Sie dem Befehl einen<br />

time-Aufruf voran:<br />

# time updatedb<br />

real 0m0.406s<br />

user 0m0.212s<br />

sys 0m0.192s<br />

(Das Programm updatedb benötigt<br />

Root-Rechte, erkennbar am<br />

#-Prompt.) Die Ausgabe von time<br />

im Terminalfenster verrät Ihnen Folgendes:<br />

Hinter real steht die gesamte Ausführungszeit,<br />

hinter user die Zeit, in der die CPU tatsächlich<br />

den (Benutzer-)Code des Programms ausführt,<br />

<strong>und</strong> hinter sys die Zeit, in der die CPU<br />

mit Ausführung von Kernel-Code für die Anwendung<br />

beschäftigt ist.<br />

Kommt Ihnen die Performance Ihres Rechners<br />

also etwas schwach vor, ermitteln Sie doch<br />

einfach mal, wie viel Zeit er für eine bestimmte<br />

Aufgabe wirklich braucht. Um Vergleichswerte<br />

von anderen Computern zu erhalten,<br />

können Sie einfach auf den <strong>EasyLinux</strong>-<br />

Mailinglisten [2] jemand bitten, mit time<br />

nachzumessen. Der updatedb-Befehl ist für einen<br />

solchen Vergleich allerdings kein gutes<br />

Beispiel, weil in der Regel jeder Rechner unterschiedlich<br />

viele Dateien enthält.<br />

abb. 1: „units“ ist ein praktischer Taschenrechner für die konsole,<br />

der in Windeseile viele Einheiten umwandelt.<br />

Dateien mit Wget<br />

65<br />

herunterladen<br />

Dieses kleine Programm lädt Dateien von einem<br />

WWW- oder FTP-Server auf den eigenen<br />

Computer herunter. Schon beim Aufruf definieren<br />

Sie, ob Sie eine einzelne Datei oder<br />

gleich eine ganze Verzeichnisstruktur aus<br />

dem Netz ziehen. Um beispielsweise das Titelbild<br />

der letzten <strong>EasyLinux</strong>-Ausgabe zu holen,<br />

tippen Sie einfach den Befehl gefolgt von<br />

der URL (siehe Listing 1).<br />

Wget zeigt im Terminal an, was im Hintergr<strong>und</strong><br />

passiert. Im Listing baut das Tool eine<br />

Verbindung zum Webserver auf, erhält von<br />

diesem eine positive Antwort <strong>und</strong> berichtet<br />

dann, wie groß die Datei ist <strong>und</strong> unter welchem<br />

Namen es diese speichert. Während<br />

des Downloads sehen Sie eine Art Fortschrittsbalken<br />

<strong>und</strong> wissen daher genau Bescheid,<br />

wie weit Wget gekommen ist. Eine<br />

abschließende Meldung bestätigt, mit welcher<br />

Durchschnittsgeschwindigkeit die Datei<br />

auf der Platte gelandet ist.<br />

Mit Wget einen ganzen Server<br />

66<br />

rekursiv spiegeln<br />

Wenn Sie den vorigen Tipp gelesen haben,<br />

wissen Sie, was Wget tut <strong>und</strong> wie die Arbeit<br />

damit gr<strong>und</strong>sätzlich funktioniert. Jetzt werden<br />

Sie sicher zurecht sagen: Einfach eine<br />

Grafik aus dem Netz holen, das mach ich per<br />

Webbrowser schneller <strong>und</strong> komfortabler über<br />

Grafik speichern unter. Stimmt – aber außer<br />

dieser rudimentären Funktionsweise hat Wget<br />

noch allerhand mehr auf dem Kasten <strong>und</strong> hilft<br />

beispielsweise dabei, einen kompletten Spiegel<br />

einer Webseite mit all ihren Unterverzeichnissen<br />

anzulegen.<br />

Dazu rufen Sie wget ‐r (rekursiv) zusammen<br />

mit der URL auf. Vorsicht: Das Tool räumt<br />

nun bis in den letzten Winkel ab; für einen<br />

Testlauf ist es daher sinnvoll, zunächst den<br />

Level der Rekursion mit anzugeben. Dazu<br />

nehmen Sie die Aufrufoption ‐l (level) zu Hilfe<br />

<strong>und</strong> setzen beispielsweise die 1, um neben index.html<br />

alle dort eingebetteten Links (wie<br />

z. B. Bilder oder weitere HTML-<br />

Seiten) zu erwischen:<br />

wget ‐r ‐l 1 www.easyliU<br />

nux.de<br />

Alternativ definieren Sie die Leveltiefe<br />

‐l 2, <strong>und</strong> Wget folgt den<br />

eingebetteten Links noch eine<br />

weitere Stufe. Auf der eigenen<br />

Platte sehen Sie nun das neue<br />

Verzeichnis www.easylinux.de<br />

<strong>und</strong> darin die heruntergeladenen<br />

Dateien. Für jede Webseite legt<br />

Wget einen eigenen Ordner an.<br />

Um alles direkt ins aktuelle Verzeichnis<br />

zu spiegeln, geben Sie<br />

zusätzlich ‐nH („no host“) an.<br />

Arbeiten Sie ohne Level-Angabe<br />

(‐l ...), gibt es noch einen anderen<br />

Weg, die Downloadmenge zu begrenzen:<br />

Über die Option ‐np (no parent) verhindern<br />

Sie, dass Wget Dateien zieht, die sich auf dem<br />

Webserver „weiter oben“ in der Verzeichnishierarchie<br />

befinden. So ziehen Sie z. B. mit<br />

wget ‐r ‐np http://www.easylinuxU<br />

.de/ausgabe/2009<br />

alle Dateien, die auf dem Server unterhalb<br />

von /ausgabe/ 2009/ liegen (<strong>und</strong> über Links<br />

erreichbar sind); die Links, die auf die Startseite<br />

<strong>und</strong> damit auf den gesamten Webseiteninhalt<br />

zurückverweisen, ignoriert Wget dann.<br />

Wget: Abgebrochenen<br />

67<br />

Download fortsetzen<br />

Der praktische Downloadmanager für die<br />

Shell hat noch ein weiteres tolles Feature im<br />

Gepäck. Über die Option ‐c („continue“ =<br />

„fortsetzen“) setzen Sie einen unterbrochenen<br />

Downloadvorgang fort. Da Wget dazu die<br />

Teile auf Ihrer Festplatte mit dem Original<br />

vergleicht <strong>und</strong> dann einfach anknüpft, spielt<br />

es keine Rolle, ob Sie die Fragmente mit Wget<br />

oder einem anderen Programm heruntergela-<br />

LisTing 1: EinfachEr wget-aufruf<br />

$ wget http://www.easylinux.de/2011/01/title_2011_01.png<br />

‐‐2011‐02‐11 17:38:24‐‐<br />

...<br />

Resolving www.easylinux.de... 80.237.227.187<br />

Connecting to www.easylinux.de|80.237.227.187|:80... connected.<br />

HTTP request sent, awaiting response... 200 OK<br />

Length: 726243 (709K) [image/png]<br />

Saving to: `title_2011_01.png‘<br />

10% [=======> ] 168,323,560 28.6M/s<br />

...<br />

2011‐02‐11 17:38:24 (3.19 MB/s) ‐ `title_2011_01.png‘ saved [726243/726243]<br />

<strong>EasyLinux</strong><br />

02/2011<br />

www.easylinux.de<br />

105

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!