Unix tar从Solaris上的DB文件创建了一个目录

Unix tar从Solaris上的DB文件创建了一个目录,unix,solaris,tar,Unix,Solaris,Tar,我有一个数据库文件repository.db,我犯了以下错误: $ tar cvf repository.db repository.db.part1.tar tar: repository.db.part1.tar: No such file or directory 而不是 tar cvf repository.db.part1.tar repository.db 现在我的repository.db看起来像一个目录 -rwxr-xr-x+1 gw格林威治1024年8月13日17:55/p

我有一个数据库文件repository.db,我犯了以下错误:

$ tar cvf repository.db repository.db.part1.tar
tar: repository.db.part1.tar: No such file or directory
而不是

tar cvf repository.db.part1.tar repository.db
现在我的repository.db看起来像一个目录 -rwxr-xr-x+1 gw格林威治1024年8月13日17:55/pool/greenwich/dictionary/repository\u ipdr\u test/part1/repository.db


有可能恢复吗?

根据下面的简单实验,文件中填充了空字符。没有发现以前的内容;康复对我来说是不可能的

我没有这个盒子。我在UbuntuLinux13.04(GNUtar1.26)中进行了实验;在Solaris上,结果可能不同


您的文件已被覆盖,原始内容丢失

您可能会争辩说,
tarc
命令应该在覆盖相同名称的现有存档之前询问,但这不是它的工作方式。(GNU焦油或Sun焦油都不是这样工作的)


您的问题实际上是关于如何恢复文件的早期版本。这将取决于您的站点上有哪些备份产品。此外,如果您使用的是ZFS,您可能会幸运地发现最近有一个快照,您可以从中复制该文件的早期版本。

@fen1ksss,上面的实验表明tar使用空字符覆盖源文件(至少在我的系统中是这样)。
$ echo hello > 1
$ cat 1
hello
$ tar cvf 1 no-such-file
tar: no-such-file: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
$ ls -l 1
-rw-rw-r-- 1 falsetru falsetru 10240 Aug 13 23:29 1
$ cat 1
$ od -x 1
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0024000