Zu_Befehl.png

Hin- und hergeschoben

Zu Befehl

01.04.2000
Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilen-Dschungel ein wenig auszukennen.

Nein, um Sokoban oder Kistenschieben geht es in dieser Folge nicht – eher darum, wie man Dateien an andere Stellen kopiert oder verschiebt. Eigentlich sieht das auf den ersten Blick ganz einfach aus, aber bei genauem Hinsehen geschehen doch manchmal recht ungewöhnliche Dinge. Was passiert, wenn man einen symbolischen Link kopiert? Wie bleiben möglichst viele Eigenschaften einer Datei beim Kopieren erhalten? Und wie funktioniert denn das Ganze mit Unterverzeichnissen?

Original oder Fälschung?

Der Befehl cp (vom englischen "copy" abgeleitet) erzeugt eine neue Datei mit dem Inhalt der Ausgangsdatei, wobei diese unverändert bleibt. Sollte datei2 schon existieren, wird diese einfach überschrieben. Wie schafft man bei so etwas Abhilfe? Schließlich möchte man nicht einfach aus Versehen wichtige Dinge verlieren… Die Lösung lautet

huhn@huehnerstall ~ > cp -i datei1 datei2
cp: overwrite `datei2'?

Jede Antwort des Benutzers, die mit einem y oder Y beginnt, wird als Bestätigung interpretiert – alles andere heißt "nein". Die Option -i darf auch --interactive ausgeschrieben werden. Fast alle GNU-Implementationen der Unix-Standardkommandos haben neben den gängigen Kurzformen noch eine mit zwei Bindestrichen eingeleitete lange, "sprechende" Bezeichnung.

So eine Sicherheitsabfrage ist schön; vorsichtige Menschen setzen sich ein Alias. Für die Linux-Standardshell bash würde der Eintrag in der privaten Konfigurationsdatei .bashrc aus dem Homeverzeichnis so aussehen:

alias cp='cp -i'

Wie bei allen Standardkommandos, die man auf diese Weise neu definiert, sollte man auch hier Vorsicht walten lassen: Hat man sich einmal an die Sicherheitsabfrage gewöhnt, kann man leicht ins Schleudern kommen, wenn es den schützenden Alias auf einem anderen System oder unter einem anderen Account nicht gibt.

Noch mehr Sicherheit bietet der Parameter -b (--backup). Ist die Zieldatei bereits vorhanden, wird automatisch eine Sicherungskopie angelegt. Diese kann man an der Tilde erkennen: datei2~.

Was passiert aber, wenn man keine "normalen" Dateien, sondern einen Symlink kopiert? Die Referenz vom Link auf die Datei wird hierbei aufgelöst. Im Klartext heißt das: Kopiert wird die Datei, auf die der Link zeigt. Möchte man stattdessen einen neuen Link erzeugen, greift man zur Option -d (--no-dereference).

Es ist auch möglich, mehrere Dateien in ein Zielverzeichnis zu kopieren. Dazu hängt man einfach die Dateinamen hintereinander: cp datei1 datei2 datei3 verzeichnis. Manchmal geht es jedoch nicht nur um einzelne Dateien, sondern um ganze Verzeichnisse mit sämtlichen Dateien und Unterverzeichnissen. Ein einfaches cp verzeichnis zielverzeichnis liefert nur die Fehlermeldung cp: verzeichnis: omitting directory. Setzt man hinter den Befehl den Parameter -R (für --recursive), wird das ganze Verzeichnis rekursiv (also mit allen Dateien bis in den letzten Winkel eventuell enthaltener Unterverzeichnisse) dupliziert.

Hinter den Kulissen

Standardmäßig wird die beim Kopieren entstehende neue Datei mit owner und group des kopierenden Benutzers angelegt und erhält einen aktuellen timestamp. Ihre Rechte richten sich nach der gesetzten umask. Um stattdessen möglichst viele Eigenschaften der Originaldatei zu übernehmen, verwendet man die Option -p (--preserve). Hier werden auf jeden Fall Zugriffsrechte und Zeitstempel der Ursprungsdatei übernommen.

Allerdings kann nur root fremdes Dateieigentum "verschenken" oder dem Verzeichnis eines bestimmten Benutzers Dateien unterjubeln, die einem anderen gehören. Nur bei rootschen Kopieraktionen mit -p gehört die neue Datei demnach demselben User wie das Original. Kopiert man als gewöhnlicher User, geht die Kopie in eigenes Eigentum über. Anderenfalls könnte ja jeder anderen eine veränderte Datei als Kuckucksei unterschieben!

Doch wofür genau braucht man diese Option dann überhaupt? Um Administratorinnen Arbeit zu ersparen: Als Systemverwalter möchte man oft User-Verzeichnisse sichern. Müsste man jedesmal nach dem Kopieren wieder Rechte und Gruppenzugehörigkeit ändern, wäre das ganz schön viel Aufwand.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • cp und mv
    In dieser "Zu Befehl"-Folge zeigen wir Ihnen, wie Sie Dateien an andere Stellen kopieren oder verschieben. Bei genauem Hinsehen geschehen manchmal recht ungewöhnliche Dinge: Was passiert, wenn man einen symbolischen Link kopiert? Wie bleiben möglichst viele Eigenschaften einer Datei beim Kopieren erhalten? Und wie kopiert man Unterverzeichnisse?
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • Zu Befehl
    Auch wenn viele Dinge sich bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Und auch sonst gibt es viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
Kommentare

Infos zur Publikation

LU 07/2015: Daten sichern

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 1 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt
Druckeranschluss DCP-195C
heide marie voigt, 29.06.2015 10:35, 1 Antworten
installiert ist linux ubuntu 15.04 offenbar auch der treiber für den Drucker DCP-195C. Die Konta...
keine arbeitsleiste beim einloggen
heide marie voigt, 27.06.2015 13:31, 0 Antworten
seit der neu-installierung von linux ubuntu 15.04 erscheint die arbeitsleiste rechts oben erst na...
raid platte an linux mint 17.1
andreas schug, 23.06.2015 19:44, 0 Antworten
folgende thematik NAS Iomega Storage Center wird auf einmal nicht mehr im netzwerk erkannt .....
SUSE 13.2 - Probleme mit kmail
kris kelvin, 03.06.2015 13:26, 2 Antworten
Hallo, nach dem Umstieg auf 13.1 hatte ich das Problem, daß kmail extrem langsam reagierte. Nun...