Titel: EasyLinux 06/2003: move
Pfad: http://www.easylinux.de/Artikel/ausgabe/2003/06/079-mv/index.html


Dateien verschieben mit mv

Schneller Räumen mit der Shell

von Elisabeth Bauer


Lustige Mail-Anhänge, Downloads aus dem Internet -- schnell füllt sich das Home-Verzeichnis, und das Aufräumen ist mühsam, wenn der Dateihaufen fein säuberlich in Verzeichnisse sortiert werden soll. Ärgern Sie sich dabei auch immer über das Fensterchaos auf dem Bildschirm, bei dem stets genau das Fenster verdeckt ist, in das Sie gerade kopieren wollten? Mit dem Kommando mv erledigen Sie solche Aufgaben bequem in der Shell -- ohne lästiges Fensterjonglieren.

Wer schon mal einem richtigen Linux-Guru beim Arbeiten über die Schulter geguckt hat, kennt das Gefühl vielleicht: Flink flitzen die Finger über die Tastatur, lange Zeilen sausen über ein Fenster auf dem Bildschirm, und all das geht dermaßen schnell, dass man überhaupt nicht mitkommt. Was macht der da bloß? Vielleicht genau dasselbe, was Sie normalerweise mit Datei-Manager und Maus auf dem Schreibtisch machen: Aufräumen -- aber mit Höchstgeschwindigkeit! Wir wollen es heute etwas langsamer angehen, aber die kleinen Tricks der Linux-Gurus natürlich nicht verschweigen.

Um ein Terminal zu starten, drücken Sie [Alt-F2] und tippen unter KDE konsole oder unter GNOME gnome-terminal, noch ein [Return] oder ein Klick auf "Ausführen", und die große Aufräumaktion kann beginnen.

Beim Start der Shell landen Sie immer in Ihrem Home-Verzeichnis. Falls die aufzuräumenden Daten in einem Unterverzeichnis liegen, wechseln Sie z. B. mit cd download-ordner ("Change Directory") dorthin. Vor dem Aufräumen sollten Sie sich ein bisschen umschauen. Das Kommando ls ("Liste") zeigt Ihnen den Inhalt des aktuellen Verzeichnisses an. Einen Überblick über das Chaos auch in den Unterordnern verschafft ls -R.

Weil Linux-Gurus eigentlich recht tippfaul sind, haben häufig benutzte Kommandos sehr kurze Namen: mv (für move: "bewegen") ist unser Umzugshelfer. Mit diesem Befehl befördern Sie eine Datei in ein anderes Verzeichnis. mv folgt dabei strikt der Syntax des deutschen Imperativs: Schieb die Kiste darüber! Beispiel:

mv kiste schrank
befördert die Datei kiste in das Verzeichnis schrank. Wenn Sie noch keinen "Schrank" besitzen, schreinern Sie ihn mit mkdir schrank ("make directory") einfach selbst -- das ist billiger als bei Ikea. Mit einem ls schrank vergewissern Sei sich, dass die Kiste ihren Bestimmungsort wohlbehalten erreicht hat.

Der Move-Befehl kümmert sich nicht darum, ob die Kiste eine Datei oder ein Verzeichnis ist, Sie können also auch Babuschka spielen und mit mv Kisten in Kisten stapeln:

mv pillendoeschen schrank/kiste/kleine_kiste/noch_kleinere_kiste/winzige_kiste 

Wenn Sie nach den ersten Buchstaben die Tabulatortaste drücken, versucht übrigens die Shell, für Sie weiter zu tippen. Im Idealfall reicht für diesen langen Verzeichnispfad also die Eingabe von "s [tab] k [tab] k [tab] n [tab] w [tab]". Wenn im Ordner neben dem schrank noch eine schublade liegt, komplettiert die Shell allerdings nur bis sch und gibt einen Signalton aus. Damit fragt sie, ob Sie den schrank oder die schublade meinten. Ein zweiter Druck der Tabulatortaste zeigt die Alternativen, zwischen denen die Shell sich ohne Ihre Hilfe nicht entscheiden kann. Wenn Sie ihr noch ein r spendieren und erneut [Tab] drücken, vervollständigt die Shell den Namen korrekt zu schrank.

Schleichwege

Was tun, wenn die Kiste in einen ganz anderen Zweig der Verzeichnishierarchie befördert werden soll? Auch hier bietet die Shell einige Abkürzungen, so dass Sie nicht immer den kompletten Verzeichnispfad, ausgehend vom Wurzelverzeichnis / (beispielweise /home/benutzername/schrank) angeben müssen.

mv kiste ../schrank
bewegt die Kiste in den Schrank, der eine Verzeichnisebene über dem aktuellen Verzeichnis liegt. Auch
mv kiste ~/schrank
kürzt den Weg ab: die Tilde ~ steht für Ihr persönliches Home-Verzeichnis, also /home/ihrbenutzername.

Alle auf einen Streich

Schwierig wird es bei den Büchern. Davon liegt ein ganzer Stapel rum, der in unterschiedliche Regale soll. Selbstverständlich hat man keine Lust, sie alle einzeln zu bewegen. Was im Datei-Manager die Auswahl mehrerer Dateien mit der Maus ist, erledigen in der Shell die so genannten "Wildcards" oder Joker: Genau wie der Joker beim Kartenspielen, der für jede andere Karte abgeworfen werden kann, stehen die Shell-Joker für beliebige Zeichen in einem Dateinamen. * ist ein Platzhalter für beliebig viele Zeichen und ? für genau eins.

Die 30-bändige Goethe-Gesamtausgabe (Goethe1.txt, Goethe2.txt usw.) wandert mit mv Goethe*.txt regal auf einen Satz ins Regal. Die Shell setzt im aktuellen Verzeichnis alle Dateien in Ihr Kommando ein, deren Name mit Goethe beginnt und mit.txt endet. Falls nur genau ein Zeichen zwischen Goethe und .txt steht -- in der neun-bändigen Goethe-Ausgabe zum Beispiel --, funktioniert auch das ?. Sofern Ihre Dateien einheitliche Endungen tragen, erschlagen Sie mit so einem Sternchen ziemlich viel auf einmal:

mv *.txt bibliothek
mv *.jpg galerie
mv *.mp3 musik
sortiert alle Textdateien, Bilder und MP3-Files fein säuberlich in drei verschiedene Ordner.

Ein bisschen Vorsicht ist allerdings geboten: Bewegen Sie mit mv eine Datei in ein Verzeichnis, in der schon eine Datei mit demselben Namen existiert, überschreibt mv diese gnadenlos. mv -i (für "interaktiv") ist gnädiger und fragt nach.

Noch einem Fallstrick gilt es zu entgehen: Sie sind stolzer Besitzer vieler Dateien mit Leerzeichen im Namen? Damit bekommt der Move-Befehl Probleme, interpretiert er doch die Eingabe von

mv Ich liebe Leerzeichen.txt schrank
als Aufforderung, die Dateien Ich, liebe und Leerzeichen.txt in den Schrank zu verfrachten und sucht diese vergeblich. Abhilfe schaffen Anführungszeichen um den Dateinamen, z. B. mv "Ich liebe Leerzeichen.txt" schrank, oder ein \ vor jedem Leerzeichen (mv Ich\ liebe\ Leerzeichen.txt schrank). Dann weiß mv, was zusammen gehört. Zum Glück ist die Vervollständigung mit der Tabulator-Taste intelligenter und umschifft auch die Klippe der problematischen Sonderzeichen -- sie bringt Dateinamen für mv automatisch in die passende Form.

Ein Tippfehler in der Zielangabe offenbart eine weitere Fähigkeit von Move:

mv kiste scharnk
Was passiert hier? Plötzlich ist die Kiste verschwunden, dafür finden Sie im aktuellen Verzeichnis ein scharnk (Was immer das auch ist). Wenn mv das Zielverzeichnis nicht finden kann, interpretiert es das Kommando als Befehl zum Umbenennen. Mit mv altername neuername können Sie Ihren Dateien und Ordnern also auch nach Herzenslust neue Namen verpassen -- allerdings nur einer nach der anderen, der tolle Joker-Trick funktioniert beim Umbenennen nicht. (eba)

Kasten 1: Der Werkzeugkasten für die Shell

Einige Utensilien sollten Sie beim Arbeiten mit der Shell immer parat haben:
  • [Tabulator]-Taste: vervollständigt Befehle, Datei- und Verzeichnisnamen.
  • [Pfeil-hoch] und [Pfeil-runter]: holt vorher eingegebene Kommandos zurück.
  • Anführungszeichen "": Dateinamen mit Leerzeichen sollten immer von Anführungszeichen umschlossen sein.
  • Backslash \: Alternativ lässt sich ein Leerzeichen auch mit einem vorangehenden \ maskieren.
  • Die Wildcards: * interpretiert die Shell als beliebige Zeichen, ? steht für genau ein beliebiges Zeichen.
  • cd verzeichnis: wechselt in ein anderes Verzeichnis.
  • ls verzeichnis: listet Verzeichnisinhalte.
  • pwd: zeigt das aktuelle Verzeichnis an ("print working directory").
  • man kommando: zeigt das Handbuch ("manual") zu einem Befehl ab.
  • info kommando: gibt ausführlichere Informationen als man (nicht zu jedem Kommando vorhanden).

Guru-Training

Es geht auch ohne, aber manchmal eben besser mit der Shell. Nach diesem Motto stellen wir in dieser Rubrik Profi-Tipps zum Umgang mit Linux vor. Mit der gefürchteten DOS-Kommandozeile hat die Linux-Shell nicht viel gemein: Dank automatischer Namensvervollständigung und anderen praktischen Features ist sie das Profiwerkzeug unter Linux, mit dem sich viele alltägliche Aufgaben einfach, elegant und effizient erledigen lassen. Sie müssen dazu nicht tausende von Kommandos auswendig kennen -- oft erzielen ein paar kurze Befehle schon große Wirkung.

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.


Feedback zu dieser Seite | Datenschutz | © 2017 COMPUTEC MEDIA GmbH | Last modified: 2007-01-25 16:17