首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux系统查找大文件的脚本

在Linux系统中,查找大文件通常是为了管理磁盘空间或进行故障排查。以下是一个简单的bash脚本示例,用于查找指定目录下大于特定大小的文件。

基础概念

  • find命令:Linux中的一个强大工具,用于在目录树中查找文件。
  • du命令:用于估算文件和目录所占用的磁盘空间。
  • awk命令:文本处理工具,用于处理和生成文本。

脚本示例

代码语言:txt
复制
#!/bin/bash

# 检查参数数量
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 <directory> <size_in_MB>"
    exit 1
fi

DIRECTORY=$1
SIZE_IN_MB=$2

# 将MB转换为KB
SIZE_IN_KB=$((SIZE_IN_MB * 1024))

# 查找大于指定大小的文件
find "$DIRECTORY" -type f -size +$SIZE_IN_KB -exec du -h {} \; | sort -nr

使用方法

将上述脚本保存为find_large_files.sh,然后赋予执行权限:

代码语言:txt
复制
chmod +x find_large_files.sh

运行脚本:

代码语言:txt
复制
./find_large_files.sh /path/to/search 100

这将查找/path/to/search目录下大于100MB的所有文件,并按大小降序排列。

优势

  • 自动化:通过脚本自动化查找过程,节省时间。
  • 灵活性:可以根据需要调整大小阈值和搜索目录。
  • 易用性:简单的命令行参数使得使用非常方便。

应用场景

  • 磁盘空间管理:定期检查并清理大文件以释放空间。
  • 故障排查:定位占用大量空间的文件,可能是日志文件或其他临时文件。
  • 性能优化:移除不必要的缓存或备份文件以提高系统性能。

遇到问题的原因及解决方法

问题1:脚本没有找到任何文件

  • 原因:指定的目录不存在,或者该目录下没有大于指定大小的文件。
  • 解决方法:检查目录路径是否正确,并确认目录中确实存在大文件。

问题2:脚本运行缓慢

  • 原因:搜索的目录非常大,包含大量文件和子目录。
  • 解决方法:尝试限制搜索深度或使用更高效的查找策略,例如并行处理。

问题3:权限问题

  • 原因:当前用户没有足够的权限访问某些目录或文件。
  • 解决方法:使用sudo提升权限,或者更改相关文件和目录的权限设置。

通过上述脚本和解决方案,可以有效地管理和维护Linux系统中的文件大小。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux查找大文件命令

在我们日常使用Linux时,经常会出现由于垃圾文件或日志文件过大,将磁盘打满的情况,为了及时处理掉这些大文件,我们如何准确地定位到这些大文件就格外重要。...本文整理了查看大文件和清空内容等命令,有用记得收藏~ 目录 1、查询服务器中大于1G的文件 2、查询服务器中大于1G的文件及属性信息 3、查询大文件并排序 1、查询服务器中大于1G的文件 find...,查询的大小可以根据需要改变,如下: 相关查询:查询服务器中大于100M的文件 find / -type f -size +100M 2、查询服务器中大于1G的文件及属性信息 命令如下,在查询大于1G文件的同时...news_info_bak_1.MYD -rw-r--r--. 1 mysql mysql 1859491887 3月 17 16:12 /var/log/mysqld.log 3、查询大文件并排序...我们一般会改配置优化或清空它,我们一般通过echo "" > /var/log/mysqld.log 命令来清空的,那老铁是用啥好办法来清空的呢?

7.6K20
  • linux中查找大文件

    随着时间的推移,您的磁盘驱动器可能会被大文件占用大量磁盘空间,不必要文件弄得乱七八糟。通常是因为大型日志文件或备份文件,导致Linux系统的磁盘空间不足。...本教程介绍如何使用find和du命令在Linux系统中查找最大的文件和目录。 使用find命令查找大文件 find命令是Linux系统管理员工具库中最强大的工具之一。...-xdev -type f -size +100M -print 仅搜索当前工作目录(.)中的 文件(-type f),大于100MB(-size +100M),不要查找其他文件系统上的目录(-xdev...例如,您可以搜索超过多少天的大文件,具有特定扩展名的大文件或属于特定用户的大文件。 使用du命令查找大文件和目录 du命令用于估计文件空间使用情况,对于查找占用大量磁盘空间的目录和文件特别有用。...:估算当前工作目录(.)中的磁盘空间使用情况,包括文件和目录(a),以比较接近人的常见可读格式打印大小(h)并跳过不同文件系统上的目录(x)。

    8.8K10

    linux 查找最大文件 方法

    Linux上查找最大文件的 3 种方法第一种:ls最简单的方法就是借助 ls 命令,因为 ls 命令本身输出是带文件大小信息的。...比如,我要列出 /bin 目录中的 5 个最大文件,可以:ls -lSh /bin | head -5 第二种:findfind 本身就是查找命令,可以递归查找一个目录的子目录,所以用它是自然的。...比如,查找 / 目录下最大的一个文件:sudo find / -type f -printf "%s\t%p\n" | sort -n | tail -1 如果要找前 10 个大文件呢,可以这样:$...,MiB和MB的区别,emmm)的所有文件:find / -size +100M -ls 也可以查找一个区间大小的(比如 100MiB 和 200MiB )之间的文件:find / -size +100M...比如,查找 /home 下前 20 个最大的文件:sudo du -a /home | sort -n -r | head -n 20 查找当前文件夹中最大的 10 个目录:sudo du -a | sort

    4.9K30

    如何在 Linux 中查找大文件?

    在 Linux 系统中,有时候我们需要查找并识别占用大量磁盘空间的文件。这些大文件可能导致磁盘空间不足或性能下降。本文将详细介绍在 Linux 中使用不同的命令和工具来查找大文件的方法。图片1....使用 find 命令find 命令是一个功能强大的工具,可以用于在文件系统中搜索和查找文件。结合 -size 选项,我们可以使用 find 命令来查找指定大小的文件。...然后,根据文件大小进行降序排序,并显示最大的 10 个文件。6. 使用图形化工具除了命令行工具,Linux 还提供了一些图形化工具来帮助您查找大文件。...结论在 Linux 中,有多种方法可以查找大文件。您可以使用 find 命令、du 命令、ncdu 命令或 ls 命令来查找和显示文件的大小。...此外,还可以使用图形化工具来可视化和分析磁盘空间的使用情况。通过掌握这些方法,您可以更好地了解文件系统中的大文件,从而更好地管理磁盘空间和优化系统性能。

    18K41

    利用Linux命令高效查找大文件为windows系统瘦身

    在瞎折腾的过程中发现一个比较好用的功能:一条Linux命令,找出你系统中的大文件。在此跟大家分享一下。 ​第一步:安装Git 考虑到一些平台不支持发链接,在此就不直接提供下载链接了。...在这里我要强调的是,为了在下一步查找大文件的过程中不出现权限不足的问题,我们需要以管理员的身份运行Git Bash。具体操作方式是选中Git Bash图标,右键->以管理员身份运行。...第三步:查找大文件 这是最关键的一步了!运行Git Bash之后,我们就可以输入Linux中的find命令来查找系统中的大文件了!...关于find命令的用法,在我之前的文章中有详细介绍,感兴趣的朋友可以往前翻一下。接下来我们来尝试查找E盘中的大文件。...C盘的大文件查找并删除了。

    3.1K20

    shell脚本专题(03):批量查找大文件

    本专题将结合运维实际介绍shell脚本的各项用法,预计10篇左右,将包括系统巡检、监控、ftp上传下载、数据库查询、日志清理、时钟同步、定时任务等,里面会涉及shell常用语法、注意事项、调试排错等。...二、本文前言 本文是该专题的第三篇。 文章主要统计指定目录下排名靠前的目录。生产上文件系统超阀值是很常见的告警项,通过本文的统计脚本可以快速准确的定位超阀值文件系统下使用率较高的目录。...三、环境说明 主机名 操作系统版本 ip ansible版本 备注 ansible-tower Centos 7.6.1810 172.16.7.100 2.9.9 ansible管理服务器,查询脚本在该服务器上...六、本文总结 本文主要介绍了如何快速统计指定目录下的大文件,通过脚本输出的日志可以很方便的定位大文件路径。...生产上很多时候都是日志所在文件系统使用率超阀值告警,由于日志一般很多目录层次很深,手动查看劳时费力且容易有疏漏,本文的脚本可完美解决该问题。

    1.2K41

    Linux中查找大文件两种姿势

    使用find命令查找大文件 find命令是Linux系统管理员工具库中最强大的工具之一。它允许你根据不同的标准(包括文件大小)搜索文件和目录。...在下面的示例中,我们传递find命令的输出到ls ,ls将打印已找到的每个文件的大小,然后将将输出传递给sort命令,以根据文件大小的第5列对其进行排序。 find ....-xdev -type f -size +100M -print 仅搜索当前工作目录(.)中的 文件(-type f),大于100MB(-size +100M),不要查找其他文件系统上的目录(-xdev...例如,你可以搜索超过多少天的大文件,具有特定扩展名的大文件或属于特定用户的大文件。 使用du命令查找大文件和目录 du命令用于估计文件空间使用情况,对于查找占用大量磁盘空间的目录和文件特别有用。...:估算当前工作目录(.)中的磁盘空间使用情况,包括文件和目录(a),以比较接近人的常见可读格式打印大小(h)并跳过不同文件系统上的目录(x)。

    2K20

    Linux 系统日常巡检脚本

    Linux 系统日常巡检脚本,巡检内容包含了,磁盘,内存 cpu 进程 文件更改 用户登录等一系列的操作 直接用就行了。报告以邮件发送到邮箱 在log下生成巡检报告。#!...bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binsource /etc/profile[ $(id -u) -gt 0 ] && echo "请用root用户执行此脚本...okreport_SNMP="" #SNMP OKreport_NTP="" #NTP okreport_JDK="" #JDK版本 okfunction version(){echo ""echo ""echo "系统巡检脚本...*up \([^,]*\), .*/\1/')echo " 系统:$OS"echo " 发行版本:$Release"echo " 内核:$Kernel"echo " 主机名:$Hostname"echo...,含年份# 很遗憾last命令不支持显示年份,只有"last -t YYYYMMDDHHMMSS"表示某个时间之间的登录,我# 们只能用最笨的方法了,对比今天之前和今年元旦之前(或者去年之前和前年之前…

    2.8K30

    Linux系统sh脚本编写

    一、开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh或者#!/bin/bash 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。...当编写脚本完成时,如果要执行该脚本,还必须使其可执行。 要使编写脚本可执行: 编译 chmod +x filename 这样才能用....五、Shell命令和流程控制 a,打印信息 echo “哈哈哈”: 将文字内容打印在屏幕上 更多解释详情,请访问:http://tsov.net/sh-script-syntax/ 六、简单的脚本...1,自动执行jar项目运行的脚本 a,创建脚本文件(test-a.sh) [root@docker_t tools]# touch test-a.sh b,编辑文件 [root@docker_t...2,自动执行war项目运行的脚本 a,创建脚本文件(test-b.sh) [root@docker_t tools]# touch test-b.sh b,编辑文件 [root@docker_t

    8K10

    linux(八)linux系统中查找文件二

    一、grep命令   1.1、作用   Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。     ...‘[a-z]\{5\}’ aa     4)查找pass和passwd.txt文件中包含root的行         cat passwd passwd.txt |grep -i root      ...5)查找pass和passwd.txt文件中包含root的行      grep -i root passwd passwd.txt  二、wc命令   2.1、作用 统计文件里面有多少单词,多少行...如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。   ...3.3.2、选择参数             --block-size= 指定区块大小       -t系统类型> 只显示选定文件系统的磁盘信息       -x系统类型> 不显示选定文件系统的磁盘信息

    4.4K70

    Linux 系统下查找文件命令

    Linux 系统下查找文件命令,融合多部Linux经典著作,去除多余部分,保留实用部分。 查命令绝对路径: which用于查找并显示给定命令的绝对路径,环境变量中PATH参数也可以被查出来。...: locate 搜索一个数据库/var/lib/mlocatedb,这个数据库中含有本地所有文件信息,Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件....txt /root/3.txt #注意:系统中要存在该用户,否则会报错误....-inum 根据i节点查询 有一些文件的硬链接数量很多,有相同的i节点,查找其中一个文件的i节点号,一次性删除。...在linux中有一个别名机制,如rm删除文件,执行的却是rm -i(用which rm 可以查看命令别名), 使用rm删除文件前会提示,就是因为rm -i这个参数。

    4.4K30

    linux(七)之linux系统中查找文件

    -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。     ...另外,下面三个的区别       -amin n 查找系统中最后n分钟访问的文件       -atime n 查找系统中最后n*24小时访问的文件       -cmin n 查找系统中最后n分钟被改变文件状态的文件...      ctime n 查找系统中最后n*24小时被改变文件状态的文件       -mmin n 查找系统中最后n分钟被改变文件数据的文件       -mtime n 查找系统中最后n*24小时被改变文件数据的文件...3)exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个“\”,最后是一个分号。为了使用exec选项,必须要同时使用print选项。...选项              在当前文件系统中查找文件(不进入其他文件系统),可以使用find命令的mount选项         1)从当前目录开始查找位于本文件系统中文件名以XC结尾的文件

    5.7K100

    linux系统自动清理日志的操作脚本

    linux系统自动清理日志的操作脚本 根据实际需要,编写自定义的清理脚本,添加到定时任务中 大致操作命令格式如下,可按照脚本含义解释自行修改你所需要的执行效果: 创建可执行文件 cd /home touch...clear_log.sh 赋予可执行权限 chmod +x clear_log.sh 编写脚本内容 vi clear_log.sh 添加脚本 #!...具体参数说明如下: find:linux的查找命令,用户查找指定条件的文件; /export/Logs/:想要进行清理的任意目录;  -type f代表文件 d代表目录 -mtime:标准语句写法;+30...:查找30天前的文件,这里用数字代表天数; "*log*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;  -exec:固定写法...; rm -rf:强制删除文件,包括目录; {} \; :固定写法,一对大括号+空格+\+; -size 查找符合大小的文件;

    3.2K20

    LInux中的查找

    LInux中的查找 一、grep 二、find 2.1 基本用法 2.2 -exec 命令选项 2.3 配合 xargs 命令 三、awk 一、grep Global Regular Expression...-amin n 查找系统中最后N分钟访问的文件 -atime n 查找系统中最后n*24小时访问的文件 -cmin n 查找系统中最后N分钟被改变文件状态的文件 -ctime n 查找系统中最后...n*24小时被改变文件状态的文件 -mmin n 查找系统中最后N分钟被改变文件数据的文件 -mtime n 查找系统中最后n*24小时被改变文件数据的文件 示例 根据关键字查找 # 在当前目录查找以...-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,考虑到各个系统中分号会有不同的意义,前面加反斜杠\。 示例 在目录中查找更改时间在n日以前的文件并删除它们 find ....查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件 # 显示为: # ./log2013.log: empty # .

    16.1K10
    领券