这是有关 Xubuntu 14.04 的问题。
长话短说,我不得不使用程序 recoveryjpeg 来恢复一些我在全新安装后忘记备份的照片。这导致 850k 个文件被放入我的主文件夹中,现在无法加载。当我进入 home/[用户名] 时,它只是旋转,即使重新启动后也是如此,并且只显示“正在加载文件夹内容”。已经几个小时了。我应该等待还是可以加载另一个文件夹应用程序来访问这些文件?它们是非常重要的图像文件,所以我不能冒险丢失它们。这也意味着我无法在 GUI 或终端中加载主文件夹中的任何内容(文档、下载等)。
任何建议都值得感激。现在不知道该怎么办。这些文件不是我的,如果我无法恢复它们,我可能会死。谢谢。
答案1
最简单的解决方案是将文件移动到其他目录。这样,至少您的文件$HOME
可以加载。打开终端并运行以下命令:
mkdir jpeg-dir
find . -maxdepth 1 -type f -iname '*jpg' -or -iname '*jpeg' -exec mv {} jpeg-dir +
jpg
这会将所有以、jpeg
、JPEG
等结尾的文件移动JPG
到~/jpeg-dir
。这样您就可以正常加载主目录。
但是,这意味着您现在无法看到jpeg-dir
目录。现在,您已将所有内容都放在了 中~/jpeg-dir
,您可以创建子目录,每个子目录都包含例如 5000 个文件:
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
答案2
正在发生的事情是,文件管理器正在创建一个列表(带有ls
),并且当有很多文件时,这将花费很长很长时间。
因此,要做的第一件事就是清理 /home/$USER/。进入控制台模式。
cd ~
mkdir tmp
这将tmp
在您的 /home/$USER/ 中创建一个目录。
现在执行ls -l | more
并按 Enter 来了解这些文件的名称;通常这些文件将具有特定的扩展名。我们假设它们都以 结尾*.ext
(在以下命令中替换为您需要的内容)。然后使用以下命令将所有这些文件移至~/tmp/
:
echo !(*.ext) | xargs mv -t ~/tmp/
请小心键入内容(*.ext)
,并确保它包含应保留的所有内容/home/$USER/
。
这将为你提供一个可以工作的桌面/home/
。如果你ls
在里面做~/tmp/
,你仍然会遇到问题。
问题的第二部分。最简单的方法是使用脚本将所有这些文件放入子目录中:这SO 上的答案似乎非常适合这一点。