du -sh filename(其实我们经常用du -sh *,显示当前目录下所有的文件及其大小,如果要排序再在后面加上 | sort -n)
 
关于右键属性与du -sh显示的文件大小不一致的解决:
总之:我的理解就是du查到的是实际硬盘上的block大小,包括很多隐藏文件,软,硬链接,以及由于磁盘格式划分等等的问题,导致了不一致,
右键属性相当于
du --exclude='.*' --exclude='*~' -b -D -s 你的文件或文件夹  及除开那些多余的东西。
而du -sh 则是全部显示了出来,所以,他显示的要大。
 
 
(百度到的,我认为合理)
 
这里有几方面的问题, 导致有好几种计算文件大小方法.

1. 内容大小 和 磁盘(或者别的什么储存器)占用大小, 比如

# 文件内容是 三个字母加一个换行

~/tmp$ cat abc.txt
efg

# 内容大小是 4 字节(--apparent-size 计算内容大小, --block-size=1 以字节位单位)
~/tmp$ du --apparent-size --block-size=1 abc.txt
4 abc.txt

# 占用磁盘空间4096字节, 这个结果跟磁盘格式密切相关
~/tmp$ du --block-size=1 abc.txt
4096 abc.txt

2. 符号链接(symbolic links 或 soft links 或 symlinks)的问题

# 这里有个指向刚才那个文件的符号链接

~/tmp$ ls -nl link_abc.txt
lrwxrwxrwx 1 1000 1000 7 Jan 28 18:34 link_abc.txt -> abc.txt

# 符号链接本身不占用"普通的"磁盘空间, 就像一个空文件一样.
~/tmp$ du --block-size=1 link_abc.txt
0 link_abc.txt

# 不过内容大小还是有的, 实际上是 "abc.txt" 共7个字符.
~/tmp$ du --apparent-size --block-size=1 link_abc.txt
7 link_abc.txt
~/tmp$

# 另外要查看指向的文件的大小的话应该这样 (跟最开始一样)
~/tmp$ du --apparent-size --block-size=1 -L link_abc.txt
4 link_abc.txt

3. 隐藏文件的问题

英文句点"."开头的文件 或者 波浪号"~"结尾的文件属于隐藏文件.

~/tmp$ ls
abc.txt link_abc.txt

~/tmp$ ls -A
abc.txt link_abc.txt .xxx

(不过好像对于 ls 命令来说 "*~" 不属于隐藏文件)

 
4.文件夹本身占用空间的问题
# du 是要算上文件夹本身大小的

~/tmp$ du --exclude='.*' --exclude='*~' --apparent-size -s -b -D ~/tmp
4107 /home/xyy/tmp
# 系统文件管理 没算上(右键属性)

 
 
Gnome 默认的文件管理器 nautilus 统计文件大小的时候忽略隐藏文件(对应du --exclude='.*' --exclude='*~'), 会跟入一层符号链接(对应 du -D), 显示文件内容大小(而不是磁盘占用), 并以1000进位(du -b).

最后合起来就是
du --exclude='.*' --exclude='*~' -b -D -s 你的文件或文件夹

 

关于右键属性与du -sh显示的文件大小不一致的解决的更多相关文章

  1. df -h和du -sh显示结果不一样的原因及解决

    一.背景:一台2T硬盘的mysql服务器,保存电话的CDR信息.按照历史数据的水平,一个月能生成20+GB的文件.然而短短的半年时间,满了?! 登录服务器看谁占了这么大的空间?好吧,slow-quer ...

  2. df与du查看磁盘空间使用不一致的解决方法

    近一段时间,某台服务器的磁盘空间使用不太正常,与其他的服务器相比,严重超出磁盘空间使用 使用df与du相关命令查看,具体结果如下: du -hFilesystem       Size  Used A ...

  3. 41、解决du与df统计不一致的解决方法

    41.1.案例说明: 通过df -hT和du -sh /.du -h --max-depth=1 /命令 发现磁盘的使用不量不一致,使用'df -hT'命令查看磁盘的使用量要 比使用'du -sh / ...

  4. windows2003 IIS6.0右键属性没有asp.net选项卡的解决办法

    windows2003 IIS6.0右键属性没有asp.net选项卡的解决办法 1,如果是只安装了.net framework 1.1 在iis中是不显示那个选项卡的.默认就会支持asp.net1.1 ...

  5. Linux命令(2) - 查看目录和文件大小: du -sh

    [root@hadoop01 ~]# ll total 156 drwxr-xr-x. 18 root root 4096 Jan 5 05:05 apps -rw-r--r--. 1 root ro ...

  6. df -h统计的信息与du -sh不一致的原因(转)

    有时候会遇到这样的问题:df -h统计一个目录,显示有约100M可用空间,使用了5G:而用du -sh统计该目录下的文件大小,却发现总共才占用了1G.也就是说,二者统计结果差距巨大. 例如: 1.df ...

  7. Linux的磁盘系统和文件系统显示的文件大小为什么不一样(du指令和ls指令的区别)

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  8. 诡异的磁盘空间100%报警分析得出df -h与du -sh的根本性差别

    前言:早晨磁盘报警刚清空完tomcat和nginx日志,使用的命令是类似echo "" > show_web-error.log或者> show_web-debug.l ...

  9. shell 文件夹总大小 du -sh 文件夹

    du -sh 文件夹 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件> ...

随机推荐

  1. 【转】使用Freemarker实现网页静态化

    使用Freemarker实现网页静态化 2017年08月20日 20:45:51 阅读数:1981 1.1. 什么是freemarker FreeMarker是一个用Java语言编写的模板引擎,它基于 ...

  2. 前端模块化(AMD和CMD、CommonJs)

    知识点1:AMD/CMD/CommonJs是JS模块化开发的标准,目前对应的实现是RequireJs/SeaJs/nodeJs. 知识点2:CommonJs主要针对服务端,AMD/CMD主要针对浏览器 ...

  3. Java注解(三)

    上一篇了解了自定义注解的使用,不过里面的例子没有多大使用价值,这一回来个有用点的Demo. 目标:将实体bean保存到数据库 先来定义一个实体注解 import java.lang.annotatio ...

  4. PHP错误日志和内存查看

    1.通过命令查看服务器上一共开了多少的 php-cgi 进程: ps -fe |grep "php-fpm"|grep "pool"|wc -l 2.查看FPM ...

  5. javascript元素跟随鼠标在指定区域运动

    元素跟随鼠标在指定区域运动通常是用在商城图片的放大镜中,下面是完整的Demo: <!DOCTYPE html> <html lang="en"> <h ...

  6. DOM增删操作(select动态增加和删除以及清空)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  7. 一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)

      概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间总结一下是值得的! 本文内容脑图如下: top 命令 top 命令我想大家都挺熟悉吧! ...

  8. linux 权限管理命令chown、chgrp、umask、linux新建文件或目录的默认权限755

    chown /bin/chownchown [用户] [文件或目录] 改变文件或目录的所有者只有root可以改变文件或目录的所有者 root用户:mkdir /tmptouch /tmp/test.f ...

  9. 【java8】慎用java8的foreach循环(作废)

    +警告 这篇文章作废掉,是由一个错误的测试方法得到的一个错误结论,后续修正结果正在测试,将贴上. 准确测试已完成:http://www.cnblogs.com/yiwangzhibujian/p/69 ...

  10. Oracle EBS 跳跳转标准销售订单程序转标准销售订单程序

    -- 打开PO PROCEDURE Btn_Open_Po IS BEGIN Fnd_Function.Execute(Function_Name => 'PO_POXPOEPO', Open_ ...