我想根据大小对主目录中的子目录进行排序,并且还想通过终端根据文件创建日期对子目录中的文件进行排序。这可能吗?
编辑: 按照以下答案对文件夹内的文件进行排序后,当我通过 nautilus 查看时,它不会重新排列。我希望在通过 nautilus 查看时重新排列文件。
答案1
如果要根据大小对目录内的子目录/文件进行排序,请在终端中输入,
gsettings set org.gnome.nautilus.preferences default-sort-order "size"
要根据文件修改时间对子目录/文件进行排序,
gsettings set org.gnome.nautilus.preferences default-sort-order "mtime"
您还可以根据name
和进行排序type
。但您不能同时设置两个值,例如一个用于目录,另一个用于子目录。随时更改值都没有问题。更改将立即对所有目录生效。
您还可以按相反顺序排序为size
、name
、modification time
或type
。要在终端中执行此操作,请输入
gsettings set org.gnome.nautilus.preferences default-sort-in-reverse-order true
答案2
答案3
打开终端并输入
du -sk * | sort -rn
答案4
我认为如果没有循环就不可能实现 - 至少在 bash 中不可能 - 但是如果您愿意使用循环,这里有一个例子可以让你走上正确的轨道。
#!/bin/bash
for dir in $(du -sh */ | sort -rh | cut -f2); do
echo "*** $(du -sh $dir) ***"
ls -l --sort=time $dir
done
这个脚本……
- 循环遍历所有条目
du -sh
,按大小排序 -cut
仅格式化输出 - 并且,对于每个条目,打印该目录的总大小(
du -sh
)并按大小排序列出其内容(ls -l --sort=time
)。