![]() |
|
||||||||||||||||||||
|
|||||||||||||||||||||
|
|||||||||||||||||||||
von Andrea Müller
Wie in der Windows-Shell legt unter Linux der Befehl mkdir Verzeichnisse an. Der Name ist die Kurzform von make directory (erstelle Verzeichnis). So erzeugt mkdir bilder im aktuellen Verzeichnis ein Unterverzeichnnis mit dem Namen bilder. Wer seine Daten gut organisiert auf der Platte vorhalten will, benötigt noch weitere Unterverzeichnisse. Ein mkdir bilder/urlaub und nachfolgendes mkdir bilder/urlaub/sommer2003 erstellt die passenden Unterverzeichnisse.
Damit man sich für tiefe Verzeichnishierarchien nicht die Finger wund und immer wieder neu mkdir eintippen muss, gibt es den praktischen Aufrufparameter -p: Damit legt das Programm auch noch nicht vorhandene übergeordnete Verzeichnisse an (so genannte Eltern-Verzeichnisse, auf englich parent directories). Statt wie oben dreimal hintereinander ein Verzeichis anzulegen, machen Sie das mit mkdir -p bilder/urlaub/sommer2003 in einem Rutsch.
Mit modernen Datei-Managern wie dem Konqueror können Sie Dateien anlegen, deren Name alle möglichen Zeichen enthält. Haben Sie eine, deren Name mit einem Minuszeichen beginnt, z. B. -rechnung, können Sie diese auf der Kommandozeile nicht so einfach löschen (Abbildung 1).
Die Fehlermeldung des Befehls rm lautet rm: Ungültige Option -- e und gibt einen Hinweis, warum die Datei nicht gelöscht wird. Das Programm rm interpretiert die Buchstaben, die nach einem Minuszeichen folgen, als Parameter. Bei dem eingegebenen -rechnung handelt es sich aber gar nicht um mehrere Parameter, sondern das Löschprogramm soll -rechnung als Dateinamen akzeptieren. Ungeduldige Naturen entfernen die Datei mit einem Datei-Manager, doch auch in der Shell werden Sie die Geister, die Sie riefen, wieder los: Damit rm erkennt, dass es sich bei -rechnung um die zu löschende Datei handelt, können Sie zwei Wege gehen.
Der erste ist der Aufruf von rm ./-rechnung. Die Zeichen ./ stehen für das aktuelle Verzeichnis. Sie könnten auch den vollen Pfad zur Datei -rechnung angeben, also z. B. rm /home/andi/-rechnung. Da nun das Minus-Zeichen nicht mehr am Anfang steht, kommt rm nicht auf die Idee, die Buchstaben des Wortes rechnung als Aufrufparameter zu behandeln. Alternativ entfernen Sie die mit einem Minuszeichen beginnende Datei mit dem Befehl rm -- -rechnung. Die beiden Minuszeichen -- sagen rm, dass keine Aufrufparameter mehr folgen. Alles, was dahinter steht, wird von rm als Argument behandelt.
Diese Tricks greifen auch bei anderen Dateibefehlen auf der Kommandozeile. So erstellen Sie mit dem Befehl cp -- -rechnung /home/benutzername/backup/ eine Sicherheitskopie der Datei im Unterverzeichnis backup Ihres Home-Verzeichnisses.
Auf welchen Tag des Jahres fällt der eigene Geburtstag, was für ein Wochentag ist der 27. des nächsten Monats, der wievielte Tag des Jahres ist der 15. September? Fragen über Fragen, die Ihnen ein Kalender beantworten kann. Auch die Kommandozeile hat in dieser Hinsicht etwas zu bieten -- das praktische Programm cal. Ohne Argumente aufgerufen, präsentiert es Ihnen eine Ansicht des aktuellen Monats. Per Default wird der Sonntag als erster Wochentag behandelt. Wer es lieber biblisch korrekt mag, erreicht das mit dem Befehl cal -m, wobei das -m für monday (Montag) steht. Wollen Sie zusätzlich Vor- und Folgemonat im Blick haben, erledigt das der Aufruf von cal -m -3 (Abbildung 2).
Natürlich kann man cal auch anweisen, einen ganz bestimmten Monat anzuzeigen. Der Aufruf von cal 6 2004 zeigt Ihnen den Monat Juni (6) des Jahres 2004 an. Wollen Sie das ganze nächste Jahr im Überblick haben, erledigt das ein cal 2004. Das Jahr darf übrigens nicht abgekürzt werden: cal 04 zeigt das Jahr 4 n. Chr. (und nicht 2004) an. Um den Kalender des aktuellen Jahres anzuzeigen, rufen Sie das Programm alternativ mit dem Parameter -y auf. Wer einen solchen kompakten Jahreskalender ausdrucken will, leitet die Ausgabe von cal einfach in eine Datei um.
Der Befehl
cal -y -m > kalender2003.txt
schreibt den Kalender dieses Jahres in die Datei kalender2003.txt und verwendet den Montag als ersten Wochentag. Danach öffnen Sie die so erzeugte Datei mit einem Editor, etwa kwrite, und drucken sie aus.
Damit Sie herausfinden können, der wievielte Tag des Jahres der 15. September ist, hält cal den Parameter -j bereit. Nach der Eingabe von cal -j 09 2003 offenbart sich der 15. September als 258. Tag dieses Jahres.
Manchmal muss man Dateien auf Datenträger kopieren, deren Kapazität nicht ausreicht -- meistens Disketten, aber auch immer öfter CDs. Für Windows bekommen Sie Zusatzprogramme, die Dateien in mehrere Stücke zerlegen und am Zielort wieder zusammenfügen -- bei Linux ist alles schon dabei: Das Werkzeug zum Zerteilen heißt split, das Zusammenfügen erledigt cat. Der Aufruf ist denkbar einfach. Ein
split -b 1m grossedatei kleinedatei
zerteilt grossedatei in 1 MB kleine Stücke, die mit kleinedatei beginnende Namen erhalten, welche mit einer eindeutigen Buchstabenfolge enden, also kleinedateiaa, kleinedateiab und kleinedateiac (Abbildung 3). Das Original grossedatei bleibt von dieser Aktion unberührt und liegt weiterhin in voller Größe auf Ihrer Festplatte.
Wollen Sie eine Datei in 500-KB-Happen aufteilen, rufen Sie
split -b 500k grossedatei kleinedatei
auf. Hinter dem Parameter -b folgt immer die gewünschte Größe. Geben Sie nur eine Zahl ein, geht split davon aus, dass Sie Byte meinen. Der Buchstabe k hinter der Größenangabe teilt dem Programm mit, dass Sie von Kilobyte reden und ein m hinter der Zahl steht konsequenterweise für Megabyte.
Die Teilstücke schaffen Sie auf den Zielrechner und setzen sie dort mit
cat kleinedatei* > grossedatei
wieder zusammen. Das Sternchen (*) ist ein so genanntes Wildcard-Zeichen (Platzhalter). cat liest nacheinander alle Dateien ein, die mit der Zeichenfolge kleinedatei beginnen und beliebigen weiteren Zeichen enden und schreibt die Ausgabe dank des Umleitungszeichens > in eine neue Datei mit dem Namen grossedatei. Die Buchstabenfolge, die split beim Erstellen der Teilstücke an den Namen anhängt, stellt sicher, dass cat die Dateiteile in der richtigen Reihenfolge einliest.
Das ist keine Quizfrage, sondern die Übersetzung des Befehls whoami, der -- folgerichtig -- Ihren Benutzernamen ausgibt. Nicht besonders interessant, meinen Sie, weil Sie ja wissen, wer Sie sind, und Ihr Login-Name schließlich auch im Shell-Prompt steht?
Aber das ist nicht alles, was es über einen Benutzer zu wissen gibt. Jeder hat z. B. eine eindeutige Kennnummer, über die das System ihn identifiziert. Linux ist es nämlich herzlich egal, ob der Benutzer mit der UID (User Identification Number) 500 manfred oder hilde heißt: Wenn es darum geht, ob er eine Datei lesen oder schreiben darf, interessiert das Betriebssystem nur die Identifikationsnummer.
Ebenfalls wichtig ist, in welchen Gruppen der Benutzer Mitglied ist, da davon manche Rechte im System abhängen. Wer -- unter SuSE Linux -- nicht Mitglied der Gruppe dialout ist, kann den Internet-Zugang nicht aktivieren. Detaillierte Informationen gibt der Befehl id: Die Ausgabe
uid=500(andi) gid=100(users) Gruppen=100(users),14(uucp),16(dialout),17(audio),33(video)
zeigt zunächst die UID und den Benutzernamen, danach die primäre Gruppe des Nutzers und schließlich noch alle anderen Gruppen, in denen er Mitglied ist.
Wer neugierig ist, kann sich diese Informationen sogar für andere Benutzer des Systems anzeigen lassen. Rufen Sie dazu einfach id benutzername auf. (fan)
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.
Druckerfreundliche Version |
Feedback zu dieser Seite |
Datenschutz |
© 2012 Linux New Media AG |
Last modified: 2007-01-25 16:30
[Linux-Magazin]
[LinuxUser]
[Linux-Community]
[Admin-Magazin]
[Ubuntu User]
[Smart Developer]
[Linux Events]
[Linux Magazine]
[Ubuntu User]
[Admin Magazine]
[Smart Developer]
[Linux Magazine Poland]
[Linux Community Poland]
[Linux Magazine Brasil]
[Linux Magazine Spain]
[Linux Technical Review]