1、windows 和linux文件类型的区别
windows 里是通过扩展名来区分文件类型的;linux里文件扩展名和文件类型没有关系,为了容易区分和箭筒用户使用的windows的习惯,我们也会用扩展名来表示linux文件类型,linux 系统中,一切皆文件。
2、linux系统查看文件类型
[root@backup ~]# ls -l 总用量 72556 -rw-------. 1 root root 1104 7月 6 00:51 anaconda-ks.cfg -rw-r--r-- 1 root root 1083 5月 15 2015 epel-6.repo -rw-r--r--. 1 root root 22179 7月 6 00:51 install.log -rw-r--r--. 1 root root 5890 7月 6 00:50 install.log.syslog 其中-rw-r--r-- 开头的第一个“-”表示文件的类型
3、文件权限位介绍
的文件或目录的权限和用户及用户组的关系很大,linux系统中每个文件或目录都有一组共9个基础权限位,每三个字符被分为一组,分别是属主权限位,属组权限位和其他用户权限位。
下边的图可以很直接的介绍出九个权限位。
3、linux中常见的系统文件类型
4、inode节点与block介绍
磁盘==》分区==》格式化(创建文件系统)==》挂载 只用经过这四个步骤硬盘才可以正常使用
磁盘在进行分区格式化的是,会生成两部分,一部分是inode节点(很多个),另一部分是block(很多个)
inode:
inode 就是用来储存这些数据属性信息的(ls –l 的结果),inode包含的文件属性信息有大小、数组、归属的用户组、读写权限、文件类型和修改时间,还包含指向文件实体的指针的功能(inode 节点—block 的对应关系)等,但是inode唯独不包含文件名,inode 存储空间: 256字节/每个
block:
block就是存储空间,是存储真正存放数据的,例如:照片,视频等普通文件数据。
inode 相当于目录,block 相当于书的内容,整本书相当于磁盘。
inode 除了记录文件属性以外,还会为每个文件建立信息索引,所以就有了inode数值。操作系统根据指令,即可通过inode的值最快的找到相对应的文件实体,文件、inode、block之间的关系可以用下图来表示:
5、查看inode节点和block信息
使用dumpefs 查看:
1、查看inode节点 [root@oldboy ~]# dumpe2fs /dev/sda3 | grep -i "blocksize" dumpe2fs 1.41.12 (17-May-2010) Block size: 4096 [root@oldboy ~]# dumpe2fs /dev/sda3 |grep -i "inode size" dumpe2fs 1.41.12 (17-May-2010) Inode size: 256 使用df 查看: [root@oldboy ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 593344 55847 537497 10% / tmpfs 125596 1 125595 1% /dev/shm /dev/sda1 51200 38 51162 1% /boot 查看inode节点号 [root@backup ~]# ls -lhi 总用量 71M 927186 -rw-------. 1 root root 1.1K 7月 6 00:51 anaconda-ks.cfg 915719 -rw-r--r-- 1 root root 1.1K 5月 15 2015 epel-6.repo 915714 -rw-r--r--. 1 root root 22K 7月 6 00:51 install.log 915715 -rw-r--r--. 1 root root 5.8K 7月 6 00:50 install.log.syslog 2、查看block 的大小 [root@oldboy~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.5G 7.0G 17% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 190M 36M 145M 20% /boot
inode小结:
1)磁盘分区格式化ext4文件系统后会生成一定数量的inode和block
2)inode是索引节点,作用是存放文件的属性信息以及作为文件的索引(指向文件的实体)
3)ext3 ext4 文件系统的block存放的是文件对的实际内容
4)inode是一块存储空间,C6非启动分区inode默认大小256字节。C5是128字节
5)inode是一串数字,不同的文件对用的inode(一串数字)在文件系统里是唯一的
6)inode相同的文件,互为硬链接文件(一个文件的两个入口)
7)一个文件被创建后至少要占用一个inode和一个block
8)block的大小一般有1k,2k,4k几种。其中引导分区等为1K,其他普通分区为4k(C6)
9)如果一个文件很大,可能占多个block,如果文件很小,至少占一个block,并且剩余空间浪费了。
10)inode大小和总量查看
[root@oldboy/]# dumpe2fs /dev/sda3|egrep -i"block size|Inode size"
[root@oldboy/]# dumpe2fs /dev/sda3|egrep -i"block count|Inode count"
11) 查看inode的总量和使用量命令
df -i
12)如何生成及指定inode大小
格式化命令:mkfs.ext4 -b 2048 -I 256 /dev/sdb
block小结:
1)磁盘读取数据是按block为单位读取的
2)一个文件可能占用多个block,没读取一个block就会消耗一次IO
3)如果要提升IO的性能,那么就要尽可能一次性读取数据尽量多
4)一个block只能该存放一个文件的内容,无论内容有多少,如果block 4K,那存放1K的文件,就剩余3K浪费了
5)block 并非越大越好,block太大对于小文件存放就会浪费磁盘空间。例如:1000K的文件,block为4K,占用250个block,block为1K,占用1000个block,访问效率谁更高,消耗IO分为为250次和1000次
6)根据也无需求,确定默认的block大小,如果是大文件(大于16K )一般设置block大一点,小文件(小于1k)一般设置block小一点
7)block太大,例如4K,文件都是1K的,大大的浪费了磁盘空间,但是访问性能高
8)block太小,例如:1K,文件都是100K,消耗大量的IO
9)block大小设置也是格式化分区时候确定的,命令mkfs.ext4 -b 2048 -I 256 /dev/sdb
10)企业里文件都会比较大(一般都会大于4K)block设置大一些会提升磁盘的访问效率
11)ext3/ext4 文件系统(centos 5 和6 ),一般都设置为4K