Debian GNU/Linux Anwenderhandbuch | ||
---|---|---|
Zurück | Kapitel 3. Betrieb | Nach vorne |
Um mit Ihrem System arbeiten zu können, müssen Sie etwas über das Erzeugen, Verschieben, Umbenennen und Löschen von Dateien und Verzeichnissen erfahren.
Zunächst ist es jedoch wichtig zu wissen, an welcher Stelle des Verzeichnisbaumes man sich befindet. Wie schon beschrieben, befinden Sie sich nach dem Anmelden am System in Ihrem Home-Verzeichnis. Sie können dies mit dem Kommando pwd überprüfen. Die Ausgabe sollte in etwa so aussehen:
bash-2.02$ pwd /home/fr |
Dieses Kommando zeigt, wenn es ohne weitere Parameter verwendet wird, alle Dateien in dem aktuellen Verzeichnis an. Nach dem Anmelden an einem neu installierten Debian GNU/Linux-System befinden Sie sich in Ihrem Home-Verzeichnis, und dieses ist leer. Das Kommando ls wird also nichts anzeigen. (Das Verzeichnis ist nicht wirklich leer, Sie sehen lediglich mit dem Kommando ls ohne Parameter nicht die angelegten Dateien.)
Sie können aber auch das Kommando ls mit einem Pfad als Option aufrufen. Beispielsweise zeigt ls / das „root-“Verzeichnis des Systems an.
Mit diesem Kommando können Sie in ein anderes Verzeichnis (directory) wechseln. cd /tmp wechselt beispielsweise in das Verzeichnis für temporäre Dateien unterhalb von /.
Auf zwei Besonderheiten möchte ich an dieser Stelle eingehen, die nicht nur mit dem Kommando cd funktionieren, aber zum besseren Verständnis hier gut untergebracht sind.
Das Zeichen ~ steht als Abkürzung für den kompletten Pfad zu Ihrem privaten Home-Verzeichnis. cd mit der Option ~, also cd ~, wechselt ins Home-Verzeichnis.
Weiterhin möchte man häufig in ein Verzeichnis in der Struktur höher wechseln. Sicher könnte man mit pwd nachsehen, wo man sich gerade befindet und dann dem Kommando cd den passenden Pfad übergeben. Als einfache Alternative steht aber das Kürzel .. für das übergeordnete Verzeichnis zur Verfügung. cd .. wechselt also ins übergeordnete Verzeichnis (beachten Sie das Leerzeichen).
Eine weitere Abkürzung stellt . dar. Diese steht für das aktuelle Verzeichnis, in dem Sie sich gerade befinden, doch dazu gleich in einem anderen Beispiel.
Mit diesem Kommando können Sie weitere Verzeichnisse anlegen. Wechseln Sie in Ihr Home-Verzeichnis mit cd ~ und erzeugen Sie ein Verzeichnis test (mit mkdir test). Überprüfen Sie mit ls, ob es funktioniert hat. Erzeugen Sie nach Belieben einige weitere Verzeichnisse, auch unterhalb von test.
Mit diesem Kommando können Sie Kopien von Dateien erzeugen. Kopieren Sie die Datei /etc/profile in Ihr Home-Verzeichnis mit cp /etc/profile . (Hier also das versprochene Beispiel mit nur einem Punkt.) Prüfen Sie mit ls, ob sich in Ihrem Verzeichnis nun eine Datei profile befindet.
more profile zeigt Ihnen den Inhalt der Datei profile seitenweise auf der Konsole an. Sie können mit der SPACE-Taste seitenweise weiterblättern und mit der Taste q das Programm more wieder verlassen. more zeigt am unteren Bildschirmrand die aktuelle Position in der Datei in Prozent an. Am Ende einer Datei wird more automatisch beendet. more kann, wie die meisten anderen Programme auch, über Optionen auf der Kommandozeile gesteuert werden. Sie können diese Optionen auch in die Umgebungsvariable MORE schreiben, die Optionen werden dann bei jedem Aufruf von more benutzt.
Lesen Sie die man-page zu more, das Programm hat noch einige andere interessante Möglichkeiten.
Tip: Sollten Sie auf eine gepackte Datei stoßen, so können Sie diese mit dem Kommando zmore ansehen.
Wenn Ihnen die Optionen von more nicht ausreichen, sollten Sie einen Blick auf das Programm less werfen. Es verfügt über die gleichen Funktionen, wurde aber noch um einige nützliche Funktionen erweitert.
Zum Verschieben von Dateien benötigt das Kommando mv zwei Parameter: der erste Parameter ist die Quelldatei, der zweite die Zieldatei. Verschieben Sie die Datei profile in das erstellte Verzeichnis test, mit mv profile test. mv dient aber auch zum Umbenennen von Dateien. Wechseln Sie in das Verzeichnis test und benennen Sie die Datei profile in testdatei um (mv profile testdatei).
Weiterhin können Sie mit mv auch Verzeichnisse verschieben oder umbenennen, die Syntax unterscheidet sich dabei nicht, egal ob Sie mit Dateien oder Verzeichnissen arbeiten.
Beachten Sie das es mit mv nicht möglich ist mehrere Dateien auf einmal umzubenennen. Hierzu bedarf es eines kleinen Scriptes oder anderer entsprechender Hilfsmittel.
Mit dem Kommando rm können Sie eine oder mehrere Dateien löschen. Im einfachsten Fall geben Sie den Namen der zu löschenden Datei an, also: rm ichwillweg.txt (Sollte diese nicht existieren, so können Sie diese mit dem Kommando touch ichwillweg.txt anlegen). Als Parameter kann dem Kommando rm eine Reihe von Dateinamen mitgegeben werden, diese werden durch Leerzeichen getrennt: rm ichwillweg.txt ichauch.txt metoo.asc removeme.txt done.sh, dieses Kommando löscht fünf Dateien von der Platte. An dieser Stelle ein wichtiger Hinweis: Es gibt kein undelete unter Linux. Dateien, die Sie mit rm gelöscht haben, können Sie nicht zurückholen. (Es gibt Programme, die auch mit dem zur Zeit aktuellen ext2-Dateisystem gelöschte Dateien zurückholen können. Dies ist aber momentan noch in der Entwicklung. Besser ist es, auf ein „journaling Filesystem“ für Linux zu warten, ext3, XFS oder reiserFS sind da zu nennen, diese werden solche Funktionen besser unterstützen.)
Wenn Sie ein Verzeichnis inklusive aller darin enthaltenen Dateien löschen möchten, können Sie dies auch mit dem Kommando rm erledigen. Hierzu dient die Option -rf. Ein Beispiel: rm -rf /home/fr/test/ löscht im Home-Verzeichnis das Verzeichnis test mit allen Dateien und Unterverzeichnissen. Etwas, was Sie nicht ausprobieren sollten (man findet das manchmal, weil sich Leute einen Spaß daraus machen...). Als weiteres Beispiel folgendes (nicht abtippen!!!): rm -rf / (nicht abtippen!!!). Wie schon beschrieben stellt / das Startverzeichnis des gesamten Verzeichnisbaums dar. Sie würden also Ihr komplettes System von der Platte verbannen.... Also nicht auf diesen kleinen Spaß hereinfallen...
Nun fehlt uns noch ein Kommando, um lediglich ein Verzeichnis, in dem sich keine Dateien befinden, zu entfernen. rmdir mit dem Verzeichnisnamen erledigt dies für uns. Natürlich läßt sich auch rm dafür nutzen, mit den entsprechenden Optionen, Sie können selbst entscheiden, welches Kommando Sie benutzen wollen... Noch schnell ein Beispiel: rmdir test entfernt das Verzeichnis test im aktuellen Verzeichnis.
Namen von versteckten Dateien oder Verzeichnissen beginnen mit einem Punkt (.). Sie können das Kommando ls mit der Option -a dazu bringen, auch diese versteckten Dateien anzuzeigen. Sie können das sehr einfach in Ihrem Homeverzeichnis ausprobieren, dort werden bei der Einrichtung eines neuen Benutzers und später durch verschiedene Programme diverse versteckte Dateien und Verzeichnisse angelegt.
Wechseln Sie in Ihr Homeverzeichnis (mit dem Kommando cd) und sehen Sie sich den Inhalt des Verzeichnisses einmal an, inklusive der versteckten Dateien (mit dem Kommando ls -la). Sie sehen nun die „normalen“ Dateien sowie auch die versteckten Dateien. Dabei wird Ihnen vielleicht auffallen, daß es zwei etwas außergewöhnliche Dateien, nämlich . und .. gibt. Diese stellen das aktuelle Verzeichnis „.“, in dem Sie sich befinden, sowie das übergeordnete Verzeichnis .. dar. Wenn Sie das Kommando ls mit der Option -lA benutzen, werden diese beiden Dateien nicht mit angezeigt.
Der Grund für versteckte Dateien liegt nicht in der Geheimhaltung von Daten. Vielmehr ist es im täglichen Umgang mit dem System nicht sinnvoll, alle möglichen Dateien anzuzeigen, die sich in Ihrem Homeverzeichnis befinden. Viele Programme legen dort auch individuelle Konfigurationsdateien ab, es hat sich eingebürgert, diese Dateien oder Verzeichnisse mit einem Punkt beginnen zu lassen, so daß diese nicht bei der normalen Arbeit mit Dateien stören.
Über diese Konfigurationsdateien in Ihrem Verzeichnis können Sie das Verhalten oder Aussehen von Programmen verändern. Diese Änderungen sind nur wirksam, wenn Sie sich mit Ihrem Benutzernamen am System angemeldet haben. Systemweite Konfigurationsdateien finden Sie im Verzeichnis /etc/.
Um Dateien in Ihrem System zu finden, stehen Ihnen auf der Kommandozeile zwei Programme zur Verfügung: find und locate. Mit dem Programm find können Sie die Festplatte nach Dateien durchsuchen, dies kann je nach Größe der Platten einige Zeit dauern. find verfügt über einige Parameter, die Sie in der Man-Page nachlesen können.
bash-2.03$ find --help Usage: find [path...] [expression] default path is the current directory; default expression is -print expression may consist of: operators (decreasing precedence; -and is implicit where no others are given): ( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2 EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2 options (always true): -daystart -depth -follow --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf --version -xdev tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME -ilname PATTERN -iname PATTERN -inum N -ipath PATTERN -iregex PATTERN -links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE -nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN -size N[bckw] -true -type [bcdpfls] -uid N -used N -user NAME -xtype [bcdpfls] actions: -exec COMMAND ; -fprint FILE -fprint0 FILE -fprintf FILE FORMAT -ok COMMAND ; -print -print0 -printf FORMAT -prune -ls |
bash-2.02$ find / -name resolv.conf /etc/resolv.conf find: /var/spool/cron/atjobs: Permission denied find: /var/spool/cron/atspool: Permission denied find: /var/lib/xdm/authdir: Permission denied |
bash-2.02$ find / -name resol\* /etc/resolv.conf find: /var/spool/cron/atjobs: Permission denied find: /var/spool/cron/atspool: Permission denied find: /var/lib/xdm/authdir: Permission denied |
Sollten Sie Ihren Rechner ausschalten, so können Sie auch (als Superuser) die Datenbank von locate – mit dem Kommando updatedb zu jeder anderen Zeit aktualisieren. Sie können aber auch die Zeit, zu der updatedb gestartet wird, in der Datei /etc/crontab Ihren Bedürfnissen anpassen.
Wenn Ihnen diese Änderungen zu kompliziert erscheinen, können Sie auch das Paket anacron installieren, dieses sorgt dafür, daß Cronjobs, die eigentlich während der Zeit ausgeführt werden sollten, zu der Sie Ihren Rechner ausgeschaltet hatten, nachträglich ausgeführt werden.
Dadurch, daß die Datenbank einmal täglich aktualisiert wird, kann locate natürlich auch nur Dateien finden, die zu diesem Zeitpunkt bereits vorhanden waren. Später erzeugte Dateien werden von locate nicht angezeigt. Das klang jetzt etwas aufwendig, locate ist aber sehr leicht zu bedienen, wie folgendes Beispiel beweist:
bash-2.02$ locate XF86Config /etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config /usr/X11R6/lib/X11/XF86Config.eg /usr/X11R6/man/man5/XF86Config.5x.gz |
Wie Sie sehen, findet locate alle Dateien, die den Suchbegriff beinhalten, ohne daß Sie mit Wildcards arbeiten müssen.
Wenn Sie find und locate vergleichen, werden Sie feststellen, daß find leistungsfähiger ist, locate dagegen im täglichen Gebrauch Dateien wesentlich schneller finden kann.
Wenn Sie häufiger mit locate oder auch die Datenbank nicht als Superuser aktualisieren lassen, werden Sie merken, daß unter Umständen nicht alle Dateien angezeigt werden. Dies liegt daran, daß nur Dateien in die Datenbank wandern, auf die das Programm updatedb Zugriff hat.
Weiterhin zeigt locate aber auch Dateien an, die ein normaler User nicht sehen sollte, dies ist vielleicht nicht gewünscht.
Debian GNU/Linux beinhaltet noch das Paket slocate. Diese spezielle Version zeigt nur die Dateien an, auf die der jeweilige User auch Zugriff hat. Sie können zusätzlich das Paket suidmanager installieren, damit kann slocate über das dazugehörige Programm suidregister Ihnen auch die Dateien anzeigen, auf die Sie normalerweise keinen Zugriff haben, natürlich erst nach Angabe des entsprechenden Paßwortes.
Beachten Sie bitte auch den Hinweis am Ende der Installation von slocate:
sushi:/root# apt-get install slocate Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: slocate 0 packages upgraded, 1 newly installed, 0 to remove and 27 not upgraded. Need to get 0B/23.2kB of archives. After unpacking 143kB will be used. Selecting previously deselected package slocate. (Reading database ... 67742 files and directories currently installed.) Unpacking slocate (from .../utils/slocate_2.1-5.1.deb) ... Adding `diversion of /usr/bin/locate to /usr/bin/locate.notslocate by slocate' Adding `diversion of /usr/bin/updatedb to /usr/bin/updatedb.notslocate by slocate' Adding `diversion of /usr/share/man/man1/locate.1.gz to /usr/share/man/man1/locate.notslocate.1.gz by slocate' Adding `diversion of /usr/share/man/man1/updatedb.1.gz to /usr/share/man/man1/updatedb.notslocate.1.gz by slocate' Adding `diversion of /etc/cron.daily/find to /etc/cron.daily/find.notslocate by slocate' Setting up slocate (2.1-5.1) ... Adding group slocate (104)... Done. Changing permissions on: /usr/bin/slocate Changing permissions on: /var/lib/slocate to: 0750 WARNING: You should run '/etc/cron.daily/slocate' as root. locate will not work properly until you do or until it is run by cron (it is daily). |
Manchmal ist es sinnvoll, große Dateien zu komprimieren, sei es um Plattenplatz zu sparen, sei es um die Downloadzeiten zu verkürzen. Das Programm der Wahl unter Debian GNU/Linux ist gzip (GNU Zip).
Erstellen Sie zuerst eine Testdatei, um mit gzip experimentieren zu können, und sehen Sie sich die Größe dieser Datei an.
bash-2.03$ cd bash-2.03$ cp /etc/profile ./testdatei bash-2.03$ ls -l testdatei -rw-r--r-- 1 fr fr 359 Jan 20 20:10 testdatei |
bash-2.03$ gzip testdatei bash-2.03$ ls -l testdatei.gz -rw-r--r-- 1 fr fr 275 Jan 20 20:10 testdatei.gz |
Um nun diese Datei wieder in den ursprünglichen Zustand zu versetzen, können Sie gzip mit der Option -d aufrufen:
bash-2.03$ gzip -d testdatei.gz bash-2.03$ ls -l testdatei -rw-r--r-- 1 fr fr 359 Jan 20 20:10 testdatei |
Sicher standen Sie schon einmal vor dem Problem, daß eine Datei zu groß war. Sei es, um diese auf einem Medium zu transportieren oder um diese übers Netz zu verschicken. Unter Debian GNU/Linux ist es mit den Programmen split und cat möglich, Dateien zu zerteilen und wieder zusammenzufügen.
Kopieren Sie die Datei /bin/bash in Ihr Homeverzeichnis. Diese Datei hat eine Größe von etwas mehr als 450 Kilobyte.
bash-2.03$ cd bash-2.03$ cp /bin/bash . bash-2.03$ ls -l bash -rwxr-xr-x 1 fr fr 461720 Jan 22 15:42 bash |
Mit der Option -b teilen Sie split die Größe mit. Ohne weitere Angaben geht split davon aus, daß der Wert in Byte angegeben wurde. Das ist natürlich nicht sehr praktikabel. Deshalb können Sie hinter dem Zahlenwert die Buchstaben k für Kilobyte oder m für Megabyte angeben.
Als Kennung für die einzelnen Dateien erweitert split den Dateinamen der ersten Datei mit aa, den zweiten mit ab und so weiter. Wenn Sie eine eigene Erweiterung (Prefix) zu jeder Datei erzeugen wollen, so können Sie diese mit angeben, hier im Beispiel wird „einzel“ angegeben:
bash-2.03$ split -b100k bash einzel bash-2.03$ ls -l einzel* -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelaa -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelab -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelac -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelad -rw-r--r-- 1 fr fr 52120 Jan 22 15:42 einzelae |
bash-2.03$ cat einzel* > bash-neu bash-2.03$ ls -l bash* -rwxr-xr-x 1 fr fr 461720 Jan 22 15:42 bash -rw-r--r-- 1 fr fr 461720 Jan 22 15:43 bash-neu |
Häufig bekommt man Archive aus dem Netz in gepackter Form. Das Packen von Archiven beinhaltet zwei Dinge: erstens die Zusammenfassung von mehreren Dateien zu einer einzigen und zweitens das Komprimieren der Daten, um Plattenplatz zu sparen oder auch die Übertragungszeit zu verringern. Historisch gesehen verteilen sich diese beiden Funktionen unter Unix auch auf zwei Programme. Üblicherweise benutzt man zum Zusammenfassen der Dateien das Programm tar (Tape Archive) und zum Komprimieren das Programm gzip. Etwas bessere Ergebnisse beim Komprimieren von Daten erreicht das (neuere) Programm bzip2. Die GNU-Version des Programms tar, welche auch bei Debian GNU/Linux verwendet wird, kann beide Komprimierungsverfahren benutzen, so daß man nicht mit verschiedenen Programmen hantieren muß.
Altgediente Programme, wie zum Beispiel tar, verfügen häufig über eine Vielzahl von Funktionen. Einige davon werden heute kaum noch verwendet, sind aber trotzdem noch aus Kompatibilitätsgründen verfügbar, beispielsweise können Sie die Blockgröße bestimmen, mit der die Daten auf das Medium geschrieben werden. Eine solche Funktion werden Sie heute nur noch in sehr seltenen Fällen benötigen.
Einen Überblick über die Optionen von tar bekommen Sie mit der Option --help:
bash-2.03$ tar --help GNU «tar» schreibt mehrere Dateien in ein Archiv auf Band oder Festplatte und kann einzelne Dateien aus diesem Archiv herausholen. Verwendung: tar [OPTION]... [Datei]... Beispiele: tar -cf archiv.tar foo bar # archiv.tar mit den Dateien foo und bar erzeugen. tar -tvf archiv.tar # Inhalt von archiv.tar ausführlich anzeigen. tar -xf archiv.tar # Alle Dateien aus archiv.tar extrahieren Wenn eine lange Option ein Argument erfordert, ist es für die entsprechende kurze Option auch erforderlich. Das gleich gilt für optionale Argumente. Aktionen: -t, --list Inhalt eines Archivs anzeigen -x, --extract, --get Dateien aus Archiv holen -c, --create neues Archiv erzeugen -d, --diff, --compare Dateien im Archiv und im Dateisystem vergleichen -r, --append Dateien an das Archiv anhängen -u, --update nur Dateien anhängen, die jünger sind als ihre Archiv-Version -A, --catenate »tar«-Dateien an ein Archiv anhängen --concatenate wie '-A' --delete aus Archiv löschen (nicht auf Magnetbändern!) Operation modifiers: -W, --verify attempt to verify the archive after writing it --remove-files remove files after adding them to the archive -k, --keep-old-files don't replace existing files when extracting --overwrite overwrite existing files when extracting -U, --unlink-first remove each file prior to extracting over it --recursive-unlink empty hierarchies prior to extracting directory -S, --sparse handle sparse files efficiently -O, --to-stdout extract files to standard output -G, --incremental handle old GNU-format incremental backup -g, --listed-incremental=FILE handle new GNU-format incremental backup --ignore-failed-read do not exit with nonzero on unreadable files Datei-Eigenschaften: --owner=NAME Eigentümer für hinzugefügte Dateien auf NAME setzen --group=NAME Gruppe für hinzugefügte Dateien auf NAME setzen --mode=RECHTE Zugriffsrechte für hinzugefügte Dateien auf RECHTE setzen --atime-preserve Zugriffszeit beim Auspacken erhalten -m, --modification-time Änderungszeit beim Auspacken erhalten --same-owner Eigentümer beim Auspacken erhalten --no-same-owner Eigentümer beim Auspacken auf Ausführenden setzen --numeric-owner Zahlen für Benutzer bzw. Gruppen benutzen -p, --same-permissions Zugriffsrechte beim Auspacken erhalten --no-same-permissions Keine Zugriffsrechte erhalten --preserve-permissions wie '-p' -s, --same-order zu entpackende Dateinamen wie im Archiv sortieren --preserve-order wie '-s' --preserve wie '-p' und '-s' zusammen Geräteauswahl und -einstellung: -f, --file=ARCHIV Gerät oder Datei ARCHIV benutzen --force-local Archiv-Datei ist lokal, auch wenn der Name einen Doppelpunkt enthält --rsh-command=BEFEHL statt «rsh» den BEFEHL benutzen -[0-7][lmh] Laufwerk und Schreibdichte angeben -M, --multi-volume mehrteiliges Archiv anlegen/listen/herausholen -L, --tape-length=ZAHL Medium wechseln, wenn ZAHL KBytes geschrieben sind -F, --info-script=DATEI am Ende jedes Mediums das Skript DATEI ausführen (impliziert '-M') --new-volume-script=DATEI wie '-F DATEI' --volno-file=DATEI Teil-Nummer in DATEI benutzen/aktualisieren Blockung des Gerätes: -b, --block-size=BLÖCKE BLÖCKE à 512 Bytes pro Record --record-size=GRÖSSE GRÖSSE Bytes pro Record, Vielfaches von 512 -i, --ignore-zeros Blöcke mit Nullen im Archiv ignorieren (heißt EOF) -B, --read-full-blocks Blockung beim Lesen ändern (für 4.2BSD "Pipes") Archive format selection: -V, --label=NAME create archive with volume name NAME PATTERN at list/extract time, a globbing PATTERN -o, --old-archive, --portability write a V7 format archive --posix write a POSIX format archive -j, --bzip2 filter the archive through bzip2 -z, --gzip, --ungzip filter the archive through gzip -Z, --compress, --uncompress filter the archive through compress --use-compress-program=PROG filter through PROG (must accept -d) Local file selection: -C, --directory=DIR change to directory DIR -T, --files-from=NAME get names to extract or create from file NAME --null -T reads null-terminated names, disable -C --exclude=PATTERN exclude files, given as a globbing PATTERN -X, --exclude-from=FILE exclude globbing patterns listed in FILE -P, --absolute-names don't strip leading `/'s from file names -h, --dereference dump instead the files symlinks point to --no-recursion avoid descending automatically in directories -l, --one-file-system stay in local file system when creating archive -K, --starting-file=NAME begin at file NAME in the archive -N, --newer=DATUM nur Dateien jünger als DATUM sichern --newer-mtime Datum und Zeit nur vergleichen, wenn sich der Datei-Inhalt geändert hat --after-date=DATUM wie '-N' --backup[=CONTROL] Sicherheitskopie vor dem Löschen, wählt Versionskontrolle --suffix=SUFFIX Sicherheitskopie vor dem Löschen, Namenserweiterung SUFFIX Informationen: --help Hilfe anzeigen und «tar» beenden --version Versionsnummer anzeigen und «tar» benden -v, --verbose zu bearbeitende Dateien ausführlich listen --checkpoint Verzeichnisnamen beim Lesen des Archivs zeigen --totals geschriebene Bytes beim Schreiben des Archivs zeigen -R, --block-number Blocknummer innerhalb des Archivs mit jeder Meldung zeigen -w, --interactive Bestätigung für jede Aktion verlangen --confirmation wie '-w' Die Namenserweiterung für Sicherheitskopien ist `~', wenn nicht mit --suffix oder der Umgebungsvariablen SIMPLE_BACKUP_SUFFIX etwas anderes eingestellt ist. Die Versionskontrolle kann mit --backup oder der Umgebungsvariablen VERSION_CONTROL gesetzt werden. Mögliche Werte sind: t, numbered nummerierte Sicherheitskopien nil, existing nummerierte Sicherheitskopien, wenn schon nummerierte vorhanden sind, sonst einfache never, simple immer einfache Sicherheitskopien GNU »tar« kann keine '--posix'-Archive lesen. Wenn die Umgebungsvariable POSIXLY_CORRECT gesetzt ist, sind GNU-Erweiterungen mit '--posix' nicht zulässig. Unterstützung für POSIX ist nur teilweise implementiert, rechne derzeit noch nicht damit! ARCHIV kann DATEI, RECHNER:DATEI oder BENUTZER@RECHNER:DATEI sein; DATEI kann eine Datei oder ein Gerät (z.B. ein Streamer) sein. Die Voreinstellung für _dieses_ »tar« ist '-f- -b20'. Fehlermeldungen an <bug-tar@gnu.org>. |
Tip: Wenn die Anzeige eines längeren Textes nicht komplett auf dem Bildschirm erfolgen kann, können Sie den Text seitenweise ausgeben lassen, indem Sie die Ausgabe über eine „Pipe“ an das Programm more weiterreichen: tar --help | more
Um mehrere Dateien in einem Archiv zusammenzufassen, benutzen Sie die Optionen -cf (create – erzeugen und file – Datei):
linux:/home/fr# tar -cf /tmp/test.tar /etc/ tar: Removing leading `/' from member names |
Um die Daten wieder zu entpacken, benutzen Sie die Option -x (extract – entpacken). Beachten Sie, daß die Daten immer an der aktuellen Position im Dateisystem entpackt werden. Wenn Sie sich nicht sicher sind, erstellen Sie ein temporäres Arbeitsverzeichnis und verschieben Sie danach die Daten an die gewünschte Stelle:
linux:/home/fr# mkdir bla linux:/home/fr# cd bla linux:/home/fr/bla# tar -xf /tmp/test.tar linux:/home/fr/bla# ls etc |
tar zum Plaudern bringen...: Benutzen Sie die zusätzliche Option -v, um den Vorgang des Packens oder Entpackens der Daten verfolgen zu können: tar -xvf /tmp/test.tar.
Bisher haben wir tar zum Zusammenfügen von Dateien benutzt, nun werden wir das Archiv zusätzlich noch komprimieren. Hierzu stehen bei GNU-Tar die Optionen -z für das Komprimieren mit gzip und -I zum komprimieren mit bzip2 zur Verfügung. Die Benutzung ist ganz einfach, verwenden Sie tar wie oben gezeigt und fügen Sie beispielsweise die Option -z hinzu.
Jedes Zeichen zählt...: Zur Vereinfachnung können Sie den Strich - vor den Optionen einfach weglassen, tar versucht die erste Zeichenkette hinter dem Kommando als Optionen zu interpretieren: tar xvf /tmp/test.tar.
Hier ein Beispiel, wie Sie ein gepacktes Archiv erzeugen können:
linux:/home/fr# tar cvfz /tmp/test.tar.gz /etc/ |
tar kann mit beiden Endungen „umgehen“, genaugenommen ist der Dateiname völlig egal. Die Endungen dienen nur der besseren Übersicht für den Benutzer.
Wenn Sie die Daten auf einem Tape-Streamer speichern wollen, können Sie die Daten auch direkt auf das Gerät speichern. Geben Sie dazu statt dem Dateinamen des Archives einfach das entsprechende Device an:
linux:/home/fr# tar cvfz /dev/st0 /etc/ |
linux:/home/fr# tar xvfz /dev/st0 |
Es ist üblich, Dateien so zu benennen, daß der Typ der Datei aus dem Namen erkenntlich ist. Programme sind nicht zwingend auf eine solche Endung angewiesen, diese dient nur der besseren Übersicht für den Benutzer (mit Ausnahme von Dateinamen, die fest in das Programm einkompiliert sind, wie zum Beispiel Namen von Konfigurationsdateien). Textdateien bekommen die Endung .txt, Perl-Programme die Endung .pl und Bilder die Endung .jpeg oder .tiff und so weiter. Trotzdem kann es passieren, daß Dateien entweder keine oder eine falsche Endung haben. Debian GNU/Linux stellt Ihnen das Programm file zur Verfügung, welches die meisten Dateitypen ermitteln kann.
Die Benutzung von file ist denkbar einfach: rufen Sie das Programm einfach zusammen mit dem Namen der zu bestimmenden Datei(en) auf, Sie können hier einen oder mehrere Dateinamen, auch mit Wildcards, angeben:
bash-2.03$ file /bin/bash /etc/passwd /etc/init.d/lpd /bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), stripped /etc/passwd: ASCII text /etc/init.d/lpd: Bourne shell script text |
Zurück | Zum Anfang | Nach vorne |
Orientierung innerhalb von Debian | Nach oben | Einige bash-Funktionen |