操作系统文本文件硬盘存储空间大小与内容的关系
目标 了解测试数据的时候,一个文本文件在磁盘中所占空间的大小。
注: 本文信息统计 基于mac 操作系统。
Mac操作系统总结:
空文件 占用0字节
英文字符([email protected]#$%^&*()_+ 回车 空格 )普遍占用1个字节
中文普遍占用3个字节
CentOS操作系统总结:
空文件 占用1字节 (与mac的区别)
英文字符([email protected]#$%^&*()_+ 回车 空格 )普遍占用1个字节
中文普遍占用3个字节
英文:
中文:
-----------------------------------------------------------以下为测试过程-----------------------------------------------------------
1.建立一个没有内容的空文件
------------------------------------------------------------------------------------------------------------------------------------
bogon:data sysadmin$ ls -al
-rw-r--r--@ 1 sysadmin wheel 0 2 12 09:43 empty.txt
结论: 建立一个没有内容的空文件,内容显示占用0字节。 文件句柄没在存储的显示之中。
------------------------------------------------------------------------------------------------------------------------------------
2.建立一个空的文件夹
bogon:data sysadmin$ ls -al
total 16
drwxr-xr-x 3 sysadmin wheel 96 2 12 09:58 .
[email protected] 1 sysadmin wheel 6148 2 12 09:58 .DS_Store
------------------------------------------------------------------------------------------------------------------------------------
文件夹中1个空文件
bogon:data sysadmin$ ls -al
total 16
drwxr-xr-x 4 sysadmin wheel 128 2 12 10:00 .
drwxrwxrwx 18 sysadmin wheel 576 2 12 09:45 ..
[email protected] 1 sysadmin wheel 6148 2 12 09:58 .DS_Store
[email protected] 1 sysadmin wheel 0 2 12 09:43 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件夹中2个空文件
bogon:data sysadmin$ ls -al
total 16
drwxr-xr-x 5 sysadmin wheel 160 2 12 10:00 .
drwxrwxrwx 18 sysadmin wheel 576 2 12 09:45 ..
[email protected] 1 sysadmin wheel 6148 2 12 09:58 .DS_Store
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 2.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件夹中3个空文件
bogon:data sysadmin$ ls -al
total 16
drwxr-xr-x 6 sysadmin wheel 192 2 12 10:00 .
drwxrwxrwx 18 sysadmin wheel 576 2 12 09:45 ..
[email protected] 1 sysadmin wheel 6148 2 12 09:58 .DS_Store
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 2.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 3.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件夹中4个空文件
bogon:data sysadmin$ ls -al
total 16
drwxr-xr-x 7 sysadmin wheel 224 2 12 10:00 .
drwxrwxrwx 18 sysadmin wheel 576 2 12 09:45 ..
[email protected] 1 sysadmin wheel 6148 2 12 09:58 .DS_Store
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 2.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 3.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 4.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件夹中5个空文件
bogon:data sysadmin$ ls -al
total 16
drwxr-xr-x 8 sysadmin wheel 256 2 12 10:00 .
drwxrwxrwx 18 sysadmin wheel 576 2 12 09:45 ..
[email protected] 1 sysadmin wheel 6148 2 12 09:58 .DS_Store
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 2.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 3.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 4.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data 5.txt
[email protected] 1 sysadmin wheel 0 2 12 09:43 data.txt
------------------------------------------------------------------------------------------------------------------------------------
总结:
初始化一个文件夹的时候, 文件夹占用大小为 96 字节 每增加一个文件, 增加32字节大小
3.文件中加入数字
------------------------------------------------------------------------------------------------------------------------------------
文件中加入1个数字:
[email protected] 1 sysadmin wheel 1 2 12 10:27 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入2个数字:
[email protected] 1 sysadmin wheel 2 2 12 10:27 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入3个数字:
[email protected] 1 sysadmin wheel 3 2 12 10:27 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入6个数字:
[email protected] 1 sysadmin wheel 6 2 12 10:27 data.txt
------------------------------------------------------------------------------------------------------------------------------------
结论:
每一个数字占用1个字节
4.文件中加入换行
------------------------------------------------------------------------------------------------------------------------------------
文件中加入1个换行符:
[email protected] 1 sysadmin wheel 1 2 12 10:31 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入2个换行符:
[email protected] 1 sysadmin wheel 2 2 12 10:31 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入3个换行符:
[email protected] 1 sysadmin wheel 2 2 12 10:31 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入4个换行符:
[email protected] 1 sysadmin wheel 4 2 12 10:32 data.txt
------------------------------------------------------------------------------------------------------------------------------------
结论:
每增加一个换行符,增加一个字节
5.文件中加入中文
------------------------------------------------------------------------------------------------------------------------------------
文件中放入1个中文:
[email protected] 1 sysadmin wheel 3 2 12 10:34 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中放入2个中文:
[email protected] 1 sysadmin wheel 6 2 12 10:35 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中放入4个中文:
[email protected] 1 sysadmin wheel 12 2 12 10:35 data.txt
------------------------------------------------------------------------------------------------------------------------------------
结论:
每增加一个汉字, 增加3个字节。
------------------------------------------------------------------------------------------------------------------------------------
6.文件中加入英文逗号 【,】
------------------------------------------------------------------------------------------------------------------------------------
文件中加入1个英文逗号
[email protected] 1 sysadmin wheel 1 2 12 10:39 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入2个英文逗号
[email protected] 1 sysadmin wheel 2 2 12 10:39 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入4个英文逗号
[email protected] 1 sysadmin wheel 4 2 12 10:39 data.txt
------------------------------------------------------------------------------------------------------------------------------------
结论:
每增加一个英文符号, 增加1个字节。
------------------------------------------------------------------------------------------------------------------------------------
7.文件中加入一个中文逗号 【,】
------------------------------------------------------------------------------------------------------------------------------------
文件中放入1个中文逗号:
[email protected] 1 sysadmin wheel 3 2 12 10:34 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中放入2个中文逗号:
[email protected] 1 sysadmin wheel 6 2 12 10:35 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中放入4个中文逗号:
[email protected] 1 sysadmin wheel 12 2 12 10:35 data.txt
------------------------------------------------------------------------------------------------------------------------------------
结论:
每增加一个中文逗号, 增加3个字节。
8.文件中加入一个英文括号 【 ( 】
------------------------------------------------------------------------------------------------------------------------------------
文件中加入1个英文括号
[email protected] 1 sysadmin wheel 1 2 12 10:39 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入2个英文括号
[email protected] 1 sysadmin wheel 2 2 12 10:39 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中加入4个英文括号
[email protected] 1 sysadmin wheel 4 2 12 10:39 data.txt
------------------------------------------------------------------------------------------------------------------------------------
结论:
每增加一个英文括号, 增加1个字节。
9.文件中加入一个中文括号 【 ( 】
------------------------------------------------------------------------------------------------------------------------------------
文件中放入1个中文括号:
[email protected] 1 sysadmin wheel 3 2 12 10:34 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中放入2个中文括号:
[email protected] 1 sysadmin wheel 6 2 12 10:35 data.txt
------------------------------------------------------------------------------------------------------------------------------------
文件中放入4个中文括号:
[email protected] 1 sysadmin wheel 12 2 12 10:35 data.txt
------------------------------------------------------------------------------------------------------------------------------------
结论:
每增加一个中文括号, 增加3个字节。
MAC大总结:
英文字符([email protected]#$%^&*()_+ 回车 空格 )普遍占用1个字节
中文普遍占用3个字节
验证1. :
一行3个中文 , 100行占用空间大小:
计算步骤:
1. 一个中文3个字节, 一行三个中文, 共9个字节, 一百行的话, 占用900个字节。
2. 每行有一个回车, 一个回车占用了1个字节, 一百行的话,占用99个字节。
3. 步骤1,步骤2数值相加: 900+99 = 999 字节
验证:
[email protected] 1 sysadmin wheel 1000 2 12 10:50 data.txt
验证2. :
多少个中文一行能占用1k的大小。
1024 / 3 = 341 余 1个字符。 说以 341个中文+1个换行符就好了
验证:
[email protected] 1 sysadmin wheel 1024 2 12 12:12 data.txt
验证3. :
1M大小的文件,需要多少行? 多少个中文? (中文一行占用1k大小)
1M = 1024kb = 1048576 bytes
也就是说1025行正好占用1M空间 ( 1024行 + 一个换行符 共1025行 )
每行341个中文,1024行 = 349184
理论值: 34 9525 余 1 将近35万个汉字。
验证:
[email protected] 1 sysadmin wheel 1048576 2 12 12:18 data.txt
验证三:
每个节点每分钟1Kb数据,100万个节点,一天 产生多少数据
每分钟1Kb数据, 100万个节点, 一分钟 100万Kb 数据。
一天24小时 ,每小时60分钟, 那么一天是1440分钟
1440 * 100万Kb = 144000 万kb = 1440000000 kb = 1406250 MB = 1373.29 G = 1.34TB
记录一个数值:
1G ≈ 104.8万kb
1G ≈ 10.7亿 Bytes