zoukankan      html  css  js  c++  java
  • linux之磁盘分区与文件系统

    磁盘分区与文件系统
    CPU
    I/O
    接口类型:
    IDE:两块设备,有主有从
    SCSI:并口:可以接多块设备
    硬盘:
    机械硬盘:
    扇区:一个扇区512字节
    磁道:盘片上有很多的磁道,由外而内。(每一面都有磁性物质)
    磁头臂:用来定位磁道
    柱面:
    分区划分基于柱面划分
    设备类型:
    块(block):随机访问,数据交换单位是“块"
    字符(character):线性访问,数据交换单位是“字符”
    /dev
    设备文件:关联至设备的驱动程序;设备的访问入口;
    设备号:
    major:主设备号,区分设备类型;用于标明设备所需要的驱动程序
    minor:次设备号,区分同种类型下的不同的设备:是特定设备的访问入口
    mknod命令:
    建立块专用或字符专用文件
    分区:
    /dev/sda
    注:Centos6/7将硬盘设备文件标识为/dev/sd[a-z]
    磁盘分区:
    MBR:主引导记录
    分为三部分:
    前446字节:用来引导启动操作系统的程序
    后64字节:分区表:每16字节标识一个分区,一共只能有4个分区
    最后2字节:MBR区域的有效性标识;55AA为有效
    主分区和扩展分区的标识:1-4
    逻辑分区;5+
    fdisk命令:
    -l:列出磁盘设备上的分区情况
    管理分区:
    fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘上
    常用命令:
    n:创建新分区
    d:删除已有分区
    t:修改分区类型
    1:查看所有已经ID
    w:保存并退出
    q:不保存并退出
    m:查看帮助信息
    p:显示现有分区信息
    注意:在已经分区井且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别
    查看:cat /proc/partitions
    通过内核强制重读磁盘分区表:
    Centos7:partx,kpartx
    partx -a [device]
    分区创建工具:parted、sfdisk
    创建文件系统
    格式化:低级格式化(分区之前进行,划分磁道).高级格式化(分区之后对分区进行,创建文件系统)
    元数据区.数据区
    元数据区:
    文件元数据: inode (index node)
    大小权限、属主属组、时间戳…
    VFS: Virtual Fle System
    linux的文件系统: ext2, ext3, ext4, xfs, relserts, btrts
    光盘: iso9660
    网络文件系统: nfs, cifs
    集群文件系统: gfs2, ocfs2
    内核极分布式文件系统: ceph
    windows的文件系统: vfat, ntfs
    伪文件系统: proc, sysfs, tmpfs, hugepagets
    Unix的文件系统: UFS,FFS, JFS
    交换文件系统: swap
    用户空间的分布式文件系统: moglefs, moosefs, glusterfs
    文件系统管理工具:
    创建文件系统的工具
    mkfs:
    mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs., …
    检测及修复文件系统的工具
    fsck:
    fsck.ext2, fsck.ext3, …
    链接文件:访问同一个文件不同路径
    硬链接:指向同一个inode的多个文件路径
    特性:
    目录不支持硬链接
    不能跨文件系统
    创建硬链接会增加inode引用次数
    链接文件---->内存地址<----原文件
    符号链接:指向一个文件路径的另一个文件路径
    特性:
    符号链接与文件是两人个各自独立的文件,各有自己的inode对原文件创建符号链接不会增加引用计数
    支持对目录创建符号链接,可以跨文件系统
    删除符号链接文件不影响原文件:但删除原文件,符号指定的路径即不存在,此时会变成无效接链
    链接文件---->原文件---->内存地
    内核级文件系统的组成部分:
    文件系统驱动:由内核提供
    文件系统管理工具:由用户空间的应用程序提供
    ext系列文件系统的管理工具
    mkfs.ext4…
    swap交换系统:
    linux交换分区必须使用独立的文件系统,且文件系统的system ID必须为82
    创建swap设备:
    mkswap:
    -l:指定卷标
    -f:强制
    windows无法识别linux的文件系统:因此,存储设备需要两种系统之间交叉使用时,应该使用windows和Lnux同时支持的文件系统: fat32(vfat)
    mkfs.vfat device

    文件系统的使用
        首先要“挂载”: mount命令和umount命令
        根文件系统外的其它文件系统要想能够被访问,都必须通过“关联"至根文件系统上的某个目录来实现,此关联操作即为“挂载" 此目最即为“挂载点”
        挂载点:mount_point,用于作为另一个文件系统的访问入口
    		(1)事先存在
    		(2)应该使用未被或不会被其它进程使用到的目录
    		(3)挂载点下原有的文件将会被隐藏
        mount命令:
            命令选项:
                -a:更新挂在信息
    			-r:只读挂载
    			-w:读写挂载
    			-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中: n用于禁止此特性
        查看当前系统所有已挂载的设备:
             mount
    		 cat /etc/mtab
    		 cat /proc/mounts
        umount命令:
            卸载挂载点
            注意:正在被进程访问到的挂载点无法被卸载
            查看被哪个或哪些进程所占用:
                 Isof MOUNT POINT
    			fuser -v MOUNT_POINT
    			终止所有正在访问某挂载点的进程:
    			fuser -km MOUNT_POINT
    	交换分区的启用和禁用:
    	    创建交换分区的命令: mkswap
    	    启用: swapon
    	        swapon (OPTION] (DEVICE]
    	            -a:定义在/etc/tstab文件中的所有swap设备
    	    禁用:swapoff
    	        swapoff device
    
    
        设定除根文件系统以外的其它文件系统能够开机时自动挂载: /et/tstab文件
    	    每行定义一个要挂载的文件系统及相关属性:
    			6个字段:
    			    (1)要挂载的设备:
    			        设备文件:
    			            LABEL
    			            UUID
    			            伪文件系统:如sysfs, proc, tmpfs等
    				(2)挂载点
    					swap类型的设备的挂载点为swap
    				(3)文件系统类型:
    				(4)挂载选项
    					defaults:使用默认挂程选项
    					如果要同时指明多个挂载选项,彼此间以逗号分隔
    					defaults,acl,noatime,noexec
    			    (5)转储频事
    					0: 从不备份
    					1:每天备份
    					2:每隔一天备份
    				(6)自检次序
    					0:不自检
    					1:首先自检,通常只能是根文件系统可用1
    					2:次级自检
                        ......
                注:通过blkid命令查看分区的uuid
        df与du命令
            df命令:查看文件系统磁盘空间的使用情况
            du命令:查看磁盘空间的使用情况(文件的大小)
                -sh:查看具体的所占空间的大小
                    注:ls -lh 显示目录大小
    
  • 相关阅读:
    linux十九压缩解压
    linux第十八dd命令
    【51单片机】数据类型
    【博客园】
    【C++】简介与环境的搭建
    【树莓派】安装TeamViewer
    【树莓派】Makefile的编写
    【cJSON库】cJSON库的使用
    【树莓派】忘记系统用户密码,如何重置密码
    【树莓派】树莓派与PC机通信
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12790015.html
Copyright © 2011-2022 走看看