我使用 rsync 来备份文件,--link-dest
仅同步与上次备份文件夹的差异。
无论如何我可以看到按日期排序的目录列表和将其限制为--max-depth=1
或-d 1
?
例如,这显示了一个目录的深度:
$ du -h --max-depth=1
33G ./05-12-2021-16:00
4.7G ./05-12-2021-12:30
4.6G ./05-12-2021-11:30
11G ./06-12-2021-13:30
4.8G ./06-12-2021-02:00
19M ./06-12-2021-08:58
4.7G ./05-12-2021-21:00
938M ./05-12-2021-02:11
754M ./05-12-2021-19:00
32M ./06-12-2021-02:30
179M ./05-12-2021-13:30
172M ./05-12-2021-17:30
4.7G ./05-12-2021-22:00
752M ./05-12-2021-20:00
170M ./05-12-2021-17:00
4.7G ./06-12-2021-12:01
934M ./05-12-2021-12:00
38M ./05-12-2021-14:00
175M ./06-12-2021-12:31
34M ./05-12-2021-18:00
388M ./05-12-2021-16:30
42M ./06-12-2021-14:01
4.7G ./05-12-2021-00:54
756M ./06-12-2021-11:33
173M ./06-12-2021-00:31
4.5G ./06-12-2021-15:31
31M ./06-12-2021-00:00
1007M ./05-12-2021-23:01
762M ./05-12-2021-22:30
31M ./05-12-2021-21:30
765M ./06-12-2021-15:01
214M ./05-12-2021-10:44
32M ./06-12-2021-01:30
33M ./06-12-2021-13:00
27M ./05-12-2021-15:00
166M ./05-12-2021-11:00
32M ./06-12-2021-01:01
176M ./05-12-2021-02:30
27M ./05-12-2021-15:30
30M ./05-12-2021-18:30
37M ./05-12-2021-13:00
31M ./05-12-2021-20:30
753M ./05-12-2021-23:30
752M ./05-12-2021-19:30
43M ./06-12-2021-14:30
38M ./05-12-2021-14:30
91G .
使用答案这里,它按大小排序,但完全递归到每个目录:
$ command ls -dt */ | while IFS= read -r dir; do du -sh "$dir"; done
33G 05-12-2021-00:54/
33G 05-12-2021-02:11/
33G 05-12-2021-02:30/
33G 05-12-2021-10:44/
33G 05-12-2021-11:00/
33G 05-12-2021-11:30/
33G 05-12-2021-12:00/
33G 05-12-2021-12:30/
33G 05-12-2021-13:00/
33G 05-12-2021-13:30/
33G 05-12-2021-14:00/
33G 05-12-2021-14:30/
33G 05-12-2021-15:00/
33G 05-12-2021-15:30/
33G 05-12-2021-16:00/
33G 05-12-2021-16:30/
33G 05-12-2021-17:00/
33G 05-12-2021-17:30/
33G 05-12-2021-18:00/
33G 05-12-2021-18:30/
33G 05-12-2021-19:00/
33G 05-12-2021-19:30/
33G 05-12-2021-20:00/
33G 05-12-2021-20:30/
33G 05-12-2021-21:00/
33G 05-12-2021-21:30/
33G 05-12-2021-22:00/
33G 05-12-2021-22:30/
33G 05-12-2021-23:01/
33G 05-12-2021-23:30/
33G 06-12-2021-00:00/
33G 06-12-2021-00:31/
33G 06-12-2021-01:01/
33G 06-12-2021-01:30/
33G 06-12-2021-02:00/
33G 06-12-2021-02:30/
23G 06-12-2021-08:58/
33G 06-12-2021-11:33/
33G 06-12-2021-12:01/
33G 06-12-2021-12:31/
33G 06-12-2021-13:00/
33G 06-12-2021-13:30/
33G 06-12-2021-14:01/
33G 06-12-2021-14:30/
33G 06-12-2021-15:01/
33G 06-12-2021-15:31/
33G 06-12-2021-16:03/
我需要的是答案这问题,但按时间/日期排序。
我已经查看了这里的答案,但我看不到任何有用的内容:
https://superuser.com/questions/147027/how-can-i-sort-the-output-of-ls-by-last-modified-date
是否有任何 du(磁盘使用情况)命令标志来总结每个子目录的大小
https://stackoverflow.com/questions/37272935/unix-command-size-of-directory-with-order-by-size
如何递归查找目录中存储的数量?
答案1
一种方法,如果您du
支持--time
标志:
du --max-depth=1 --time | sort -k 2
第二个示例的解决方案(不显示递归大小)是将-S
标志添加到du
:
ls -dt */ | while IFS= read -r dir; do du -Ssh "$dir"; done
但这个命令过于复杂。你可以让它变得更容易:
du -Ssh "$(ls -Qdt /*)"
答案2
du
您可以通过管道输入into的输出sort -k 2
,以根据第二列对结果进行排序:
du -h --max-depth=1 | sort -k 2