所以我计划备份,子目录中有成千上万的文件,我知道最大的文件只是我不需要备份的数据集,而不是我创建的东西。
我发现这个有用的命令here列出了大于或小于给定大小的所有内容:
如果我这样做:
find . -type f -size +1000M
它只列出了4个文件,但对于+ 100M,其中大约有30个。我可以查看并查看是否有重要的东西需要保留并相应地调整阈值。
想要一个总大小,所以我知道它是否都适合25或100MB的光盘..
所以我试着像这样将du
传递给find . -type f -size +1000M | du
,但它似乎不起作用,即给我一个总数,说找到4个文件:
[{
"userName": "Rodrigo",
"date": "25 de abril de 2017",
"score": 5
}]
[{
"userName": "Jon",
"date": "24 de abril de 2016",
"score": 4
}]
有谁知道如何做到这一点?
(是的,当然会将+更改为a - ,比查看数字前更少,但是在查看30而不是数千个文件时更容易看出它是否正常工作。)
答案 0 :(得分:1)
du --total $(find . -type f -size +1000M)
会帮助你。
答案 1 :(得分:1)
您可以使用find
运行-printf
,find . -type f -size +1000M -printf '%p %k\n'
有很多选项可以控制打印的内容(记录为here)。因此,您可以打印每个文件,然后打印它使用的1千字节磁盘块:
awk
完成此操作后,使用du
而不是find . -type f -size +1000M -printf '%p %k\n' | awk 'BEGIN{total=0}{total += $2}END{print total}'
对它们进行求和会更容易:
du
这是因为NUL
只接受输入列表,如果它被find . -type f -size +1000M -printf '%p\0' | du -k --files0-from=- --total
(ASCII 0)终止。所以你必须这样做:
NUL
然后看最后一个“总计”行。但MATCH (u:User), (b:Book)
WHERE u.Name = 'Al' AND u.Surname = 'Pacino' AND (b.title = 'The Hours' OR
b.title = 'War and Peace')
CREATE (u)-[:LEND {date:['16 March 2017']}]->(b)
- 终止的文件名列表对用户来说不方便;没有用户名,文件名看起来一起运行。
答案 2 :(得分:1)
为了找出,如果某些文件适合其他媒体,则必须考虑其他媒体的块大小。仅仅汇总每个文件的字节是不够的,因为每个文件都浪费了最后一个块中的磁盘空间。浪费的空间量取决于块大小。
我虚拟机上的主目录示例:
$ du -hs .
619M .
$ du -bhs .
598M .
文件大小为598M,但它们在磁盘上使用619M。浪费了大约20M。