1、文件系统
文件系统是操作系统用于明确存储和组织计算机数据的方法。即对同一个存储设备上的数据进行组织的机制。使得对数据的访问和查找变得容易。
包括文件的构造、命名、访问、使用、保护、实现和管理方式。
1.文件
储存在硬盘上,硬盘的最小储存单位叫做扇区,每个扇区512字节。
文件数据包括实际数据与元信息(文件属性)。文件数据存储在“块”中,存储文件元信息(如:创建者,创建日期,文件大小,文件权限等)的区域叫inode。因此,一个文件必须占用一个inode且最少占用一个块(block)。
2.block“块”
一般连续八个扇区组成一个“快”,一个块是4k大小,是文件存取的最小单位。操作读取硬盘时,是一次性读取多个扇区,也就是一个块一个块的读取。
3.inode(索引节点)
inode不包含文件名。文件名是存放在目录中的。(目录也是文件)用来存储文件元信息。
每个inode都有一个号码,linux内部不使用文件名,操作系统通过inode号识别文件。文件名就是inode号的别称,且是一一对应的关系。
每个inode号大小一般是128字节或256字节。
4.结论
用户在linux系统中访问文件时,系统会根据文件名查找对应的inode号,通过inode号获得inode信息,根据inode信息是否具有访问权限,有权限就指向对应数据的block,并读取数据,若没有权限就返回,访问失败。
2、linux的磁盘管理
1、简介
硬盘分区实质上是对硬盘的一种格式化,可以更好的管理数据。
fdisk -l 查看分区
2 分区管理 df du
Linux磁盘管理常用三个命令为df、du和fdisk。
- df:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。【-h -i -a -s -h】- du:检查磁盘空间使用量,对文件和目录磁盘使用的空间的查看。
2.1 查看打开的文件
lsof ,必须以root用户运行,默认显示所有进程打开的所有文件
3 创建新的分区:fdisk【设备名】
fdisk 是 Linux 的磁盘分区表操作工具,可以查看分区、创建分区等
fdisk [-l] 装置名称,输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
找出你系统中的根目录所在磁盘,并查阅该硬盘内的相关信息[root@www ~]# df / <==注意:重点在找出磁盘文件名而已Filesystem 1K-blocks Used Available Use% Mounted on/dev/hdc2 9920624 3823168 5585388 41% /[root@www ~]# fdisk /dev/hdc <==仔细看,不要加上数字喔!The number of cylinders for this disk is set to 5005.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)Command (m for help): <==等待你的输入!
Command (m for help): m <== 输入 m 后,就会看到底下这些命令介绍Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partition <==删除一个partitionl list known partition typesm print this menun add a new partition <==新增一个partitiono create a new empty DOS partition tablep print the partition table <==在屏幕上显示分割表q quit without saving changes <==不储存离开fdisk程序s create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exit <==将刚刚的动作写入分割表x extra functionality (experts only)
4 磁盘格式化
fdisk:用于磁盘分区(查看分区情况、创建分区等)磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单
mkfs [-t 文件系统格式] 装置文件名
选项与参数:
- -t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)
实例 1
查看 mkfs 支持的文件格式[root@www ~]# mkfs[tab][tab]mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat按下两个[tab],会发现 mkfs 支持的文件格式如上所示。
实例 2
将分区 /dev/hdc6(可指定你自己的分区) 格式化为 ext3 文件系统:[root@www ~]# mkfs -t ext3 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label= <==这里指的是分割槽的名称(label)OS type: LinuxBlock size=4096 (log=2) <==block 的大小配置为 4KFragment size=4096 (log=2)251392 inodes, 502023 blocks <==由此配置决定的inode/block数量25101 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=51589939216 block groups32768 blocks per group, 32768 fragments per group15712 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912Writing inode tables: doneCreating journal (8192 blocks): done <==有日志记录Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 34 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.# 这样就创建起来我们所需要的 Ext3 文件系统了!简单明了!
5 手动挂载文件系统
挂载:将文件系统和目录树结合起来
[root@www ~]# mkdir /mnt/hdc6[root@www ~]# mount /dev/hdc6 /mnt/hdc6[root@www ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on.....中间省略...../dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6
6 磁盘卸载命令 umount 语法:
umount [-fn] 装置文件名或挂载点
选项与参数:
- -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;- -n :不升级 /etc/mtab 情况下卸除。
卸载/dev/hdc6
[root@www ~]# umount /dev/hdc6
3、Linux 系统目录结构


