Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du

 

我的Linux服务器上安装了500GB SSD。我的Web服务器磁盘空间不足。我需要在磁盘上找到有关文件大小的最大或最大文件。如何使用find命令递归查找目录中的最大文件?

如果您知道如何使用find,du和其他命令,要在磁盘上查找有关文件大小的大文件是一件容易的事。du命令用于估计Linux系统上的文件空间使用情况。du的输出使用shell管道传递给sort和head命令。让我们看看如何使用各种命令在Linux服务器中找到最大的文件。

 

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

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

  1. 打开终端应用程序
  2. 使用该sudo -i命令以root用户身份登录
  3. 类型 du -a /dir/ | sort -n -r | head -n 20
  4. du将估计文件空间使用情况
  5. sort将整理du命令的输出
  6. head将只显示/ dir /中最大的20个文件

 

Linux找到最大的文件/

运行命令:

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

OR

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

 

Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du
Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du

 

或者:

# 只查找第一级目录
du -h --max-depth=1 /var

 

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

人们可以使用ducks bash shell别名搜索磁盘空间

## shell别名##   
alias  ducks = 'du -cks * | sort -rn | head' 
###运行它### 
ducks

 

Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du
Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du

 

使用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
295599646	/home/vivek/backups/lnxpcs-master.zip
302654548	/home/vivek/backups/books/pdfs/unit443.wmv
313499710	/home/vivek/backups/books/pdfs/magzine.rar
340414464	/home/vivek/.local/share/baloo/index
346359808	/home/vivek/isoimages/VMware-VMvisor-Installer-6.7.0-8169922.x86_64.iso
352256000	/home/vivek/install63.iso
830054400	/home/vivek/linux/linux-4.18.8.tar
1014864333	/home/vivek/backups/corpapp/vsnl_9.5.2_E_21_Linux.tar.gz
1216380038	/home/vivek/backups/books/full.edition.tar.gz
1787822080	/home/vivek/Fedora-Workstation-Live-x86_64-28-1.1.iso

 

大!我找到了磁盘上最大的文件。下一步是什么?>

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

rm -i -v /path/to/file

 

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

rm -rf /path/to/folderName

 

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

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

 

结论

您刚学会了如何使用du / find和其他命令的组合在Linux中搜索,查找和列出最大或最大的目录/文件。有关更多信息,请参阅du和find命令的此页面或手册页:

man du
man find
man sort
man head
man tail

 

另一个可以帮助您找出占用空间的选项是ncdu安装它:

sudo apt-get install ncdu
Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du
Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du

 

 

Linux 查看磁盘空间

 

df

df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示:

Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du
Linux使用find / du递归查找目录中的最大文件, ncdu, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du

显示内容参数说明:

  • Filesystem:文件系统
  • Size: 分区大小
  • Used: 已使用容量
  • Avail: 还可以使用的容量
  • Use%: 已用百分比
  • Mounted on: 挂载点

相关命令:

  • df -hl:查看磁盘剩余空间
  • df -h:查看每个根路径的分区大小
  • du -sh [目录名]:返回该目录的大小
  • du -sm [文件夹]:返回该文件夹总M数
  • du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

 

du

du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于查看当前目录的总大小。

例如查看当前目录的大小:

# du -sh
605M    .

 

显示指定文件所占空间:

# du log2012.log 
300     log2012.log

 

方便阅读的格式显示test目录所占空间情况:

# du -h test
608K    test/test6
308K    test/test4
4.0K    test/scf/lib
4.0K    test/scf/service/deploy/product
4.0K    test/scf/service/deploy/info
12K     test/scf/service/deploy
16K     test/scf/service
4.0K    test/scf/doc
4.0K    test/scf/bin
32K     test/scf
8.0K    test/test3
1.3M    test

 

du 命令用于查看当前目录的总大小:

  • -s:对每个Names参数只给出占用的数据块总数。
  • -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
  • -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
  • -k:以1024字节为单位列出磁盘空间使用情况。
  • -c:最后再加上一个总计(系统默认设置)。
  • -l:计算所有的文件大小,对硬链接文件,则计算多次。
  • -x:跳过在不同文件系统上的目录不予统计。
  • -h:以K,M,G为单位,提高信息的可读性。

 

本文:Linux使用find / du递归查找目录中的最大文件, 磁盘空间查看命令(du,df)剩余空间查看详解, Linux find largest file in directory recursively using find/du

Leave a Reply