Tar cf kann keine Dateien mit einem Doppelpunkt im Namen archivieren


0

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)?


1
Haben Sie das erste Match auf Google für die Suche nach "tar escape colon" ausprobiert?
Zumo de Vidrio

Ja, beim ersten Treffer geht es darum, eine tar-Datei mit einem Doppelpunkt im Namen zu extrahieren;)
verhage

Antworten:


3

Benutzen . um das gesamte Verzeichnis anstatt zu archivieren *

tar cf ../test.tar .

1

Das Folgende funktioniert auch (Escape the \ in einfachen Anführungszeichen):

$ touch 'C:\test\test.doc'
$ ls
C:\test\test.doc
$ tar cf test.tar 'C:\\test\\test.doc' 
$ tar tf test.tar 
C:\\test\\test.doc
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.