web-dev-qa-db-ja.com

tarエラー後にファイルを解凍できません

tar.gzファイルの作成に失敗した後、ファイルを解凍できません。私はそれを失ったようですが、それでもこれは回復できるはずの些細なエラーのようです。ファイルの内容は本当に失われていますか?あらゆる種類のtarunzipの組み合わせを試しましたが成功しませんでした。

OS環境とtarバージョン:

$cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

$tar --version |grep tar
tar (GNU tar) 1.26

再現手順:

[weshop@demo test]$ ls
file.txt
[filip@demo test]$ cat file.txt  
hello  

[filip@demo test]$ tar cvzf file.txt file.tar.gz  
tar: file.tar.gz: Cannot stat: No such file or directory  
tar: Exiting with failure status due to previous errors  

[filip@demo test]$ cat file.txt  
 ▒Om7▒▒7▒▒'([filip@demo test]$ 

[filip@demo test]$ tar xvzf file.txt  

[filip@demo test]$ cat file.txt  
 ▒Om7▒▒7▒▒'([filip@  

[filip@demo test]$ file file.txt  
file.txt: gzip compressed data, from Unix, last modified: Fri Jul 29 18:48:56 2016  
[filip@demo test]$  
5
Filip Nikolov

ライン上

$ tar cvzf file.txt file.tar.gz  

ファイルfile.tar.gzの圧縮アーカイブを作成するように依頼し、アーカイブの名前をfile.txtにする必要があります。 2つのファイル名を入れ替えただけです。

ファイルfile.txtは、空の圧縮されたtarアーカイブによって上書きされます。これが、後続のコマンドが奇妙なものを表示する理由です。

はい、file.txtの元の内容は失われました。ごめんなさい。バックアップから復元します。

この質問 も参照してください。

12
Kusalananda