1788944

Linux-Shell clever nutzen

26.06.2013 | 10:55 Uhr |

Die Eingabeaufforderung, kurz Shell oder Terminal, ist schneller und direkter, wenn es um Dateioperationen geht. Wir zeigen, wie man sie optimal nutzt. Plus: Wir stellen den Dateimanager Midnight Commander vor.

Dateien: Alles in Kleinbuchstaben

Anders als unter Windows spielt die Groß- und Kleinschreibung von Dateinamen unter Linux immer eine Rolle: Der Dateiname „DATEI“ ist nicht derselbe wie der Name „datei“ – Linux behandelt zwei Dateien mit diesen Namen als zwei völlig unterschiedliche Dateien. Besonders bei der Arbeit in der Konsole ist deshalb immer auf die Schreibweise zu achten. Unter Linux sind Dateinamen in Kleinbuchstaben üblich, um die Sache zu vereinfachen. Dateien von FAT16/FAT32-Datenträgern, etwa Speicherkarten von Digitalkameras, liefern die dort gespeicherte Dateien aber meist in Großbuchstaben. 

Kleiner ist besser: Dateien von FAT-Datenträgern liegen oft in Großbuchstaben vor. Ein Befehl wandelt die Namen automatisch in Kleinbuchstaben um.
Vergrößern Kleiner ist besser: Dateien von FAT-Datenträgern liegen oft in Großbuchstaben vor. Ein Befehl wandelt die Namen automatisch in Kleinbuchstaben um.

TIPP: Dateinamen muss niemand manuell zu Kleinbuchstaben ändern, denn ein Befehl in der Kommandozeile erledigt dies automatisch – für alle Dateien in einem Verzeichnis. Anwender von Debian und dessen Abkömmlingen wie Ubuntu und Mint brauchen dazu lediglich das Kommando
rename 'y/A-ZÄÖÜ/a-zäöü/' *
einzugeben, um allen Dateinamen im aktuellen Verzeichnis Kleinbuchstaben zu verpassen. Der Befehl kommt auch mit Leerzeichen im Namen klar und kümmert sich auch um Umlaute, während alle anderen Sonderzeichen unberührt bleiben.
 
Was unter Debian, Ubuntu und Co. so unkompliziert ist, macht bei anderen Distributionen unerwartete Probleme, denn bei Fedora und Open Suse ist eine andere Version von rename vorinstalliert, die mit regulären Ausdrücken wie in diesem Befehl nichts anzufangen weiß. Bei Debian-ähnlichen Linux-Distributionen steckt hinter dem Befehl rename nämlich ein ausgefeiltes Perl-Script, während die anderen Distributionen nur eine weniger mächtige Standardversion aus dem traditionellen Paket util-linux bieten. Dies ist aber nur ein kleines Hindernis, denn die Perl-Version ist in drei Handgriffen nachinstalliert.
 
Da es sich um ein Script handelt, muss dazu nichts kompiliert werden. und der Perl-Interpreter ist ebenfalls vorinstalliert. Mit
wget -O rename "http://anonscm. debian.org/gitweb/?p=perl/perl. git;a=blob_plain;f=debian/ rename;hb=HEAD"
speichern Sie das Perl-Script von Debian als Datei „rename“ im aktuellen Verzeichnis und machen es dann mit
chmod +x rename'
ausführbar. Abschließend verschieben Sie die Datei mit
sudo mv rename /usr/local/bin
ins passende Verzeichnis, damit der neue Befehl überall zur Verfügung steht. Das Verzeichnis „/usr/local/bin“ ist in der Pfad-Variable enthalten und hat eine höhere Priorität als der Pfad „/usr/bin“, in dem das mitgelieferte rename liegt. Ab jetzt ruft rename also immer die ergänzte Version auf. Wenn sich rename auf diese Weise nicht nachrüsten lässt, weil man auf dem Linux- System keine root-Privilegien hat, gibt es zum Umbenennen von Dateien nach Kleinbuchstaben eine Alternative:
for f in *; do mv "$f" "${f,,*}"; done
Dieses Kommando ignoriert zwar Umlaute, kann aber auch mit Leerzeichen umgehen.

  Dateiverwaltung Midnight Commander mit Anzeigefehlern

Zeichensatz in Putty reparieren: Das Windows-Programm für SSH-Verbindungen zeigt UTF-8 zunächst nicht richtig an und muss in diesem Menü korrekt konfiguriert werden.
Vergrößern Zeichensatz in Putty reparieren: Das Windows-Programm für SSH-Verbindungen zeigt UTF-8 zunächst nicht richtig an und muss in diesem Menü korrekt konfiguriert werden.

Der Midnight Commander ist ein vielseitiger Dateimanager in bewährter Zwei-Fenster-Optik für das Terminal und kann sich über FTP und SSH auch zu anderen Servern verbinden, um bequem Dateien zu übertragen. Dabei stolpert der Dateimanager aber häufiger über die Anzeige: Nach der Verbindungsaufnahme und Eingabe des Passworts zeigt der Midnight Commander zerhackte Dateilisten an.

TIPP: Das Anzeigeproblem sieht auf den ersten Blick schlimm aus, wie auch der Screenshot zeigt. Da es dabei aber nur um einen Hänger bei der Aktualisierung der Programmoberfläche handelt, ist es ein harmloser Fehler. Behoben ist das Problem im Midnight Commander mit einem zweimaligen Druck der Tastenkombination Strg-O. Dabei blendet der Dateimanager seine Fenster aus und wieder ein. Nützlich ist die Tastenkombination übrigens auch, um im Midnight Commander Zugang zur Shell zu bekommen, ohne den Dateimanager zu beenden. Ein anderes Darstellungsproblem betrifft den beliebten SSH-Client Putty für Windows: Wenn der Server die Zeichencodierung UTF-8 nutzt, zeigt sich der Midnight Commander in Putty nicht korrekt. Um das Problem zu beheben, klicken Sie rechts auf die Titelleiste von Putty und gehen Sie dann auf „Change settings -> Window -> Translation“. Im Feld „Remote character set“ wählen Sie die Option „UTF-8“ aus. Ab dem nächsten Start zeigt sich der Midnight Commander auch in Putty fehlerfrei.

Texteditor Rolle rückwärts: Undo mit vim

Die Bedienung des Texteditors vim ist nicht ganz einfach zu erlernen, dafür bietet das Programm gegenüber einfacheren Vertretern viele fortgeschrittene Funktionen. Ab vim 7.3 gibt es eine Undo-Funktion, die es aber noch zu aktivieren gilt. 

Rückwärtsgang einlegen: Mit dieser Ergänzung der Konfiguration kann der Texteditor vim (ab Version 7.3) letzte Änderungen an einer Datei mit dem Befehl :u rückgängig machen.
Vergrößern Rückwärtsgang einlegen: Mit dieser Ergänzung der Konfiguration kann der Texteditor vim (ab Version 7.3) letzte Änderungen an einer Datei mit dem Befehl :u rückgängig machen.

TIPP: Ein Undo nach Fehlern macht die letzte Änderungen rückgängig und kann eine Menge Ärger ersparen. Bei allen Editoren mit grafischer Oberfläche gehört Undo zur Grundausstattung, auf der Kommandozeile ist die Funktion aber ein Luxus. Mit vim braucht trotzdem niemand darauf zu verzichten: Bearbeiten Sie die Konfigurationsdatei „.vimrc“ in Ihrem Home-Verzeichnis oder erstellen Sie die Datei neu, falls sie noch nicht existiert. Tragen Sie dort diese zwei Zeilen ein:
set undofile set undodir=/tmp
Dies bringt vim dazu, Änderungen an geöffneten Dateien im Hintergrund zu protokollieren und in einer temporären Datei im angegebenen Verzeichnis „/tmp“ aufzuzeichnen. Ab dem nächsten Start von vim können Sie Änderungen mit der Eingabe von :u im Kommandomodus schrittweise rückgängig machen (undo) oder mit :r wiederholen (redo).

0 Kommentare zu diesem Artikel
1788944