centos中查找出大文件命令汇总
2016-01-07 10:51
603 查看
在linux中简单的查找文件与目录大小很简单
#已易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小
du -sh [dirname|filename]
如:
当前目录的大小:
代码如下 复制代码
du -sh .
当前目录下个文件或目录的大小:
代码如下 复制代码
du -sh *
显示前10个占用空间最大的文件或目录:
代码如下 复制代码
du -s * | sort -nr | head
* -h已易读的格式显示指定目录或文件的大小
* -s选项指定对于目录不详细显示每个子目录或文件的大小
如何在目录中找出所有大文件?
linux下的find命令用来查找文件,通过man find就知道它是无所不能的。所以按照文件大小来查找文件就不在话下。从man find搜索size,可以看到如下信息:
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
b for 512-byte blocks (this is the default if no suffix is used)
c for bytes
w for two-byte words
k for Kilobytes (units of 1024 bytes)
M for Megabytes (units of 1048576 bytes)
G for Gigabytes (units of 1073741824 bytes)
注意:默认单位是b,而它代表的是512字节,所以2表示1K,1M则是2048,如果不想自己转换,可以使用其他单位,如c、K、M等
A.
1) 句法 for RedHat / CentOS / Fedora Linux
代码如下 复制代码
find {/path/to/directory/} -type f -size +{size-in-kb}k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’
实例:
查找当前目录下大于50MB的文件
代码如下 复制代码
$ find . -type f -size +50000k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’
查找目录/var/log大于100MB的文件
代码如下 复制代码
# find /var/log -type f -size +100000k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’
2)句法 for Debian / Ubuntu Linux
find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} ; | awk ‘{ print $8 “: ” $5 }’
实例:
查找当前目录下大于10MB的文件
代码如下 复制代码
$ find . -type f -size +10000k -exec ls -lh {} ; | awk ‘{ print $8 “: ” $5 }’
Sample output:
./.kde/share/apps/akregator/Archive/http___blogs.msdn.com_MainFeed.aspx?Type=AllBlogs.mk4: 91M
./out/out.tar.gz: 828M
./.cache/tracker/file-meta.db: 101M
./ubuntu-8.04-desktop-i386.iso: 700M
./vivek/out/mp3/Eric: 230M
列出家目录下文件大小小于500b的文件:
代码如下 复制代码
$ find $HOME -size -500b
OR
$ find ~ -size -500b
列出根目录下大小是20 512-byte blocks的文件:
代码如下 复制代码
# find / -size 20
#已易读的格式显示指定目录或文件的大小,-s选项指定对于目录不详细显示每个子目录或文件的大小
du -sh [dirname|filename]
如:
当前目录的大小:
代码如下 复制代码
du -sh .
当前目录下个文件或目录的大小:
代码如下 复制代码
du -sh *
显示前10个占用空间最大的文件或目录:
代码如下 复制代码
du -s * | sort -nr | head
* -h已易读的格式显示指定目录或文件的大小
* -s选项指定对于目录不详细显示每个子目录或文件的大小
如何在目录中找出所有大文件?
linux下的find命令用来查找文件,通过man find就知道它是无所不能的。所以按照文件大小来查找文件就不在话下。从man find搜索size,可以看到如下信息:
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
b for 512-byte blocks (this is the default if no suffix is used)
c for bytes
w for two-byte words
k for Kilobytes (units of 1024 bytes)
M for Megabytes (units of 1048576 bytes)
G for Gigabytes (units of 1073741824 bytes)
注意:默认单位是b,而它代表的是512字节,所以2表示1K,1M则是2048,如果不想自己转换,可以使用其他单位,如c、K、M等
A.
1) 句法 for RedHat / CentOS / Fedora Linux
代码如下 复制代码
find {/path/to/directory/} -type f -size +{size-in-kb}k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’
实例:
查找当前目录下大于50MB的文件
代码如下 复制代码
$ find . -type f -size +50000k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’
查找目录/var/log大于100MB的文件
代码如下 复制代码
# find /var/log -type f -size +100000k -exec ls -lh {} ; | awk ‘{ print $9 “: ” $5 }’
2)句法 for Debian / Ubuntu Linux
find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} ; | awk ‘{ print $8 “: ” $5 }’
实例:
查找当前目录下大于10MB的文件
代码如下 复制代码
$ find . -type f -size +10000k -exec ls -lh {} ; | awk ‘{ print $8 “: ” $5 }’
Sample output:
./.kde/share/apps/akregator/Archive/http___blogs.msdn.com_MainFeed.aspx?Type=AllBlogs.mk4: 91M
./out/out.tar.gz: 828M
./.cache/tracker/file-meta.db: 101M
./ubuntu-8.04-desktop-i386.iso: 700M
./vivek/out/mp3/Eric: 230M
列出家目录下文件大小小于500b的文件:
代码如下 复制代码
$ find $HOME -size -500b
OR
$ find ~ -size -500b
列出根目录下大小是20 512-byte blocks的文件:
代码如下 复制代码
# find / -size 20
相关文章推荐
- 10 篇对初学者和专家都有用的 Linux 命令教程
- 设计模式之行为型模式 - 调用行为的传递问题
- linux mknod命令与磁盘对应一例
- 通晓网络测试常用命令
- FTP命令大全
- Netsh.exe 工具和命令行开关说明
- Ruby基本的环境变量设置以及常用解释器命令介绍
- Oracle数据库执行脚本常用命令小结
- set 命令特殊用法
- PowerShell重启服务命令Restart-Service详细介绍
- Netsh 命令备份和恢复网络设置
- DOS命令全集(一)
- 批处理中使用系统路径的命令
- 使用BAT一句话命令实现快速合并JS、CSS
- 三个有用的 Switch 命令
- 写批处理必备的一些命令参数使用技巧
- win运行字符命令
- Powershell小技巧之使用WS-Man来调用PowerShell命令
- MySQL基本命令、常用命令总结
- sql小计汇总 rollup用法实例分析