一个有趣的问题:ls -l显示的内容中total究竟是什么?
当我们在使用ls -l的命令时,我们会看到例如以下类似的信息。
非常多人可能对于第一行的total 12的数值并非非常在意,可是你是否想过,它到底是什么意思?
man中的说明,我们能够看出total的意思为 “所列出内容的磁盘占用空间总和值。
单位为kbytes"
这句话是什么意思?
我们知道ls -l列出的第5列数值是该文件或文件夹的大小。
在这里文件夹的大小并不是是文件夹所包括的文件的总大小。
而不过文件夹自身的大小。
假设你无法理解这一概念。请思考一下”linux中一切皆文件“这句话的含义。
那么,也就是说图中的total 12k 应该等于767+4096+4096的值。我们计算一下。看看是不是如此。
767+4096+4096=8959 那么这里的单位当然是bytes。所以我们换算成k,则数值为8959/1024=8.74902k
那么显然 12 ≠8.74902
但为什么total却是“所列出内容的磁盘占用空间总和值。"? 请注意当中的“占用”二字,何为占用?
我们知道文件系统中是有block(块)的概念的。块就像一间间屋子。假设你得文件系统中存的都是一些较大的文件,那么使用较大的block会得到较好的性能。反之亦然。
那么数据在存放过程中占领的block的大小就是 “占用”的空间。
那么8.74902占用多少个block呢?
我们还是要看一看系统中的block究竟是多大。
我们有两种方法来进行查看。如图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXBhY2hlMDU1NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这样我们知道了,系统中1个block的大小是4k。那么8.74902k占用多少个block?
显然占用了3个block,尽管第三个block中仅仅存了0.74902k的数据,可是它依旧要占用一个block空间。
所以total 显示的占用空间就是 3*block = 3*4k = 12k
你明确了吗?
一个有趣的问题:ls -l显示的内容中total究竟是什么?的更多相关文章
- linux下目录大小为什么是4K?一个目录下最多有个多少个子目录?最多有多少个文件?ls -l显示的内容中total到底是什么?
子目录数太多,会影响搜索性能. 在同一个路径下,一级子目录的个数限制为31998,如果你的应用生成的目录可能会超过这个数,那要注意进行目录分级.例如,如果目录名为数字的话,可以将数字除以10000后的 ...
- ls -l 显示年份
默认情况下ls -l命令只显示月和日,不显示年份: $ ls -llrwxrwxrwx 1 root root 7 Feb 27 16:12 bin -> usr/bin 如要要显示年份,就要使 ...
- Linux命令 ls -l s输出内容含义详解
1. ls 只显示文件名或者文件目录 2. ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可能会显示如下信息: 文件属性(占10个字符空间) ...
- linux ls -l 详解
转自:http://blog.csdn.net/sjzs5590/article/details/8254527 (原文转自http://hi.baidu.com/yzzcheng/item/1a21 ...
- 【转】linux ls -l的详解
原文:http://blog.csdn.net/sjzs5590/article/details/8254527 以root的家目录为例: 可以看到,用ls -l命令查看某一个目录会得到一个7个字段的 ...
- ls -l 和du 的区别
编程之路刚刚开始,错误难免,希望大家能够指出. 简单的来说,ls -l 显示的是实际文件(目录)大小,而du显示的是文件(目录)占用磁盘空间的大小. linux下一切皆文件. 首先,硬盘的最小存储单位 ...
- Linux命令 ls -l 输出内容含义详解
Linux命令 ls -l s输出内容含义详解 1. ls 只显示文件名或者文件目录 2. ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可 ...
- linux:ls、ls -l、ls -al区别 示例
linux:ls.ls -l.ls -al区别 示例 比如test文件夹下有一个test文件.一个.文件夹.一个..文件夹. 则,执行三个命令后,显示效果如下: [root@linuxserver t ...
- Linux系统编程【3.2】——ls命令优化版和ls -l实现
前情提要 在笔者的上一篇博客Linux系统编程[3.1]--编写ls命令中,实现了初级版的ls命令,但是与原版ls命令相比,还存在着显示格式和无颜色标记的不同.经过笔者近两天的学习,基本解决了这两个问 ...
随机推荐
- React和webpack解决 waiting for roots to load...to reload the inspector
使用chrome调试工具,react-devtools总是显示 "waiting for roots to load...to reload the inspector" and ...
- PHP-碎片知识 $_SERVER['argv']
1.cli模式(命令行)下,第一个参数$_SERVER['argv'][0]是脚本名,其余的是传递给脚本的参数 2.web网页模式下 在web页模式下必须在php.ini开启register_argc ...
- js【table】合并行,合并列
eg: function hbh() { var tab = document.getElementById("tableID"); var maxCol = 2, val, co ...
- 题解 洛谷P4035/BZOJ1013【[JSOI2008]球形空间产生器】
题目链接在这QvQ "你要求出这个n维球体的球心坐标",这使我想到的解方程...... 先假设n=2,这是一个二维平面.设圆心的坐标为\((x,y)\),有两个坐标\((a_1,b ...
- 大项目之网上书城(六)——个人页面和书页面Demo
目录 大项目之网上书城(六)--个人页面和书页面Demo 主要改动 1.user.jsp 代码 效果图 user.js 代码 3.shu.jsp 代码 效果图 4.其他小改动 LoginServlet ...
- js 技巧 (十)广告JS代码效果大全 【3】
3.[允许关闭] 与前面两个代码不同的是,广告图下方增加了一个图片按纽,允许访客点击关闭广告图片,下面文本框中就是实现效果所需代码: var delta=0.015; var coll ...
- CentOS虚拟机挂载Windows共享目录
Windows文件共享使用了SMB协议(又称CIFS协议),该协议主要提供了文件共享和打印共享功能,分别使用TCP 139和445端口.UNIX.Linux系统提供了该协议的开源实现samba.为了方 ...
- 转盘抽奖 canvas & 抽奖 H5 源码
转盘抽奖 canvas https://github.com/givebest/wechat-turntalbe-canvas https://blog.givebest.cn/GB-canvas-t ...
- 关于iphone 微信浏览器编码问题
这个问题最终没有完美的解决,给出的一个解决方法是返回一个html文档.
- 2k进制数(codevs 1157)
题目描述 Description 设r是个2k进制数,并满足以下条件: (1)r至少是个2位的2k进制数. (2)作为2k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为 ...