2012-04-10 11 views
0

Ich habe tar -cvf sample_directory/* verwendet und file.tar.gz nicht angegeben. Also das Makefile innerhalb des Ordners ist in einem nicht lesbaren Format. Gibt es eine Möglichkeit, mein Makefile wiederherzustellen?Wie Teer-Operation rückgängig machen?

+0

Sie haben keine Sicherungskopien erstellt? : P – thejh

+1

Btw, das gehört auf Superuser, denke ich. – thejh

+1

Erholen Sie es von Ihrem Versionskontrollsystem, weil Sie einen verwenden, richtig? – KurzedMetal

Antwort

6

Das Makefile innerhalb des Ordners enthält die Ausgabe des Befehls tar, also ist es nicht "irgendein unlesbares Format", es ist gzippte tar-Format. Dieses tar-Archiv enthält jedoch nicht das fehlende Makefile.

Die Kommentare zum Wiederherstellen des Makefiles aus Ihren Backups oder von Ihrem Versionskontrollsystem sind zutreffend. Dies ist in der Tat, was Sie tun müssen.

Wenn Sie keine Sicherungskopie haben oder das Makefile nicht in ein Versionskontrollsystem eingecheckt wurde, gibt es keine Möglichkeit, den Inhalt wiederherzustellen.

Abgesehen von der Frage Ihres schlechten verlorenen Makefile, ein Ratschlag über die Verwendung tar: nie eine Reihe von einzelnen Dateien in einem Verzeichnis tarieren. Tarnen Sie immer das Verzeichnis selbst. Es ist nicht viel ärgerlicher, als ein Archiv zu entpacken, das einen großen Haufen oder Dateien anstelle eines einzelnen Verzeichnisses enthält (das dann Dateien enthält). Das macht ein Durcheinander, indem Dateien überall im Verzeichnis, das gerade das aktuelle Verzeichnis ist, übersät sind. Bitte seien Sie nett zu wem auch immer, wird Ihre TAR-Dateien extrahieren (die Sie später selbst sein könnten!), Folgen Sie der Konvention und tarieren Sie komplette Verzeichnisse.

tar -czf file.tar.gz sample_directory 

Als Bonus, wenn Sie es auf diese Weise tun, und Sie die Ausgabedateinamen wie das vergessen:

tar -czf sample_directory 

Sie werden nicht Squash etwas, werden Sie nur einen Fehler.

+0

Ihre Informationen waren hilfreich ... Ich habe das Makefile neu erstellt. Vielen Dank Celada ... :) –