Inhaltsverzeichnis
Zusammenfassung
Beim Starten des Linux-Systems wird in der Regel eine grafische Benutzeroberfläche geöffnet, die Sie durch die Anmeldung und die darauf folgenden Interaktionen mit dem System führt. Obwohl grafische Benutzeroberflächen zunehmend wichtiger und benutzerfreundlicher geworden sind, sind sie nicht die einzige Möglichkeit, mit Ihrem System zu kommunizieren. Sie können auch eine text-orientierte Kommunikationsmethode wählen, wie einen Kommandozeilen-Interpreter (auch Shell genannt), in den Sie Ihre Befehle eingeben. Da Ihnen Linux die Möglichkeit bietet, Shell-Fenster direkt aus der grafischen Benutzeroberfläche zu starten, können Sie beide Methoden bequem nebeneinander verwenden.
Gerade in der Administration spielen Shell-basierte Anwendungen
eine besonders große Rolle, wenn Sie zum Beispiel Computer über
langsame Netzwerkverbindungen steuern müssen oder Aufgaben als
root
von der
Kommandozeile ausführen möchten. Wenn Sie bislang noch nicht mit
Linux gearbeitet haben, mag Ihnen die Eingabe von Befehlen in
eine Shell vielleicht ungewöhnlich vorkommen. Sie werden aber bald
feststellen, dass die Shell nicht nur für Administratoren geeignet
ist, sondern häufig auch der schnellste und einfachste Weg ist,
Ihre täglichen Aufgaben auszuführen.
Für UNIX bzw. Linux gibt es mehrere Shells. Die Standard-Shell in SUSE Linux ist die Bash (GNU Bourne-Again Shell).
Dieses Kapitel befasst sich mit einigen Grundlagen, die Sie für die Arbeit mit der Shell kennen sollten. Hierzu zählen unter anderem die folgenden Themen: das Eingeben von Befehlen, die Verzeichnisstruktur von Linux, die Verwendung von Dateien und Verzeichnissen, einige der grundlegenden Funktionen der Shell, das Benutzer- und Berechtigungskonzept von Linux, eine Übersicht über die wichtigsten Shell-Befehle sowie eine kurze Einführung in den Editor vi, einem Standardeditor, der auf UNIX- und Linux-Systemen immer zur Verfügung steht.
Unter Linux können Sie die Kommandozeile parallel zur grafischen Benutzeroberfläche verwenden und einfach zwischen den beiden wechseln. Um ein Terminalfenster über die grafische Benutzeroberfläche in KDE zu starten, klicken Sie in der Kontrollleiste auf das Symbol für Konsole. Klicken Sie in GNOME auf das Symbol GNOME-Terminal in der Kontrollleiste.
Das Konsole-Fenster bzw. das GNOME-Terminalfenster wird
geöffnet. Dabei erscheint die Eingabeaufforderung (Prompt) in der
ersten Zeile, wie in Abbildung 3.1, „Beispiel eines Bash-Terminalfensters“ zu
sehen. Die Eingabeaufforderung zeigt normalerweise folgende
Informationen an: Ihren Anmeldenamen (in diesem Fall
tux
), den Hostnamen Ihres Computers (hier
knox
) und den aktuellen Pfad (in diesem Fall
Ihr Home-Verzeichnis, gekennzeichnet durch die Tilde,
~
). Wenn Sie an einem entfernten Computer
angemeldet sind, zeigen diese Informationen immer an, auf welchem
System Sie gerade arbeiten. Wenn sich der Cursor hinter diesen
Angaben befindet, können Sie direkt Befehle eingeben und an das
Computersystem senden.
Ein Befehl besteht aus mehreren Elementen. Das erste Element ist stets der tatsächliche Befehl, gefolgt von Parametern oder Optionen. Sie können einen Befehl eintippen und ihn nachfolgend mithilfe von ←, →, <—, Entf und Leertaste abändern. Sie können auch Optionen hinzufügen oder Tippfehler korrigieren. Befehle werden erst ausgeführt, wenn Sie Eingabe drücken.
No News is Good News | |
---|---|
Die Shell gibt nicht viele Meldungen aus: Im Gegensatz zu einigen grafischen Benutzeroberflächen erhalten Sie normalerweise keine Bestätigungsmeldungen, wenn Befehle ausgeführt wurden. Meldungen erscheinen nur bei Problemen oder Fehlern. Beachten Sie dies auch bei Befehlen zum Löschen von Objekten. Bevor Sie einen Befehl zum Entfernen einer Datei eingeben, wie beispielsweise rm, sollten Sie sich sicher sein, dass Sie das betreffende Objekt wirklich löschen möchten: Es wird ohne Nachfrage unwiederbringlich gelöscht. |
Betrachten wir die Struktur von Befehlen anhand eines einfachen Beispiels: anhand des Befehls ls, , der verwendet wird, um den Inhalt eines Verzeichnisses aufzulisten. Der Befehl kann mit oder ohne Optionen verwendet werden. Durch Eingeben des Befehls ls ohne Zusatz wird der Inhalt des aktuellen Verzeichnisses angezeigt:
Anders als bei MS Windows können
Dateien in Linux eine Dateinamenserweiterung besitzen, wie
beispielsweise .txt
,
müssen jedoch nicht. Daher ist es in dieser
Ausgabe von ls schwierig, Dateien von Ordnern
zu unterscheiden. Standardmäßig können Sie sich an den Farben
orientieren: Verzeichnisse werden normalerweise in blauer,
Dateien in schwarzer Farbe angezeigt.
Eine bessere Methode, weitere Details zum Inhalt eines
Verzeichnisses zu erhalten, besteht darin, den Befehl
ls mit einer Reihe von Optionen zu
aufzurufen. Durch Optionen wird die Funktionsweise eines Befehls
verändert, so dass Sie damit spezielle Aufgaben ausführen
können. Optionen werden durch ein Leerzeichen vom Befehl
getrennt und ihnen geht ein Bindestrich voran. Der Befehl
ls -l
z. B. zeigt den
Inhalt desselben Verzeichnisses mit allen Details an (long
listing format).
Links neben den einzelnen Objektnamen werden in mehreren
Spalten Informationen zum Objekt angezeigt. Die wichtigsten
Informationen sind folgende: die erste Spalte zeigt den Dateityp
des Objekts (im vorliegenden Beispiel: d
für
Verzeichnisse ("directory") oder -
für
Dateien). Die nächsten neun Spalten zeigen die die
Zugriffsberechtigungen für das Objekt. Die Spalten 11 und 12
zeigen den Namen des Dateieigentümers und der Gruppe (in diesem
Fall: tux
und users
).
Informationen zu Zugriffsberechtigungen und dem Benutzerkonzept
von Linux finden Sie in Abschnitt 3.2, „Benutzer und Zugriffsberechtigungen“. In der nächsten Spalte wird die Dateigröße in Byte
angezeigt, danach Datum und Uhrzeit der letzten Änderung. Die
letzte Spalte zeigt den Namen des Objekts an.
Wenn Sie noch mehr sehen möchten, können Sie auch zwei
Optionen für den Befehl ls kombinieren und
ls -la
eingeben. Die
Shell zeigt nun auch verborgene Dateien im Verzeichnis an. Diese
werden durch einen vorangestellten Punkt gekennzeichnet
(beispielsweise .hiddenfile
).
Sie müssen sich nicht alle Optionen für alle Befehle merken.
Wenn Sie den Namen eines Befehls wissen, sich jedoch
hinsichtlich der Optionen nicht sicher sind, können Sie den
Befehl mit nachfolgendem Leerzeichen und --help
eingeben. Die Option --help
ist für viele
Befehle verfügbar. Wenn Sie beispielsweise
ls
--help
eingeben, werden alle Optionen für den Befehl
ls angezeigt.
Da die Shell keinen grafischen Überblick über die
Verzeichnisse und Dateien bietet, wie beispielsweise eine
Baumansicht in einem Dateimanager, ist es hilfreich, wenn Sie
einige Grundkenntnisse zur Standardverzeichnisstruktur in
Linux-Systemen besitzen. Sie können sich Verzeichnisse als
elektronische Ordner vorstellen, in denen Dateien, Programme und
Unterverzeichnisse gespeichert sind. Die oberste Ebene in der
Hierarchie bildet das Stammverzeichnis, auch
/
genannt. Von hier aus können Sie auf alle
anderen Verzeichnisse zugreifen.
Abbildung 3.4, „Auszug aus einer Standardverzeichnisstruktur“ zeigt den
Standard-Verzeichnisbaum in Linux mit den Home-Verzeichnissen der
Beispielbenutzer xyz
,
linux
und tux
. Das Verzeichnis
/home
enthält die Verzeichnisse, in denen
die einzelnen Benutzer ihre persönlichen Dateien speichern können.
Home-Verzeichnis in einer Netzwerkumgebung | |
---|---|
Wenn Sie in einer Netzwerkumgebung arbeiten, trägt Ihr
Home-Verzeichnis möglicherweise nicht den Namen
|
Die folgende Liste enthält eine kurze Beschreibung der Standardverzeichnisse in Linux.
/
Stammverzeichnis, Startpunkt der Verzeichnisstruktur
/home
Persönliche Verzeichnisse von Benutzern
/dev
Gerätedateien, die Hardware-Komponenten darstellen
/etc
Wichtige Dateien für die Systemkonfiguration
/etc/init.d
Startskripts
/usr/bin
Programme, die für den allgemeinen Zugriff verfügbar sind
/bin
Programme, die am Anfang des Startvorgangs benötigt werden
/usr/sbin
Programme, die für den Systemadministrator reserviert sind
/sbin
Programme, die für den Systemadministrator reserviert und für den Start erforderlich sind
/usr/include
Header-Dateien für den C-Compiler
/usr/include/g++
Header-Dateien für den C++-Compiler
/usr/share/doc
Verschiedene Dokumentationsdateien
/usr/share/man
Systemhandbuchseiten (Manualpages)
/usr/src
Quellcode der Systemsoftware
/usr/src/linux
Kernel-Quellcode
/tmp
, /var/tmp
Temporäre Dateien
/usr
Alle Anwendungsprogramme
/var
Konfigurationsdateien (wie solche, die über
/usr
verknüpft sind)
/var/log
Systemprotokolldateien
/var/adm
Systemverwaltungsdaten
/lib
Freigegebene Bibliotheken (für dynamisch verknüpfte Programme)
/proc
Prozessdateisystem
/sys
Systemdateisystem, in dem alle Gerätedaten für das Kernel gesammelt werden.
/usr/local
Lokale, verteilungsunabhängige Erweiterungen
/opt
Optionale Software, größere Add-On-Programmpakete (wie KDE, GNOME und Netscape)
Um eine bestimmte Datei bzw. ein bestimmtes Verzeichnis anzusprechen, müssen Sie den Pfad angeben, der zu dem betreffenden Verzeichnis bzw. der betreffenden Datei führt. Es gibt zwei Möglichkeiten einen Pfad anzugeben:
Absolute Pfade beginnen immer mit einem Schrägstrich. Relativen Pfaden ist kein Schrägstrich vorangestellt.
Bei Linux muss Groß- und Kleinschreibung berücksichtigt werden | |
---|---|
Linux unterscheidet im Dateisystem zwischen Groß- und
Kleinbuchstaben. So ist es für Linux ein Unterschied, ob Sie
|
Mit dem Befehl cd können Sie das
Verzeichnis wechseln. Geben Sie dabei Ihr Zielverzeichnis als
Option des Befehls an. Als Platzhalter für das aktuelle
Verzeichnis können Sie einen Punkt (.
)
verwenden. Die nächsthöhere Ebene in der Struktur wird durch zwei
Punkte dargestellt (..
). Um beispielsweise in
das Elternverzeichnis des aktuellen Verzeichnisses zu wechseln,
geben Sie cd ..
ein. Vergessen
Sie nicht, ein Leerzeichen nach dem Befehl cd
einzugeben, um den Befehl von den Optionen zu trennen. Die
Eingabeaufforderung zeigt nun der Pfad zum Elternverzeichnis des
Verzeichnisses, in dem Sie den Befehl ausgeführt haben. Um zu
einem Verzeichnis zu wechseln, das sich zwei Ebenen über dem
aktuellen Verzeichnis befindet, geben Sie
cd ../..
ein.
ls -l ../..
listet den
Inhalt des zwei Ebenen höher liegenden Verzeichnisses auf.
In Abschnitt 3.1.3, „Arbeiten mit Verzeichnissen und Dateien“ wurden
relative Pfade bei der Eingabe von cd
verwendet. Sie können auch absolute Pfade einsetzen. Angenommen,
Sie möchten eine Datei aus Ihrem Home-Verzeichnis in ein
Unterverzeichnis von /tmp
kopieren:
Erstellen Sie ausgehend von Ihrem Home-Verzeichnis ein
Unterverzeichnis in /tmp
:
Wenn das aktuelle Verzeichnis nicht Ihr
Home-Verzeichnis ist, geben Sie
cd ~
ein, um zum
Home-Verzeichnis zu wechseln. Sie können von jeder
Stelle im Dateisystem zu Ihrem Home-Verzeichnis
wechseln, indem Sie
cd ~
eingeben.
Geben Sie in Ihrem Home-Verzeichnis
mkdir /tmp/test
ein. mkdir steht für „make
directory“. Mit diesem Befehl erstellen Sie ein
neues Verzeichnis mit dem Namen
test
im Verzeichnis
/tmp
. In diesem Fall verwenden Sie
einen absoluten Pfad, um das Verzeichnis zu
erstellen.
Geben Sie nun
ls -l /tmp
ein, um
zu überprüfen, was geschehen ist. Das neue Verzeichnis
test
sollte nun als Inhalt des
Verzeichnisses /tmp
angezeigt
werden.
Erstellen Sie nun eine neue Datei in Ihrem
Home-Verzeichnis und kopieren Sie sie mithilfe eines
relativen Pfads in das Verzeichnis
/tmp/test
.
Geben Sie den Befehl
touch myfile.txt
ein. Durch den Befehl touch
mit der
Option myfile.txt
wird eine neue,
leere Datei mit dem Namen myfile.txt
in Ihrem aktuellen Verzeichnis
erstellt.
Prüfen Sie dies, indem Sie
ls -l
eingeben. Die
neue Datei sollte in der Inhaltsliste angezeigt
werden.
Geben Sie cp myfile.txt
../tmp/test
ein. Dadurch wird
myfile.txt
in das Verzeichnis
/tmp/test
kopiert, ohne den Namen
der Datei zu ändern.
Prüfen Sie dies, indem Sie ls -l
/tmp/test
eingeben. Die Datei
myfile.txt
sollte nun im Inhalt
des Verzeichnisses /tmp/test
angezeigt werden.
Um den Inhalt der Home-Verzeichnisse anderer Benutzer
aufzulisten, geben Sie
ls ~
ein. Im Beispielverzeichnisbaum in Abbildung 3.4, „Auszug aus einer Standardverzeichnisstruktur“ ist einer der Beispielbenutzer
Benutzername
tux
. In diesem Fall
würde ls ~tux den Inhalt des
Home-Verzeichnisses von tux
auflisten.
Leerzeichen in Datei- oder Verzeichnisnamen | |
---|---|
Wenn ein Dateiname ein Leerzeichen enthält, geben Sie
entweder vor dem Leerzeichen ein Escape-Zeichen (umgekehrter
Schrägstrich |
Befehle in die Bash einzugeben, kann mit höherem Tippaufwand verbunden sein. Im Folgenden lernen Sie einige Funktionen der Bash kennen, die Ihnen die Arbeit erleichtern und Ihnen Tippaufwand ersparen können.
Standardmäßig „merkt“ sich die Bash die
Befehle, die Sie eingeben. Diese Funktion wird
History
genannt. Wenn Sie einen Befehl
wiederholen wollen, der bereits eingegeben wurde, drücken Sie
einfach ↑, bis die
Einagebauffoderung den vorherigen Befehl anzeigt. Sie können
auch in der Liste der eingegebenen Befehlen nach vorne blättern,
indem Sie ↓ drücken. Sie haben
immer die Möglichkeit, den betreffenden Befehl zu ändern,
beispielsweise können Sie den Namen einer Datei ändern, bevor
Sie den Befehl durch Drücken der Eingabe ausführen. Um den Befehl zu ändern, verschieben Sie
den Cursor mit den Pfeiltasten an die gewünschte Position und
beginnen Sie die Eingabe. Verwenden Sie Strg-R, um die History zu durchsuchen.
Das Ergänzen von Datei- oder Verzeichnisnamen nach der Eingabe der ersten Buchstaben ist eine weitere hilfreiche Funktion von Bash. Geben Sie hierzu die ersten Buchstaben einer vorhandenen Datei oder eines vorhandenen Verzeichnisses ein und drücken Sie die →|. Wenn der Dateiname bzw. Pfad eindeutig identifiziert werden kann, wird er sofort ergänzt und der Cursor springt zum Ende des Dateinamens. Anschließend können Sie die nächste Option des Befehls eingeben, falls erforderlich. Wenn der Dateiname oder Pfad nicht eindeutig identifiziert werden kann (beispielsweise, da mehrere Dateinamen vorliegen, die mit denselben Buchstaben beginnen), wird der Dateiname nur so weit ergänzt, bis mehrere Varianten möglich sind. Eine Auflistung dieser Varianten erhalten Sie, wenn Sie ein zweites Mal die Taste →| drücken. Anschließend können Sie die nächsten Buchstaben der Datei bzw. des Pfads eingeben und erneut durch Drücken von →| die Ergänzungsfunktion aktivieren. Wenn Sie Dateinamen und Pfade mithilfe von →| ergänzen, können Sie gleichzeitig überprüfen, ob die Datei bzw. der Pfad, den Sie eingeben möchten, tatsächlich vorhanden ist (und Sie können sicher sein, dass er richtig geschrieben ist).
Ein weiterere Komfortfunktion der Shell sind Platzhalter, die Sie verwenden können, um Pfadnamen zu erweitern. Platzhalter sind Zeichen, die für andere Zeichen stehen. Die Bash kennt drei verschiedene Arten von Platzhaltern:
Stimmt genau mit einem zufälligen Zeichen überein
Stimmt mit einer beliebigen Zahl an Zeichen überein
Stimmt mit einem Zeichen aus der Gruppe überein, die
in den eckigen Klammern angegeben wurde, die hier durch
die Zeichenfolge set dargestellt
wird. Als Teil von set können Sie
auch Zeichenklassen mit der Syntax
[:class
:]
festlegen, wobei class zu alnum
,
alpha
, ascii
usw.
gehört.
Wenn Sie !
oder
^
am Beginn der Gruppe verwenden
([!set]) wird eine Übereinstimmung
mit einem Zeichen gesucht, das keinem der Zeichen
entspricht, die durch set festgelegt
wurden.
Angenommen, das Verzeichnis test
enthält die Dateien Testfile
,
Testfile1
, Testfile2
und datafile
, führt der Befehl
ls Testfile? die Dateien
Testfile1
und
Testfile2
auf. Mit
ls Test* enthält die Liste auch
Testfile
. ls *fil*
zeigt alle Beispielsdateien an. Schließlich können Sie den
Platzhalter set
verwenden, um alle
Beispielsdateien zu adressieren, deren letztes Zeichen eine
Ziffer ist: ls Testfile[1-9] oder, wenn Sie
Klassen verwenden ls Testfile[[:digit:]].
Von den vier Platzhaltertypen beinhaltet das Sternchen die meisten Zeichen. Es kann verwendet werden, um alle im Verzeichnis enthaltenen Dateien in ein anderes zu kopieren oder um alle Dateien mit einem Befehl zu löschen. Der Befehl rm *fil* würde z. B. alle Dateien im aktuellen Verzeichnis löschen, deren Namen die Zeichenfolge fil umfassen.
Linux umfasst zwei kleine Programme zum Anzeigen von
Textdateien direkt in der Shell: less und
more. Anstatt einen Editor zu starten, um
eine Datei zu lesen wie Readme.txt
, geben
Sie einfach less
Readme.txt ein, um den
Text im Konsolenfenster anzuzeigen. Verwenden Sie die
Leertaste, um die Seiten durchzublättern.
Verwenden Sie Bild ↑ und Bild ↓, um sich im Text nach vorne oder
hinten zu bewegen. Um „less“ zu beenden, drücken Sie
Q.
Statt less können Sie auch das ältere
Programm more
verwenden. Dies ist jedoch
weniger praktisch, da Sie nicht zurückblättern können.
Das Programm less
hat seinen Namen von
dem Konzept less is more (weniger ist mehr)
und kann auch verwendet werden, um die Ausgabe von Befehlen auf
bequeme Art zu gestalten. Wenn Sie wissen möchten, wie dies
funktioniert, lesen Sie Abschnitt 3.1.4.4, „Umleitung und Pipes“.
Normalerweise ist die Standardausgabe in der Shell der
Bildschirm oder das Konsolenfenster und die Standardeingabe
erfolgt über die Tastatur. Allerdings bietet die Shell
Funktionen, mit denen Sie die Eingabe bzw. Ausgabe an ein
anderes Objekt, beispielsweise eine Datei oder einen anderen
Befehl, umleiten können. Mithilfe der Symbole
>
und <
beispielsweise können Sie die Ausgabe eines Befehls in eine
Datei weiterleiten (Ausgabeumleitung) oder eine Datei als
Eingabe für einen Befehl verwenden (Eingabeumleitung). Wenn Sie
also die Ausgabe eines Befehls, wie beispielsweise
ls in eine Datei schreiben möchten, geben Sie
ls -l > file.txt ein. Dadurch wird
eine Datei mit dem Namen file.txt
erstellt,
die eine Inhaltsliste des aktuellen Verzeichnisses enthält,
welche Sie durch den Befehl ls erzeugt haben.
Wenn jedoch bereits eine Datei mit dem Namen
file.txt
vorhanden ist, wird mit diesem
Befehl die bestehende Datei überschrieben. Sie können diese mit
>>
verhindern. Durch Eingabe
von ls -l >> file.txt wird die
Ausgabe des Befehls ls einfach an eine
bereits bestehende Datei file.txt
angehängt. Wenn die Datei noch nicht vorhanden ist, wird sie
erstellt.
Manchmal ist es auch sinnvoll, eine Datei als Eingabe für
einen Befehl zu verwenden. So können Sie beispielsweise mit dem
Befehl tr Zeichen ersetzen, die aus einer
Datei umgeleitet wurden, und das Ergebnis in die
Standardausgabe, den Bildschirm, schreiben. Angenommen, Sie
möchten alle Zeichen t
in der Datei
file.txt
aus dem obigen Beispiel durch
x
ersetzen und das Ergebnis auf dem
Bildschirm ausgeben. Geben Sie dazu
tr t x < file.txt ein.
Wie die Standardausgabe wird die Standardfehlerausgabe zur
Konsole gesendet. Um eine Standardfehlerausgabe an eine Datei
mit dem Namen fehler
zu senden, hängen Sie
2> fehler an den entsprechenden Befehl
an. Sowohl Standardausgabe als auch Standardfehler werden in
einer Datei mit dem Namen gesamtausgabe
gespeichert, wenn Sie
>& Gesamtausgabe anhängen.
Die Verwendung von Pipelines bzw.
Pipes ist ebenfalls eine Art von
Umleitung. Allerdings ist die Verwendung der Pipe nicht auf
Dateien beschränkt. Mit einer Pipe (|
) können
Sie mehrere Befehle kombinieren, indem Sie die Ausgabe eines
Befehls als Eingabe für den nächsten Befehl verwenden. Um
beispielsweise den Inhalt Ihres aktuellen Verzeichnisses in
less anzuzeigen, geben Sie
ls | less ein. Dies ist nur sinnvoll, wenn
die normale Ausgabe mit ls zu lang wäre. Wenn
Sie z. B. den Inhalt des Verzeichnisses dev
mit ls /dev anzeigen, können Sie nur einen
kleinen Teil des Fensters sehen. Die gesamte Liste können Sie
mit ls /dev | less anzeigen.
Da Sie nun bereits eine Reihe von Dateien und Verzeichnissen
erstellt haben, möchten Sie vielleicht Archive erstellen und die
Daten komprimieren. Angenommen, Sie möchten das gesamte
Verzeichnis test
in eine Datei packen, die
Sie auf einem USB-Stick als Sicherungskopie speichern oder per
eine E-Mail versenden können. Verwenden Sie hierzu den Befehl
tar (für tape archiver
(Bandarchivierung). Durch Eingabe von
tar --help können Sie alle Optionen für den
Befehl tar anzeigen. Die wichtigste dieser
Optionen wird hier erklärt:
(für create) Ein neues Archiv erstellen.
(für table) Inhalt eines Archivs anzeigen.
(für extract) Das Archiv entpacken.
(für verbose) Alle Dateien auf dem Bildschirm anzeigen, während das Archiv erstellt wird.
(für file) Wählen Sie einen Dateinamen für die Archivdatei. Beim Erstellen eines Archivs muss diese Option stets zuletzt gegeben sein.
Um das Verzeichnis test
mit allen
Dateien und Unterverzeichnissen in ein Archiv mit dem Namen
testarchiv.tar
zu packen, verwenden Sie die
Optionen -c
und -f
. Zu
Testzwecken fügen Sie auch -v
hinzu, um den
Fortschritt des Archivierens zu verfolgen, obwohl diese Option
nicht obligatorisch ist. Nachdem Sie cd
verwendet haben, um das Stammverzeichnis zu ändern, in dem sich
das Verzeichnis test
befand, geben Sie
tar -cvf testarchiv.tar test ein. Zeigen Sie
danach den Inhalt der Archivdatei mit
tar -tf testarchiv.tar an. Das Verzeichnis
test
mit all seinen Dateien und
Verzeichnissen befindet sich immer noch unverändert auf der
Festplatte. Um das Archiv zu entpacken, geben Sie
tar -xvf testarchiv.tar ein, aber versuchen Sie
dies jetzt noch nicht.
Für die Dateikomprimierung ist die offensichtliche Wahl
gzip oder bzip2 für ein
verbessertes Komprimierungsverhältnis.
Geben Sie einfach
gzip testarchiv.tar (oder
bzip2 testarchiv.tarein; in diesem Beispiel
wird jedoch gzip verwendet). Mit
ls sehen Sie, dass die Datei
testarchiv.tar
nicht mehr vorhanden ist und
dass die Datei testarchiv.tar.gz
stattdessen
erstellt wurde. Diese Datei ist viel kleiner und daher besser
geeignet für die Übertragung durch E-Mail oder für die Speicherung
auf einem USB-Stick.
Entpacken Sie jetzt die Datei im zuvor erstellten
test2
-Verzeichis. Geben Sie hierzu
cp testarchiv.tar.gz test2 ein, um die Datei in
dieses Verzeichnis zu kopieren. Wechseln Sie in das Verzeichnis
mit cd test2. Ein komprimiertes Archiv mit der
Erweiterung .tar.gz
kann entzippt werden mit dem Befehl gunzip. Geben Sie gunzip testarchive.tar.gzein ein. Dadurch wird die Datei
testarchiv.tar
erstellt, die mit
tar -xvf testarchiv.tar extrahiert oder
„untarred“ werden muss. Sie können ein
komprimiertes Archiv auch in einem Schritt entzippen und
extrahieren mit tar -xvf testarchiv.tar.gz (das
Hinzufügen der Option -z
ist nicht mehr
erforderlich). Mit ls können Sie sehen, dass
ein neues Verzeichnis test
mit demselben
Inhalt erstellt wurde wie das Verzeichnis
test
im Stammverzeichnis.
Nach diesem Schnellkurs sind Sie mit den Grundlagen der Linux-Shell oder der Befehlszeile vertraut. Sie können Ihr Home-Verzeichnis bereinigen, indem Sie die verschiedenen Testdateien und Verzeichnisse mit den Befehlen rm und rmdir löschen. Unter Abschnitt 3.3, „Wichtige Linux-Befehle“ finden Sie eine Liste der wichtigsten Befehle und eine kurze Beschreibung ihrer Funktionen.