Wie kann ich die Struktur eines Verzeichnisses kopieren?

... komplette Frage anzeigen

6 Antworten

ein Teil ist ganz einfach mit copy.

Hier als Beispiel:

cd /tmp
mkdir jOberst
cd <MountPoint-mein-externes-Laufwerk>
cp -R -p --attributes-only * /tmp/jOberst

unter /tmp/jOberst findest du eine vollständige Kopie aller Verzeichnisse (durch -R als Option) und Dateinamen. Mit -p  werden auch alle Zeitstempel übernommen.

Nicht möglich ist die Übernahme der Dateigrößen, denn die werden durch

--attributes-only

nicht übernommen. Die muss man dann schon im original-Datenträger ansehen oder aber dort mit  ls -lR  > Datei
eine Datei anlegen, die dann auch die Größen enthält.

In /tmp/jOberst kannst du dich mit cd so bewegen wie im gemounteten externen Laufwerk.

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo

Ich würde gerne eine Datei erzeugen, die die Dateistruktur beispielsweise eines externen Laufwerks beinhaltet. Also nicht den INHALT des Laufwerks

tree mit entsprechenden Parametern ist das geeignete Programm für diese Aufgabe würde ich mal sagen, zum Beispiel so:

tree -Ralf > struktur.txt

Sieht dann so aus:

tree -RalfF Linux_System/
Linux_System
├── Linux_System/bin/
├── Linux_System/boot/
├── Linux_System/dev/
├── Linux_System/etc/
├── Linux_System/home/
│   ├── Linux_System/home/user1/
│   │   └── Linux_System/home/user1/Dokumente/
│   │   └── Linux_System/home/user1/Dokumente/Tabellen/
│   └── Linux_System/home/user2/
├── Linux_System/lib/
├── Linux_System/lib64/
├── Linux_System/lost+found/
├── Linux_System/media/
├── Linux_System/minthome/
├── Linux_System/mintroot/
├── Linux_System/mnt/
├── Linux_System/opt/
├── Linux_System/proc/
├── Linux_System/root/
├── Linux_System/run/
├── Linux_System/sbin/
├── Linux_System/selinux/
├── Linux_System/srv/
├── Linux_System/sys/
├── Linux_System/tmp/
├── Linux_System/usr/
├── Linux_System/var/
└── Linux_System/windows/

28 directories, 0 files

Linuxhase

Antwort bewerten Vielen Dank für Deine Bewertung

Probier mal

ls -lR <pfad>

Dabei hast du aber dann nicht die ganzen Dateipfade, sondern immer erst den Verzeichnisnamen und dann alle enthaltenen Dateinamen.

Möglicherweise ist dir

find <pfad>

lieber. Da gibt's dann aber nur die (kompletten) Pfade, keine Dateiattribute. Aber das kriegt man so hin (listet nur "reguläre" Dateien, keine Symlinks oder Verzeichnisse):

find <pfad> -type f -exec ls -la \\{\\} \\;


Bitte jeweils <pfad> durch den Pfad zu deinem Laufwerk/Verzeichnis ersetzen.

Antwort bewerten Vielen Dank für Deine Bewertung

Ich glaube hier wird dich keiner so richtig verstehen können. Du könntest vielleicht alles einfach kopieren und danach aus der Kopie die Inhalte löschen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Denno2015
04.12.2015, 08:26

Ich verstehe schon was er meint, nur fällt mir spontan keine wirkliche Lösung für das Problem ein.

0

Nur zum richtigen Verständnis. Du willst lediglich die "Merkmale" der Daten kopieren ohne die Daten aber selber zu kopieren?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JOberst
04.12.2015, 08:06

Genau, am besten nach den unterschiedlichen Kriterien sortierbar, also in einer Tabelle o.ä. - wenn ich z.B. 300 GB an Musik habe will ich nur eine Datei in der ich z.B.  finde wo genau der Michael Jackson - Ordner ist oder wieviele Unterverzeichnisse bei den Toten Hosen existieren.

0

Was möchtest Du wissen?