硬盘
Linux系统位于计算机的磁盘部分(就当作硬盘)通过IDE/SATA/USB之类的接口和CPU相连。
IDE连接的硬盘文件名:/dev/hd[a-d]
SATA/SCSI/USB连接的硬盘文件名:/dev/sd[a-p]
(IDE理论极限是133Mbps,SATA是目前主流)
硬盘的核心是盘片。盘片的最小组成是扇区(512字节)。扇区组成的圆为磁道。
对于多硬盘,同一个磁道成为柱面,是多硬盘的最小单位。
硬盘容量通常以10进制来写,算存储时需要换算。
磁盘
第一个扇区记录了主引导分区MBR(446byte)和分区表(64byte)
分区表的64byte记录了四组:/dev/hda[1-4]各自的开始柱面和结束柱面。
扩展分区最多一个,可以通过对扩展分区进行逻辑分区再次划分。
分区表通过fdisk查看
数据同步到硬盘sync
检修时fsck
df和du查看磁盘的使用情况
以上是相对 比较 常用的几个命令
新增磁盘的动作
分区fdisk;格式化mkfs;创建文件系统并检验fsck ;创建挂载点并挂载mount。
开机过程
开机时会通过BIOS(写入硬件的基本程序)读MBR(有Boot Loader),MBR去找Linux内核,完成系统加载。
(安装 Windows的时候会覆盖MBR,所以要搞双系统尽量先Win再Linux)
加载Linux系统的时候可以把磁盘也顺便挂载了,挂载的文件在/etc/fstab,这个文件会说明哪些设备会被挂载到哪个目录。
目录
Linux下一切数据皆为文件。文件以目录树的形式存储。
文件系统通过挂载mount的形式绑定到某个目录下。
查找
whereis和locate从数据库中找
(updatedb可以更新 这个数据库)
find从硬盘里查找,所以相对会慢很多。
文件系统
用户进程访问到系统调用界面后,由vfs管理文件系统进行读取。(发生在操作系统的内核)
linux的标准文件系统是ext3/2,为了使操作系统能够读取,硬盘需要格式化到正确的文件系统。
文件系统一般由三部分组成,查看方式dumpe2fs
super block:存放总量/使用/剩余
inode(128字节):记录文件的权限和属性,以及文件所在的block号码
block:记录文件的内容。(大文件可能占用多个block)
以/etc为例,
先读/的inode,找到对应的block,确定是否有权限读取
然后从block里找到etc的inode号码
读/etc的inode确认权限,读出结果。
hard link:新建一条文件名 连接到某个inode号码,换句话说同一个内容可能拥有多个文件名。
这种情况下删除一个文件名之后,内容仍然可以找到。通过ln命令实现。
而ln -s情况下建立的是快捷方式符号连接。
网友评论