Linux 如果我给cat>;unix中的filename.txt?

Linux 如果我给cat>;unix中的filename.txt?,linux,unix,Linux,Unix,我没有给出cat filename.txt,而是给出了cat>filename.txt。我在filename.txt中的全部内容都被删除了。我可以取回内容吗?它将存储在哪里? 如果有人知道,请帮我找回内容。我对您(数据)丢失表示同情 将来防止这种情况的一种方法是使用“noclobber”shell设置: $ touch veryImportantFile $ cat >veryImportantFile uh oh $ cat veryImportantFile uh oh $ set

我没有给出cat filename.txt,而是给出了cat>filename.txt。我在filename.txt中的全部内容都被删除了。我可以取回内容吗?它将存储在哪里? 如果有人知道,请帮我找回内容。

我对您(数据)丢失表示同情

将来防止这种情况的一种方法是使用“noclobber”shell设置:

$ touch veryImportantFile
$ cat >veryImportantFile 
uh oh
$ cat veryImportantFile 
uh oh
$ set -o noclobber
$ cat >veryImportantFile 
bash: veryImportantFile: cannot overwrite existing file
$ echo "I really want to overwrite" >| veryImportantFile 
$ cat veryImportantFile 
I really want to overwrite

请注意使用
|
重定向器强制覆盖。

内容很可能仍存储在磁盘上,但您需要恢复工具来读取物理磁盘以尝试查找原始内容。请根据您的文件系统类型进行检查,结合使用
grep
dd
可能会奏效,但这不是确定的方法<如果您再次输入类似的错误,code>dd可能会弄乱整个系统,因此请小心。选中此选项,您还可以查看文本编辑器是否备份了该文件。如果您注意到文件名以波浪号结尾,您就会看到它们。也许可以试试
find-typef-iname'*~'| grep name_或_partial_name_________文件
谢谢大家的回复。我使用了恢复工具photorec,当我给find-typef-iname'*~'| grep filename.txt时,它显示了./filename.txt~。但我不知道如何看到里面的内容。