Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

03.11.2007, 17:29

Dateien inkl absolutem pfad kopieren.

Gibt es eine Möglichkeit irgendwie Dateien inklusive ihres absoluten Pfades zu kopieren?



zur erklräung :


Ich würde gern eine datei names DATEI im Verzeichnis /home/user/VERZEICHNIS

in das verzeichnis VERZEICHNIS kopieren so das er mir den absoluten pfad (mit leer ordnern anlegt)


also sollte dann in /home/user/VERZEICHNIS ein verzeichnis names /home , mit dem unterverzeichnis user mit dem unterverzeichnis VERZEICHNIS mit Datei als inhalt liegen.


Wie kann ich das am besten lösen?
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP

2

03.11.2007, 19:15

Quellcode

1
cp -r /home/USER/XXX /home/XXX


oder meintest Du es anders?

3

03.11.2007, 19:28

Ich meine das so:


/1/2/3 .. cp 3 .. und das ergebniss sollte dann so aussehen /1/2/1/2/3

oder mit worten

/home/user/downloads/download.pdf will ich so kopieren dass es danach so aussieht:


/home/usr/downloads/home/user/downloads/download.pdf


wobei natürlich nicht der komplette inhalt des ordners /home/ kopiert wird .. sondern eben nur der "leerpfad"+ datei .. ich weiss nicht wie das ausdrücken soll.
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »schade« (03.11.2007, 19:29)


4

03.11.2007, 20:13

wird schwierig dafür ein werkzeug zu finden, obwohl ich mal was von einem erweiterten cp gelesen habe.

Du brauchst ein script, das den quellpfad in die einzelnen verzeichnisse zerlegt, was relativ einfach
zu bewerkstelligen ist, da die verzeichnisse voneinander mit einem "/" getrennt sind, das liesse sich zB mit perl oder awk machen.
Danach müsste in dein Zielverzeichnis gewechselt werden und dort nacheinander die
Verzeichnisse erstellt werden und wieder rein gewechselt werden.

Nachdem das passiert ist könnte die datei kopiert werden.

Ist also machbar, ich habe aber bis jetzt noch nichts geschrieben :)

edit:
Ist viel zu kompliziert gedacht.
Einfacher geht es mit:

Quellcode

1
mkdir -p /home/user/VERZEICHNIS/$PWD; cp DATEI /home/user/VERZEICHNIS/$PWD

Damit das funktioniert muss du dich natürlich in dem selbem Verzeichnis befinden, in dem auch deine Datei liegt.
Oder du weisst einer Variabel den Pfad zu deiner datei zu und ersetzt dann $PWD mit dem Variablennamen.

edit2:
/home/user/VERZEICHNIS/ ist das zielverzeichnis.

edit3:
oder besser:

Quellcode

1
export COPY=/home/user/VERZEICHNIS/$PWD;mkdir -p $COPY; cp DATEI $COPY

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »idefix« (03.11.2007, 20:40)


5

03.11.2007, 20:51

genau so oder so ähnlich habe ich mir das auch gedacht.


es geht hier um den dateiaustausch .. des archivs von mir und des eines freundes ... .


auf grund der 50kb/s uplaod fällt ein rsync über das Internet weg.


Und da ich nicht vor habe nur weil sich im Verzeichnis /a/b/c/ datei datei d geändert hat auch alle anderen in /a/b/c zu kopieren und weiters (weil das meist ein paar tausend files betrifft) nicht die lust habe, die von mir per find gesuchten dateien .. manuell in das archiv des freundes einzupflegen habe ich mir gedacht dass das über leer ordner wohl am einfachsten wäre.


dann kann man wie bei den .tar.gz archiven, wenn man sich in / befindet alles ungeniert kopieren .. weil ja die struktur die gleiche ist..


vielleicht denk ich auch zu kompliziert und es gibt einen einfacheren ansatz .. mir ist halt keiner eingefallen.
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP

6

03.11.2007, 23:24

Irgendwie hab ich deine Idee nicht ganz verstanden: Wenn du's nicht über's Internet synchronisieren willst, wie dann?

Aus deinem Posting kann ich nicht herauslesen, über welches Medium du synchronisieren willst. rsync kann auch zwischen Platten syncen, wenn du das meinst.

7

04.11.2007, 11:14

mittels externer platte ..
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP

8

04.11.2007, 19:07

Was hindert dich dann daran, mittels

Quellcode

1
rsync -a /quell/verzeichnis/ /ziel/verzeichnis/
zu synchronisieren? :D

Aber aufgepasst, man muss das allerletzte Slash beachten, da es unterschiedliche Resultate erzielt... :O
--delete-before und --delete-after musst du extra setzen, wenn gelöschte Dateien ebenfalls gelöscht werden sollen.

9

07.11.2007, 19:39

weil die platte nicht ausreicht das komplette archiv zu kopieren.


sondern immer nur teile gewisser unterordner die sich bis zu 4 ebenen darunter befinden.


oder versteh ich da irgendwas falsch?
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP

10

10.11.2007, 17:19

Hab da wohl wirklich etwas falsch verstanden.

funktioniert natürlich mit Synchronisation
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP