Ich arbeite derzeit an einer Aufgabe zur Archivierung einer alten Webanwendung. Ich habe die Datenbank und die Anwendung selbst gesichert und versuche nun, den Dateispeicher zu sichern, der alle hochgeladenen Dateien enthält.
Leider hat die genannte Anwendung die hochgeladenen Dateien nicht immer korrekt behandelt, was dazu geführt hat, dass viele Dateien den vollständigen Pfadnamen auf dem Client enthalten, der sie hochgeladen hat, beispielsweise "C: \ test \ test.doc".
Ich möchte ein tar-Archiv erstellen, das alle Dateien enthält, aber tar cf gibt Fehler für Dateien aus, deren Name einen Doppelpunkt enthält. Ich habe versucht zu fliehen, aber kein Glück.
Ein Beispiel:
-rw-r--r-- 1 root root 29696 Jan 3 09:43 C:\test\test.doc
Einfach alles tarieren:
[root@server test]# tar cf test.tar *
tar: C\:\test\test.doc: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
Umgeben von doppelten Anführungszeichen:
[root@server test]# tar cf test.tar "C:\\test\\test.doc"
tar: C\:\test\test.doc: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
Verwenden des Fluchtzeichens:
[root@server test]# tar cf test.tar C\:\\test\\test.doc
tar: C\:\test\test.doc: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
Gibt es eine Möglichkeit, dies zu erreichen (ohne Datei umzubenennen)?
quelle
Antworten:
Benutzen
.
um das gesamte Verzeichnis anstatt zu archivieren*
quelle
Das Folgende funktioniert auch (Escape the
\
in einfachen Anführungszeichen):quelle