Den Ordnerumzug lokal erproben

LinuxBeginner
Jetzt üben

Einführung

Ein Buchrestaurierungsteam zieht Garden Atlas an einen neuen Arbeitsplatz um. Die Quelle enthält private Entwürfe und temporäre Vorschauen; am Ziel liegt bereits eine Notiz, die erhalten bleiben muss. Dein Ergebnis sind eine nutzbare Sammlung und Arbeitsplatzliste, zuerst für heute und anschließend für eine überarbeitete Ausgabe.

Du brauchst grundlegende Terminalkenntnisse. Diese unabhängige Umgebung liefert beide lokalen Ordner und einen Stand der Folgeausgabe. Du lernst Richtung, abschließende Schrägstriche, Probeläufe, Filter und präzise Löschbereiche kennen, bevor du dieselben Ideen in der nächsten Übung über SSH anwendest.

Die Sammlungsgrenze lokal erproben

In diesem Schritt kopierst du die Buchsammlung nach dem Vergleich zweier sicherer Vorschauen in den Empfangsordner. Nutze während der gesamten Übung Terminal. SSH wird hier nicht benötigt.

Der Restaurierungsplatz zieht Garden Atlas um. old/collection enthält Texte, eine verborgene Lesekonfiguration und ein ausführbares Leseprogramm. old/generated enthält entbehrliche Arbeitsplatzlisten. old/personal ist privat. Der neue Platz besitzt bereits receiver-note.txt; sie gehört dem Empfangsteam und muss jede Aktualisierung überstehen. revision/ enthält die später benötigte Folgeausgabe.

cd wechselt das Verzeichnis. ls -a zeigt auch verborgene Einträge; cat liest Text, ohne ihn zu bearbeiten. Sieh dir zuerst die Notiz des Empfangsteams an:

cd /home/labex/project/folder-move
ls -a old/collection
cat new/receiver-note.txt

Die Notiz lautet Received by Mira. Keep the west shelf clear. Der bereits vorhandene ältere Katalog ist unvollständig. Das Ziel ist absichtlich nicht leer.

rsync kopiert vom ersten zum zweiten Pfad. -a bedeutet Archivmodus: rekursives Kopieren von Verzeichnissen und Erhalten von Änderungszeiten, Ausführungsrechten sowie weiteren unterstützten Attributen. Ein normales Empfängerkonto kann nicht beliebige Quelleigentümer erhalten; dieser Kurs prüft Bytes und Ausführungsrechte, nicht systemübergreifende Eigentümer, ACLs oder erweiterte Attribute. -n führt nur einen Probelauf ohne Dateiänderungen aus. -i listet vorgeschlagene Änderungen einzeln auf.

Der zitierte Ausschluss hält Namen mit Endung .tmp auf jeder Ebene fern; die Anführungszeichen verhindern, dass die Shell das Muster vor rsync auflöst.

Prüfe zuerst das Quellverzeichnis selbst, ohne abschließenden Schrägstrich:

rsync -ani --exclude='*.tmp' old/collection new/collection/

Achte auf ein vorgeschlagenes zusätzliches collection/ innerhalb der Zielsammlung. Diese Verschachtelung würde das Leseprogramm an der falschen Stelle ablegen.

Prüfe nun den Inhalt der Quelle mit abschließendem Schrägstrich:

rsync -ani --exclude='*.tmp' old/collection/ new/collection/

Jetzt liegen die Pfade direkt unter new/collection/, einschließlich .bindery.conf, read-book und texts/. Punktdateien werden einbezogen, weil rsync das Verzeichnis selbst erhält; ein Shellplatzhalter wie old/collection/* würde verborgene Einträge auslassen. Neue normale Dateien zeigen häufig >f+++++++++; andere Kennzeichen beschreiben Attributänderungen. Probelaufzeilen beschreiben Vorschläge, keine gelieferte Sammlung.

Entferne nur n, um die gewählte Übertragung auszuführen:

rsync -ai --exclude='*.tmp' old/collection/ new/collection/
new/collection/read-book

Das Leseprogramm zeigt reading_order=catalog,treatment, danach den Garden-Atlas-Katalog und die Behandlung mit Papierscharnieren. Die direkte Ausführung beweist, dass die kopierte Version mit relativen Textpfaden und verborgener Konfiguration funktioniert. Wird die Ausführung verweigert, prüfe Quell- und Zielmodi mit ls -l und wiederhole den Archivmodus von der vorbereiteten Quelle aus. Ersetze das Programm nicht durch feste Ausgaben.

Wenn du versehentlich die verschachtelte Kopie ausgeführt hast, prüfe ls new/collection/collection, bevor du ausschließlich dieses Duplikat mit rm -r new/collection/collection entfernst. rm -r löscht das benannte Verzeichnis samt Inhalt dauerhaft. Verkürze die Bereinigung niemals auf new, denn dort liegt auch die Empfangsnotiz. Wiederhole danach die richtige Übertragung.

Die Arbeitsplatzliste liefern und Notizen bewahren

In diesem Schritt vervollständigst du die erste Lieferung durch Kopieren der gesonderten erzeugten Liste. Bleibe in Terminal unter /home/labex/project/folder-move.

Sammlung und erzeugte Dateien haben unterschiedliche Zuständigkeiten. Die Quelle verwaltet jede Datei unter generated/; dem Empfänger gehört seine Notiz im Wurzelverzeichnis. Wähle nur das zweite verwaltete Verzeichnis, statt ganz old/ zu kopieren und dadurch auch personal/ offenzulegen.

rsync -ani old/generated/ new/generated/
rsync -ai old/generated/ new/generated/
cat new/generated/current.txt
cat new/receiver-note.txt

Die Liste lautet Garden Atlas | desk edition 1. Die veraltete Liste gehört absichtlich noch zur ersten Ausgabe. Die Empfangsnotiz blieb unverändert. Starte das gelieferte Leseprogramm erneut:

new/collection/read-book

--delete war bisher nicht nötig. Standardmäßig bewahrt rsync Dateien, die nur am Ziel existieren. Ein Ausschluss verhindert die Übertragung, entfernt aber keine bereits vorhandene temporäre Datei. Hast du versehentlich eine Vorschau kopiert, prüfe und entferne nur die genaue unerwünschte Datei, etwa mit rm new/collection/preview.tmp, und wiederhole dann die gefilterte Synchronisierung. Leere niemals die Empfangswurzel, um die Prüfung zu bestehen.

Die Folgeausgabe im verwalteten Bereich übernehmen

In diesem Schritt lieferst du eine zweite Ausgabe und entfernst ausschließlich die alte erzeugte Liste. Bleibe in Terminal im selben Arbeitsbereich.

cat akzeptiert mehrere Dateinamen und zeigt sie in dieser Reihenfolge an. Lies die bereitgestellte Folgeausgabe, bevor du die bearbeitbare Quelle ersetzt:

cat revision/collection/texts/catalog.txt revision/collection/texts/treatment.txt revision/collection/texts/addendum.txt

Der Katalog umfasst jetzt 48 Blätter, die Behandlung verwendet Leinenscharniere und ein Nachtrag ist neu. cp -a kopiert rekursiv und erhält Dateiattribute. revision/. bedeutet sämtliche Inhalte einschließlich verborgener Dateien. Dadurch werden die gelieferten Änderungen über old/ kopiert; ein in der Überarbeitung fehlender alter Eintrag wird nicht gelöscht. Der Arbeitsplatz mustert old/generated/obsolete.txt ausdrücklich aus: Lösche nur diese benannte Quelldatei. rm löscht dauerhaft; erweitere den Pfad nicht.

cp -a revision/. old/
rm old/generated/obsolete.txt

Normalerweise erkennt rsync Datenänderungen an Größe und Änderungszeit. -c ergänzt einen Prüfsummenvergleich des Inhalts. Bei diesen kleinen Dateien ist der Aufwand gering; auch gleich große Änderungen mit beibehaltenen Zeitstempeln werden erkannt. Versionshistorie oder Sicherung entstehen dadurch nicht. Prüfe die Vorschau und übernimm die Sammlung:

rsync -anci --exclude='*.tmp' old/collection/ new/collection/
rsync -aci --exclude='*.tmp' old/collection/ new/collection/

Die Sammlungsvorschau sollte die beiden überarbeiteten Texte und den neuen Nachtrag zeigen, ohne temporäre Vorschauen. Auch reine Attributänderungen können erscheinen.

--delete entfernt Zieleinträge, die in der Quelle fehlen, innerhalb des gewählten Synchronisierungsverzeichnisses. Hier wird nur generated/ vollständig verwaltet, nicht die Empfangswurzel. Prüfe die Ausmusterung in der Vorschau, achte auf *deleting obsolete.txt und wende genau denselben Bereich an:

rsync -anci --delete old/generated/ new/generated/
rsync -aci --delete old/generated/ new/generated/
cat new/generated/current.txt new/collection/texts/addendum.txt new/receiver-note.txt
new/collection/read-book

Du solltest Arbeitsplatz-Ausgabe 2, das neue Blatt, die ursprüngliche Empfangsnotiz und die aktualisierte Leseausgabe sehen. Ein wurzelweiter Spiegel mit --delete könnte die Notiz löschen. Verwende ihn niemals zum Ausmustern dieser einen verwalteten Liste.

Wiederhole dieselben Vorschauen:

rsync -anci --exclude='*.tmp' old/collection/ new/collection/
rsync -anci --delete old/generated/ new/generated/

Es sollten keine Dateiänderungen verbleiben. Innerhalb des erklärten Bereichs ist die Wiederholung sicher; eine spätere Quelllöschung verlangt dennoch eine bewusste Entscheidung darüber, welches Zielverzeichnis verwaltet wird. Die ursprüngliche Ausgabe lässt sich mit rsync allein nicht wiederherstellen. Verwende eine eigene Sicherung, wenn die Historie wichtig ist.

Zusammenfassung

Du hast eine nutzbare Sammlung geliefert, ihre verborgene Konfiguration und die Ausführungsrechte des Leseprogramms erhalten und die Notiz am Empfangsplatz bewahrt. Eine zweite Synchronisierung aktualisierte die verwalteten Dateien und entfernte eine ausgemusterte Liste ausschließlich im festgelegten Bereich. Synchronisierung hat eine Richtung; sie ist weder eine versionierte Sicherung noch eine Zusammenführung von Konflikten.