文件资源管理器的项目数有限制吗?

文件资源管理器的项目数有限制吗?

这是有关 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这会将所有以、jpegJPEG等结尾的文件移动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 上的答案似乎非常适合这一点。

相关内容