[转帖]Linux中查找大文件两种姿势

linux,查找,文件,两种,姿势 · 浏览次数 : 0

小编点评

**使用 find 命令查找大文件** ```bash find . -xdev -type f -size +100M.  ``` **命令说明:** * `find .`: 搜索当前工作目录 (.) 中的所有文件。 * `-xdev`: 只搜索文件系统上的文件。 * `-type f`: 只搜索文件类型为文件的文件。 * `-size +100M`: 搜索文件大小大于 100 MB 的文件。 **输出:** 该命令将输出一个文件列表,显示所有满足条件的文件的完整文件名和大小。 **示例:** 假设以下是一些文件的大小: | 文件名 | 文件大小 | |---|---| | image.jpg | 100 MB | | video.mp4 | 500 MB | | large_file.tar | 1 GB | | small_file.txt | 10 MB | 使用上述命令,输出将如下结果: ``` image.jpg 100 MB video.mp4 500 MB large_file.tar 1 GB small_file.txt 10 MB ``` **其他选项:** * `-maxdepth N`: 设置最大深度,只搜索深度 N 的子目录。 * `-print0`: 使用 `-print0` 选项以以字符串形式输出文件信息。 * `-print`: 使用 `-print` 选项在输出之前打印文件信息。

正文

https://rumenz.com/rumenbiji/linux-find-du-max-file.html

 

使用find命令查找大文件

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

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

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

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

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

  1. /var/lib/libvirt/images/centos-7-desktop_default.img
  2. /var/lib/libvirt/images/bionic64_default.img
  3. /var/lib/libvirt/images/winqcow2
  4. /var/lib/libvirt/images/debian-9_default.img
  5. /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
  6. /var/lib/libvirt/images/centos-7_default.img

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

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

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

输出像这样:

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

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

  1. 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命令用于估计文件空间使用情况,对于查找占用大量磁盘空间的目录和文件特别有用。

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

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

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

  1. 55G .
  2. 24G ./.vagrant.d/boxes
  3. 24G ./.vagrant.d
  4. 13G ./Projects
  5. 2G ./.minikube

命令说明:

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

与[转帖]Linux中查找大文件两种姿势相似的内容:

[转帖]Linux中查找大文件两种姿势

https://rumenz.com/rumenbiji/linux-find-du-max-file.html 使用find命令查找大文件 find命令是Linux系统管理员工具库中最强大的工具之一。它允许你根据不同的标准(包括文件大小)搜索文件和目录。 例如,如果在当前工作目录中要搜索大小超过1

[转帖]Linux中的Grep命令(在文件中查找文本)

[日期:2020-05-14] 来源:Linux公社 作者:醉落红尘 [字体:大 中 小] grep命令是(global regular expression print,全局正则表达式输出)的缩写,它是Linux中功能最强大且最常用的命令之一。 grep在一个或多个输入文件中搜索与给定模式匹配的行

[转帖]掌握Linux中的12个grep命令

http://blog.itpub.net/70023145/viewspace-2924123/ 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧。 grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统

[转帖]Linux中find命令使用示例

https://zhuanlan.zhihu.com/p/99170116 Linux查找命令是类Unix操作系统中最重要且最常用的命令行实用程序之一。 查找命令可以根据你设定的参数匹配的文件指定的条件来搜索和查找文件或目录的列表。 查找可以在多种条件下使用,例如可以按权限,用户,组,文件类型,日期

[转帖]linux--Segfault详解

linux--Segfault详解 1 简介1.1 段错误的定义1.2 痛点 2 知识点2.1 报错内容2.2 error number 3 排除步骤(借助汇编)3.1 日志确定错误类型3.2 计算相对地址3.3 反汇编该库文件3.4 查找地址对应的汇编语句3.5 在中间件中查找信息 3 排除步骤(

[转帖]Linux-文本处理三剑客grep详解

https://developer.aliyun.com/article/885611?spm=a2c6h.24874632.expert-profile.311.7c46cfe9h5DxWK 简介: grep家族 grep:在文件中全局查找指定的正则表达式,并打印所有包含该表达的行 egrep:扩

[转帖]记录几个常用linux命令的使用方法——find、grep、file、which、whereis和压缩命令gzip、bzip2、tar

一、命令1: find、grep、file、which、whereis 1、find 目的:查找符合条件的文件 1)在哪些目录中查找 2)查找的内容 格式: find 目录名 选项 查找条件 举例: 1)find /work -name "test1.txt" 说明: /work 指明了查找的路径-

[转帖]GDB调试core文件

在Linux环境下C程序经常会出现A segmentation fault(段错误),如果我们的程序只有几十行,那么我们可以通过printf输出调试来找到哪个地方出现了异常,但如果是在项目中,如果我们还是通过print找查找错误,那么效率会很低。那么我们来学习一下Linux环境下通过core文件来找

[转帖]Linux中查看各文件夹大小命令du -h --max-depth=1

https://www.cnblogs.com/the-tops/p/8798678.html 最近排查服务器异常的时候,常会遇到磁盘慢的情况,这个时候,查找那个文件夹占用的内存的时候常用到这个命令:du -h --max-depth=3 一般的文件夹都超不过4层; 具体使用的时候,可以根据当前路径

[转帖]grep 命令进阶.

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep [-acinv] [--color=auto] '查找字