dro*_*unk 4 storage files data-recovery
这是一个关于Xubuntu 14.04的问题。
长话短说,我不得不使用程序recoverjpeg来恢复一些我在全新安装后忘记备份的照片。这导致 850k 文件被放入我的主文件夹,现在它不会加载。当我回到家/[用户名] 时,它只是旋转,即使在重新启动后也只是说“正在加载文件夹内容”。已经几个小时了。我应该等待还是可以加载另一个文件夹应用程序以使这些文件可访问?它们是非常重要的图像文件,所以我不能冒险丢失它们。这也意味着我无法在 GUI 或终端的主文件夹(文档、下载等)中加载任何内容。
任何建议表示赞赏。不知道此时该怎么办。这些文件不是我的,如果我无法恢复它们,我可能会死。谢谢。
最简单的解决方案是将文件移动到不同的目录。这样,至少你$HOME
会加载。打开终端并运行以下命令:
mkdir jpeg-dir
find . -maxdepth 1 -type f -iname '*jpg' -or -iname '*jpeg' -exec mv {} jpeg-dir +
Run Code Online (Sandbox Code Playgroud)
这将移动以其名义两端的所有文件jpg
,jpeg
,JPEG
,JPG
等来~/jpeg-dir
。这应该可以让您正常加载主目录。
但是,这意味着您现在无法查看jpeg-dir
目录。因此,既然您已经~/jpeg-dir
拥有了 .
cd ~/jpeg-dir
jpegs=(*)
c=0;
for((i=0;i<${#jpeg[@]};i+=1500)); do
let c++
mkdir -p dir"$c"
mv "${jpegs[@]:$i:1500}" dir"$c"
done
Run Code Online (Sandbox Code Playgroud)
发生的事情是文件管理器正在创建一个列表(使用ls
),当有很多文件时,这将需要很长时间。
所以第一件事就是清理/home/$USER/。进入控制台模式。
cd ~
mkdir tmp
Run Code Online (Sandbox Code Playgroud)
这将tmp
在您的 /home/$USER/ 中创建一个目录。
现在执行ls -l | more
并按回车键了解这些文件的命名方式;通常,这些文件将具有特定的扩展名。让我们假设它们都以*.ext
(替换为您在下面的命令中需要的)结尾。然后将所有这些文件移动到~/tmp/
:
echo !(*.ext) | xargs mv -t ~/tmp/
Run Code Online (Sandbox Code Playgroud)
小心你输入的内容,(*.ext)
并确保你确实包含了任何应该留在/home/$USER/
.
这将为您提供一个工作桌面和/home/
. 如果你做一个ls
内部,~/tmp/
你仍然会遇到问题。
问题的第二部分。最简单的方法是让脚本将所有这些文件放入子目录:SO 上的这个答案似乎非常适合此问题。