Linux拓展之查找指定目录下的最大文件
概述
有时候我们需要查找指定目录下的最大文件,通常说的指定目录包括该目录下的所有文件和子目录下的所有文件。如下是几种能查找最大文件的方法。
方法一
查找指定目录下的最大文件,但不包括所有子目录,只包括当前目录。命令格式如下:
# 语法
ls -lShr 指定目录 | tail -n 1
# 示例,查找 /root/ 目录下的最大文件
ls -lShr /root/ | tail -n 1
说明如下:
ls -lShr /root/
:从小到大列出/root/
目录下的所有文件。-l
选项:列出指定目录下的所有文件,以列表的形式。-S
选项:对于列出的所有文件按照文件大小排序,默认降序。-h
选项:以人类可读性的方式显示,即文件大小以k
、M
的方式显示。-r
选项:逆序排序。
tail -n 1
:找到列出文件中的最后一个文件,即最大文件。-n
选项:获取结果的最后一行。按照逆序排序后,最大文件则位于最后一行。
如图:
方法二
查找指定目录下的最大文件,包括当前目录和其下所有递归子目录。命令格式如下:
# 语法
find 指定目录 -type f -printf "%s\t%p\n" | sort -n | tail -n 1
# 示例,查找 /root/ 目录下的最大文件
find /root/ -type f -printf "%s\t%p\n" | sort -n | tail -n 1
说明如下:
find /root/ -type f -printf "%s\t%p\n"
:查看/root/
目录下的所有普通文件,只显示文件大小和文件路径。-type f
选项:表示只查找普通文件。-printf "%s\t%p\n"
选项:表示只打印显示文件大小和文件路径。%s
符号表示文件大小以字节的方式;%p
符号表示文件名,即路径的方式。
sort -n
:对列出的所有文件按数字进行排序。默认是从小到大,所以最大的文件在最后一行。-n
选项:表示按照数字排序,默认是从小到大。
tail -n 1
:获取排序后文件列表的最后一行,即最大文件。-n 1
选项:表示获取最后一行。
如图:
方法三
查找指定目录下的最大文件,包括当前目录和其下所有递归子目录。命令格式如下:
# 语法
find 指定目录 -type f -print0 | xargs -0 du -h | sort -rh | head -n 1
# 示例,查找 /root/ 目录下的最大文件
find /root/ -type f -print0 | xargs -0 du -h | sort -rh | head -n 1
说明如下:
find /root/ -type f -print0
:查找/root/
目录下的所有普通文件,并且输出完整的文件名,每个文件之前通过空字符NUL
('\0'
)分隔。-type f
:指定只查找普通文件。-print0
:输出显示完整的文件名,每个文件之间通过一个空字符NUL
('\0'
)分隔。
xargs -0 du -h
:以可读的方式显示每个文件和它的大小。xargs
:该命令可以将标准输入转换成命令行参数。-0
:以空字符NUL
('\0'
)分隔文件列表。du -h
:以可读的方式计算显示文件在磁盘空间使用的情况。
sort -rh
:以可读的方式逆序排序。-r
:逆序排序结果。-h
:以可读格式打印输出。
head -n 1
:获取第一行,即最大文件。-n 1
选项:获取第一行,即最大文件。
注,如下还有几个类似的命令组合都能获取指定目录下的最大文件,都属于 find
命令的应用:
# 语法一
find 指定目录 -type f -exec du -Sh {} + | sort -rh | head -n 1
# 示例一
find /root/ -type f -exec du -Sh {} + | sort -rh | head -n 1# 语法二
find 指定目录 -type f -print0 | xargs -0 du | sort -n | tail -n 1 | cut -f 2 | xargs -I {} du -sh {}
# 示例二
find /root/ -type f -print0 | xargs -0 du | sort -n | tail -n 1 | cut -f 2 | xargs -I {} du -sh {}# 语法三
find 指定目录 -type f -ls | sort -k 7 -n -r | head -n 1 | column -t | awk '{print $7,$11}'
# 示例三
find /root/ -type f -ls | sort -k 7 -n -r | head -n 1 | column -t | awk '{print $7,$11}'
Linux拓展之查找指定目录下的最大文件相关推荐
- linux如何查看指定目录下文件内容,Linux 系统下通过关键词查找指定目录下的文件内容...
#!/bin/bash # 作者:靑龍一笑(C.S.Ricen) # 功能:根据指定的关键词,查找指定目录下的文件内容 # 要查找的目录 Search_Dir=/opt/datas/ # 关键字列表 ...
- findfirst findnext 递归查找指定目录下所有子目录下所有文件,为什么总是死机?...
findfirst findnext 递归查找指定目录下所有子目录下所有文件,为什么总是死机? Delphi / Windows SDK/API http://www.delphi2007.net/D ...
- VBA实战技巧精粹012:查找指定目录下的指定文件及Dir函数用法
问题:有处理学生评语,限于网络条件,往往学生提交的都是单个文件,这就需要将其一一提取出来,然后进行判断.导出等操作,但首先要解决的就是查找所有文件如何操作,这里需要用到Dir函数,当然创建一个文件搜索 ...
- [Linux C]列出指定目录下的所有文件(夹)
在Linux下,用C语言实现列出指定目录下的所有文件和文件夹: #include <stdio.h> #include <dirent.h> #include <stdl ...
- linux 复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录 ...
- 【文件IO】Linux 文件操作(一) —— 遍历指定目录下的所有文件
目录 一.访问目录相关函数 1.打开/访问目录 (opendir / fdopendir) 2.读取目录内容 (readdir) 3.关闭目录 (closedir) 二.遍历指定目录下的所有文件 一. ...
- linux cp目录到指定目录,linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹...
解压war包 jar -xvf xxxx.war linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录的复制是经常要用到的.linux下进行复 ...
- 将linux目录中的特定文件推送到手机_linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹...
linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录的复制是经常要用到的.linux下进行复制的命令为cp. 假设复制源目录 为 dir1 ,目标目录为 ...
- html复制文件到目录,复制指定目录下的全部文件到另一个目录中
linux下文件的复制.移动与删除命令为:cp,mv,rm 复制指定目录下的全部文件到另一个目录中 假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了 ...
最新文章
- Java开发最常犯的10个错误,打死都不要犯!
- 编译执行和解释执行的区别
- 【Python入门】列表的常用操作,这十张图把它说的明明白白!
- vs python生成exe文件_使用VScode编写python程序并打包成.exe文件-文件夹变成exe
- Webpack 配置摘要
- PHP获得文件的md5并检验是否被修改
- eclipse import的项目报autowired cannot be resolved to a type的错误
- 斐讯K3c基于frp内网穿透
- pbs分解_谈WBS与PBS
- 微信号码检测工具为什么不能免费使用?(2017)
- NOIP模拟题——复制粘贴2
- 跟着团子学SAP PS:项目计划成本与项目预算设计思路
- java jmx 监控tomcat_通过Tomcat开启JMX监控的方法图解
- 迅雷CTO李金波的一篇文章,给自己 mark 下一个指引吧!
- 在线电子书阅读微信小程序 毕业设计(2)分类
- AM335x SPL
- php八进制十六进制,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...
- 0基础如何成为游戏美术设计师
- linux操作命令comm,一天一个shell命令 文本操作系列-comm命令用法
- JDK有BUG!!!