我的目录/usr/process
包含许多子目录。我想找到最大的文件名为*calculation*
。可能有数百万个文件可供搜索。
当我使用下面的命令并根据大小排序并获取最大的文件并将其复制到/
时,这非常慢。
find /usr/process -name '*calculation*' | xargs -n 1 -i cp {} /usr/share/backup
答案 0 :(得分:0)
如果您知道文件名(“计算”),则对运行find
毫无兴趣。
如果需要查找n个最大文件(此处n = 3),则可以使用du
,它代表“磁盘使用情况”:
du -a /usr/bin/ 2>/dev/null | sort -n -r | head -n 3
478328 /usr/bin/
26024 /usr/bin/burpsuite
16692 /usr/bin/mariabackup
当然,您需要使用自己的目录/usr/process
。
或者,因为这样更容易传递它,所以可以如下使用find
:
find $HOME -type f -printf '%s %p\n' | sort -nr | head -10
10485760 /root/.mozilla/firefox/p4r990u7.default/places.sqlite
10240000 /root/.cache/tracker/meta.db-wal
7964784 /root/.mozilla/firefox/p4r990u7.default/gmp-widevinecdm/1.4.8.903/libwidevinecdm.so
6136581 /root/.local/share/tracker/data/tracker-store.journal
6127616 /root/.mozilla/firefox/p4r990u7.default/webappsstore.sqlite
5615597 /root/.mozilla/firefox/p4r990u7.default/storage/temporary/https+++regex101.com/asmjs/module15
4728570 /root/.cache/mozilla/firefox/p4r990u7.default/safebrowsing/goog-phish-shavar.sbstore
4493312 /root/.cache/tracker/meta.db
然后,您可以根据需要将其传输。