在实际使用ubuntu时候,经常要碰到需要查看文件以及文件夹大小的情况。
有时候,自己创建压缩文件,可以使用 ls -hl
查看文件大小。参数-h 表示Human-Readable,使用GB,MB等易读的格式方式显示。
对于文件夹的大小,ll -h 显示只有4k。
那么如何来查看文件夹的大小呢?
使用du命令查看文件或文件夹的磁盘使用空间
–max-depth 用于指定深入目录的层数。
如要查看当前目录已经使用总大小及当前目录下一级文件或文件夹各自使用的总空间大小,
输入du -h --max-depth=1即可。
klein@klein-ubuntu:~/source$ du -h --max-depth=1
44G ./j01
62G .
如要查看当前目录已使用总大小可输入:du -h --max-depth=0
klein@klein-ubuntu:~/source$ du -h --max-depth=0
62G .
(1)查看文件大小
查看当前文件夹总量
du -sh
查看当前文件夹下所有文件大小(包括子文件夹)
# du -h
15M ./package
16K ./.fontconfig
4.0K ./.cache
5.1M ./.rpmdb
20M .
查看指定文件夹下所有文件大小(包括子文件夹)
# du -h ftp
3.8G ftp/sanya/doc
3.8G ftp/sanya
4.0K ftp/testftp/doc
1.4M ftp/testftp
875M ftp/platform/doc/002-录像
27M ftp/platform/doc/001-PDF
5.2M ftp/platform/doc/BBFlash
1.2G ftp/platform/doc/003-录音
2.1G ftp/platform/doc
2.1G ftp/platform
4.0K ftp/pmo/doc
20K ftp/pmo
36M ftp/uf/doc/innovate-201207
36M ftp/uf/doc
36M ftp/uf
446M ftp/code/doc
446M ftp/code
6.3G ftp
查看指定文件大小
# du -h ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
184K ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
查看指定文件夹大小
# du -hs ftp
6.3G ftp
用法:du [选项]… [文件]…
或:du [选项]… --files0-from=F
计算每个文件的磁盘用量,目录则取总用量。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all 输出所有文件的磁盘用量,不仅仅是目录
--apparent-size 显示表面用量,而并非是磁盘用量;虽然表面用量通常会
小一些,但有时它会因为稀疏文件间的"洞"、内部碎
片、非直接引用的块等原因而变大。
-B, --block-size=大小 使用指定字节数的块
-b, --bytes 等于--apparent-size --block-size=1
-c, --total 显示总计信息
-D, --dereference-args 解除命令行中列出的符号连接
--files0-from=F 计算文件F 中以NUL 结尾的文件名对应占用的磁盘空间
如果F 的值是"-",则从标准输入读入文件名
-H 等于--dereference-args (-D)
-h, --human-readable 以可读性较好的方式显示尺寸(例如:1K 234M 2G)
--si 类似-h,但在计算时使用1000 为基底而非1024
-k 等于--block-size=1K
-l, --count-links 如果是硬连接,就多次计算其尺寸
-m 等于--block-size=1M
-L, --dereference 找出任何符号链接指示的真正目的地
-P, --no-dereference 不跟随任何符号链接(默认)
-0, --null 将每个空行视作0 字节而非换行符
-S, --separate-dirs 不包括子目录的占用量
-s, --summarize 只分别计算命令列中每个参数所占的总用量
-x, --one-file-system 跳过处于不同文件系统之上的目录
-X, --exclude-from=文件 排除与指定文件中描述的模式相符的文件
--exclude=PATTERN 排除与PATTERN 中描述的模式相符的文件
--max-depth=N 显示目录总计(与--all 一起使用计算文件)
当N 为指定数值时计算深度为N;
--max-depth=0 等于--summarize
--time 显示目录或该目录子目录下所有文件的最后修改时间
--time=WORD 显示WORD 时间,而非修改时间:
atime,access,use,ctime 或status
--time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):
full-iso,long-iso,iso,+FORMAT
--help 显示此帮助信息并退出
--version 显示版本信息并退出
[大小]可以是以下的单位(单位前可加上整数):
kB 1000,K 1024,MB 1000000,M 1048576,还有 G、T、P、E、Z、Y。
(2)Ubuntu 查看磁盘空间大小命令
df -h Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:
df -hl 显示格式为:
文件系统 容量 已用 可用 已用% 挂载点 Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 494
df -h
Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:
df -hl
显示格式为:
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 45G 19G 24G 44% /
/dev/hda1 494M 19M 450M 4% /boot
/dev/hda6 4.9G 2.2G 2.5G 47% /home
/dev/hda5 9.7G 2.9G 6.4G 31% /opt
none 1009M 0 1009M 0% /dev/shm
/dev/hda3 9.7G 7.2G 2.1G 78% /usr/local
/dev/hdb2 75G 75G 0 100% /
/dev/hdb2 75G 75G 0 100% /
以上面的输出为例,表示的意思为:
HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,因此利用率是100%, 被挂载到根分区目录上(/)。
下面是相关命令的解释:
df -hl 查看磁盘剩余空间
df -h 查看每个根路径的分区大小
du -sh [目录名] 返回该目录的大小
du -sm [文件夹] 返回该文件夹总M数
更多功能可以输入一下命令查看:
df --help
du --help
(3)删除日志文件
今天一看,公司的linux 服务器没放什么东西,但是已经使用了50%了,一查看原来是日志文件太大了,于是就手动删除了,
这个比较快
sudo /dev/null > /var/log/**.log
下面这个可以推荐使用
sudo find /var/log/ -type f -mtime +30 -exec rm -f {} \;
删除30天之前的旧文件