Linux使用find/du递归查找目录中最大的文件

时间:2020-01-09 10:41:32  来源:igfitidea点击:

Linux服务器磁盘空间不足。
如何找到有关磁盘上文件大小的最大或最大文件。
如何使用find命令递归查找目录中最大的文件?
如果您知道如何使用find,du和其他命令,则在磁盘上查找与文件大小有关的大文件很容易。

du命令用于估计Linux系统上的文件空间使用情况。

du的输出使用shell管道传递给sort和head命令。
让我们看看如何使用各种命令在Linux服务器中查找最大的文件。

Linux使用find递归查找目录中最大的文件

在Linux中查找包括目录在内的最大文件的过程如下:

  • 使用sudo -i命令以root用户身份登录
  • 执行du -a/dir/|sort -n -r |head -n 20
  • du将估计文件空间使用情况
  • sort将整理du命令的输出
  • head将仅显示/dir /中的前20个最大文件

Linux在/中找到最大的文件

运行命令:

$ sudo du -a /dir/ | sort -n -r | head -n 20

或者

$ sudo du -a / 2>/dev/null | sort -n -r | head -n 20

Linux使用bash别名快速查找大文件

一个人可以用鸭子bash shell别名搜寻磁盘空间猪

## shell alias ##  
alias ducks='du -cks * | sort -rn | head'
### run it ###
ducks

使用find在Linux bash shell上递归查找最大文件

只能使用find命令列出文件并跳过目录,而不能使用du命令,sort命令和NA命令组合:

$ sudo find / -type f -printf "%s\t%p\n" | sort -n | tail -1
$ find $HOME -type f -printf '%s %p\n' | sort -nr | head -10

在磁盘上找到了最大的文件。下一步操作

根据文件/目录的类型,您可以移动或删除文件。
例如,您不能删除或移动Linux内核或diver目录。
要在Linux上删除不需要的文件,请使用rm命令:

rm -i -v /path/to/file

要递归删除所有文件及其子目录,请使用以下命令:

rm -rf /path/to/folderName

要将文件移动到安装在/mnt/usb /的U盘上,请运行mv命令:

mv /path/to/large/file/ /mnt/usb/