最简单和恕我直言最有效的方法是让脚本将文件重新组织到文件夹中,如有必要,甚至是不同的目录级别层。这将使您的文件可浏览而不会阻塞 nautilus。
下面的脚本将为您做到这一点。它将创建包含任意数量文件的文件夹。如果这些文件夹超过(相同的)任意数量等,这些文件夹将被组织成子文件夹。每个(子)级别将具有相同的最大文件数/子目录,从而使浏览变得容易。
每个创建的文件夹显示文件夹编号 + 创建的子级别数(例如 22_1 仅包含文件):

我在一个包含 300.000 个文件的目录中进行了测试,以(最多)100 个文件的块重新组织,组织到(最多)100 个文件夹等的上级目录中
。在我的系统上花了不到一分钟的时间。将 100.000 个文件分成更小的块进行测试只需几秒钟。
#!/usr/bin/env python3
import subprocess
import os
import shutil
#--- set the directory to reorganize below
dr = "/path/to/directory"
#--- set the number of files/folders per level
size = 100
level = 0
def move(fn, drn, level):
folder = dr+"/"+str(drn)+"_"+str(level)
if not os.path.exists(folder):
os.mkdir(folder)
shutil.move(dr+"/"+f, folder+"/"+f)
while len(os.listdir(dr)) > size:
level += 1
fn = 0; drn = 1
for f in os.listdir(dr):
if fn < size:
move(fn, drn, level)
else:
fn = 0
drn += 1
move(fn, drn, level)
fn += 1
Run Code Online (Sandbox Code Playgroud)
reorganize.py通过以下命令运行它:
python3 /path/to/reorganize.py
Run Code Online (Sandbox Code Playgroud)脚本(按原样)只是创建一个目录结构,其中每个级别都有定义数量的文件/文件夹。它不考虑名称、日期或其他任何类型的组织。
根据评论中的要求,在处理文件后将文件移回一个平面目录的脚本。
用法几乎相同。作为目录,设置与第一个脚本相同的目录,但这似乎很明显。
python3 /path/to/reorganize.py
Run Code Online (Sandbox Code Playgroud)
正如评论中提到的,脚本假定没有名称冲突的风险,因为所有文件最初都来自同一个(平面)目录。