zoukankan      html  css  js  c++  java
  • 使用find命令查找大文件

    使用find命令查找大文件

    find命令是Linux系统管理员工具库中最强大的工具之一。它允许您根据不同的标准(包括文件大小)搜索文件和目录。

    例如,如果在当前工作目录中要搜索大小超过100MB的文件,请使用以下命令:

    sudo find . -xdev -type f -size +100M

    . 代表当前目录。如要搜索其它目录替换.为要搜索目录的路径。

    输出将显示的文件列表,不会包含其它信息。

    /var/lib/libvirt/images/centos-7-desktop_default.img
    /var/lib/libvirt/images/bionic64_default.img
    /var/lib/libvirt/images/win10.qcow2
    /var/lib/libvirt/images/debian-9_default.img
    /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
    /var/lib/libvirt/images/centos-7_default.img

    find命令还可以与其他命令结合使用,例如lssort对这些文件执行操作。

    在下面的示例中,我们传递find命令的输出到ls ,ls将打印已找到的每个文件的大小,然后将将输出传递给sort命令,以根据文件大小的第5列对其进行排序。

    find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r

    输出看起来像这样:

    -rw-------  1 root   root 40967M Jan  5 14:12 /var/lib/libvirt/images/win10.qcow2
    -rw-------  1 root   root  3725M Jan  7 22:12 /var/lib/libvirt/images/debian-9_default.img
    -rw-------  1 root   root  1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
    -rw-------  1 root   root   999M Jan  5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
    -rw-------  1 root   root   562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
    -rw-------  1 root   root   378M Jan  7 22:26 /var/lib/libvirt/images/bionic64_default.img

    如果输出包含大量信息,您可以使用该head命令仅打印前10行:

    find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head

    让我们分解命令:

    • find . -xdev -type f -size +100M -print- 仅搜索当前工作目录(.)中的 文件(-type f),大于100MB(-size +100M),不要查找其他文件系统上的目录(-xdev)并在标准输出上打印完整文件名,然后是新的一行(-print) 。
    • xargs ls -lhfind命令的输出通过管道xargs执行,ls -lh命令将以长列表可读格式打印输出。
    • sort -k5,5 -h -r- 基于第5列(-k5,5)对行进行排序,以可读格式(-h)的值并反转结果(-r)。
    • head :仅打印管道输出的前10行。

    find命令带有许多强大的选项。例如,您可以搜索超过多少天的大文件,具有特定扩展名的大文件或属于特定用户的大文件。

    使用du命令查找大文件和目录

    du命令用于估计文件空间使用情况,对于查找占用大量磁盘空间的目录和文件特别有用。

    以下命令将打印最大的文件和目录:

    du -ahx . | sort -rh | head -5

    第一列包含文件大小,第二列包含文件名:

    55G	.
    24G	./.vagrant.d/boxes
    24G	./.vagrant.d
    13G	./Projects
    5.2G	./.minikube

    命令说明:

    • du -ahx .:估算当前工作目录(.)中的磁盘空间使用情况,包括文件和目录(a),以比较接近人的常见可读格式打印大小(h)并跳过不同文件系统上的目录(x)。
    • sort -rh:通过可读格式(-h)的值并反转结果(-r)来对输出行进行排序。
    • head -5 :仅打印管道输出的前5行。

    结论

    当磁盘已满并且您想要释放它时,查找大文件非常有用。

    现在您已经找到了系统中最大的文件,您可能需要阅读有关如何使用Linux命令行删除文件和目录的指南。如果您有任何问题或意见,请在下面留言。如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持

    如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持

     
  • 相关阅读:
    小结:机器学习基础部分
    概率图:HMM:Evaluation问题(前向算法/后向算法)
    概率图:GMM求解:EM优化算法的导出(从【ELBO+KL】和【ELBO+Jensen】两个角度导出)
    概率图:GMM:EM算法及其收敛性证明
    概率图:高斯混合模型(GMM)
    概率图基础:D-separation;全局Markov性质;Markov Blanket
    概率图基础:概率基本概念、条件独立性、图求解联合概率的规则合理性推理
    mysql索引失效
    mysql 统计行数count(*)
    mysql如何收缩表空间
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/12786295.html
Copyright © 2011-2022 走看看