zoukankan      html  css  js  c++  java
  • 【linux之设备,分区,文件系统】

    一、设备

    IDE磁盘的设备文件采用/dev/hdx来命名,分区则采用/dev/hdxy来命名,其中x表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),
    y代表分区的号码(由1开始,12、3以此类推)  
    SCSI设备和分区采用/dev/sdx和/dev/sdxy来命名(x和y的命名规则与IDE磁盘一样)。IDE和SCSI光驱采用的是跟磁盘一样的命名方式。
    
    
    /dev/hda/表示第一个IDE接口的第一个硬盘设备(master) 
    /dev/hdb/表示第一个IDE接口的第二个硬盘设备(slave)
    /dev/hdc和/dev/hdd则是第二个IDE接口上的master和slave设备
    
    主分区占用了1到4号,逻辑分区从5开始算起
    
    1. /dev/hdc6:第二个IDE接口的master接口硬盘的第二个逻辑分区 
    2. /dev/sdb1:第二个SCSI接口硬盘的第1个主分区 
    3. 第二个IDE接口的master接口硬盘的第三个主分区:/dev/hdc3 
    4. 第五个SCSI接口硬盘的第三个逻辑分区:/dev/sde7
     字符设备
     console:本地物理控制台
     tty:虚拟终端
     ttys:串行虚拟终端
     pts/{0,1,2}:模拟终端设备(通过远程网络,例如Xshell)关联远程连接(TCP)会话
    who: 查看当前系统谁登录 
    w:查看谁登录,正在干什么
    whoami:查看当前登录的登录名
    last:所有用户在此计算机上曾经登录成功的用户名
    lastb:曾经登录失败的信息
    lastlog:显示一个给定用户的最近登录信息
    /var/log/wtmp:保存登录成功的信息   last
    /var/log/btmp:保存登录失败的信息  lastb
    sleep 5ls 等待5秒后执行ls
    
    ctrl+D 注销(exit)
     块设备
       能完成数据存储的功能。
       ram
       sd#(serial disk串行磁盘) 
       sr#(serial cdrom|dvdrom光盘)
       fd#(floppy disk软盘)
    元数据(没有文件名,文件名存放在目录中) 
    元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,
    用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
    固态硬盘,芯片存储,U盘(闪存)
    机械硬盘,磁头盘片  
    U盘存储速度:芯片的处理速度,接口标准,总线宽度
    磁盘管理,文件系统
    盘片,两面,磁性材料,两个磁头
    柱面,磁道,扇区
    最外圈,线速度最快,读取速度最快
    划分分区,从外面向里面划分
    操作系统安装在最靠近外边缘的分区。
    
    整个磁盘盘上头好像有多个同心囿绘制出的饼图,而由圆心以放射状癿方式分割出磁盘的最小储存单
    位,那就是扇区(Sector), 在物理组成分面,每个扇区大小为 512Bytes,这个值是不会改变的。而扇
    区组成一个圆就成为磁道(track), 如果是在多碟的硬盘上面, 在所有磁盘盘上面癿同一个磁道可以组
    成一个磁柱(Cylinder), 磁柱也是一般我仧分割硬盘时癿最小单位了!
    格式化
     高级格式化:在已经划分好的分区里面进行磁盘块以及元数据的创建(由文件系统进行操作)
     低级格式化:在硬盘式划分磁道
    文件系统在操作系统的内核里
    
    在linux里面,文件系统将磁盘分区划分为大小相等的若干磁盘块(block)(在windows里叫簇)
    块的大小只有三种标准:1024Byte,2048B,4096B(默认4096)
    元数据
    索引信息 
    索引节点(inode),索引位图(inode bitmap),块位图
    访问一个文件,/tmp/test/a.txt
    首先看是否存在,然后找索引节点号(ls -id /tmp),再找数据块
    文件夹里只有文件名和节点编号
    若文件没有节点编号,一定不存在
    一个inode可能对应很多块数据块

    添加磁盘

    虚拟机设置,添加硬盘(SCSI支持热插拔),创建新磁盘,存储为单个文件,完成。
    sda1:启动分区 sda2:交换分区 sda3:根分区
    
    为了是系统内核重新识别并创建新的设备文件,可以如下操作:
    echo " - - - " > /sys/class/scsi_host/host2/scan 重新识别硬盘
    
    添加新的磁盘设备之后使用新磁盘的操作步骤:
      1.划分分区
      2.创建文件系统
      3.创建卷标(可选)
      4.挂载(前提:有挂载点并且挂载点是空目录)
      
    cat /proc/partitions 现在的分区信息(blocks单位是1k)

     

    二、fdisk

    划分分区的命令:

       fdisk [选项] [设备名] 
            -l 显示分区信息,包含标准输出,标准输入
         command:
          n:添加新的分区
          d: 删除分区
          m:获得帮助菜单
          p:显示当前分区表
          q:不保存退出
          w:保存退出
          t:转换分区系统标识
    partprobe [设备名] 手动更新分区表
    partprobe /dev/sdb

     补充:

    判断文件是否为空
    touch a
    wc -l < a

    三、文件系统

    1、mkfs

    mkfs:make file system
    -t fstype

    当前系统可支持的文件系统

     ls /lib/modules/2.6.32-71.el6.i686/kernel/fs
    autofs4     cifs(普通的互联网文件系统)      dlm       ext2  fat(文件分配表)     gfs2  jffs2       nfs(网络文件系统)         nls       udf
    btrfs       configfs  ecryptfs  ext3(增加了日志系统)  fscache  jbd   lockd       nfs_common  squashfs
    cachefiles  cramfs    exportfs  ext4(单个文件大小更大了,块大小可自由调节,控制inode)  fuse     jbd2  mbcache.ko  nfsd        ubifs

    1个inode对应4块block

    mkfs -t ext2 = mkfs.ext2

    2、mke2fs

    mke2fs
         -t ext3/4:创建ext3/4类型文件系统
         -b:指定块大小,默认4096,可用取值1024,2048,4096
         -L LABEL:指定分区卷标(严格区分大小写)
         -m #:指定预留给超级用户的块数百分比
         -i #:用于指定为多少个字节的空间创建一个inode,默认16384,这里给出的数值应该为块大小的2^n倍;
         -N #:指定inode个数
         -F:强制创建文件系统
         -E:用户指定额外文件系统属性

    注意:别格式化扩展分区(扩展分区不能直接格式化),别格式化整个磁盘(会格式化MBR,分区表也没了)
    能创建系统的是主分区和逻辑分区

    mke2fs -b 2048 -i 4096 - L mydate /dev/sdb1

    3、blkid:查询或者查看磁盘设备的相关属性

    UUID:通用唯一的标识符号,标识分区设备,由CPU随机计算生成
    SEC_TYPE:辅助
    TYPE:文件系统类型
    LABEL:卷标

    4、e2label:修改卷标

    e2label /dev/sdb2 "hx"

    5、tune2fs:调整文件系统的相关属性

    -j:不损害原有数据,将ext2升级为ext3
    -L LABEL:设定或修改卷标
    -m #:调整预留百分比
    -r #:指定预留块数
    -o:设定默认挂载选项
    acl
    -c #:指定挂载次数达到#次后进行自检,0或-1表示关闭此功能
    -i #:每挂载多少天后进行自检,0或-1表示关闭此功能
    -l:显示超级块中的信息

    dumpe2fs:显示文件属性信息
    -h:只显示超级块中的信息


    6、fsck:检查并修复linux文件系统

    -t FSTYPE:指定文件系统类型
    -a:自动修复


    7、e2fsck:专用于修复ext2/ext3文件系统

    -f:强制检查
    -p:自动修复
  • 相关阅读:
    JSP技术
    Eclipse中新建Maven Web项目报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    Zuul【文件上传】
    Zuul【限流】
    Zuul【自定义Filter】
    Zuul【工作原理】
    Zuul【基础配置】
    Zuul【入门】
    Hystrix【参数配置及缓存】
    Hystrix【异常机制处理】
  • 原文地址:https://www.cnblogs.com/smallmars/p/8466480.html
Copyright © 2011-2022 走看看