Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152448
  • 博文数量: 40
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 908
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-03 11:03
个人简介

学习linux

文章分类
文章存档

2014年(7)

2013年(33)

我的朋友

分类: LINUX

2013-09-07 00:50:20

1. 磁盘基础
    磁盘最小单元为扇区512字节,扇区形成一个圆(磁柱),是分割槽的最小单元,比如第一个分区从第几磁柱到第几磁柱;第一个扇区
    很重要,有MBR(446字节)和分区表(64字节),还有两个字节标志是否作为启动盘。

    /dev/hd[a-d][1-63],用来表示IDE接口的磁盘。
    /dev/sd[a-p][1-15],用来表示SCSI,USB,SATA等等的磁盘。

2. 文件系统基础
    例如Ext2的索引式文件系统,用superblock,inode,datablock组成,查找文件时会由inode找到datablock,就可以读取所有datablock
    了,而superblock则是记录整个文件系统的信息。而FAT文件系统没有inode,主要根据一张记录block位置的表,比如读取一个文件,就会
    找到A block,再读B block,直到表的某一项显示读完了。这样效率低一些。也经常更需要碎片整理。
    Ext2为了更好管理,将一个分区又分为bootsector+block groups(所以每个分区都可以有启动程序:多启动),每个block group有自己
    的superblock,inode,datablock组成,格式化时就已经确定了block的大小,一般为4KB。

    可以用 df 看挂载点的装置:(/dev/shm是内存虚拟的磁盘)

点击(此处)折叠或打开

  1. [root@archer ~]# df
  2. 文件系统     1K-块 已用 可用 已用% 挂载点
  3. /dev/sda10 101594496 13333228 83100516 14% /
  4. tmpfs 940788 272 940516 1% /dev/shm
  5. /dev/sda7 198337 73070 115027 39% /boot
  6. /dev/sda8 15118728 1776552 12574176 13% /home
    用dumpe2fs 可以看某个分区的block groups的详细信息。

    例子:要看一个文件,先得到它的绝对路径,假设是/usr/local/scr,系统会找到根目录/对应的inode,再读取对应的block,得到/usr/的
    inode,就这样一层层找到/usr/local/src对应的block。
    
    查看系统支持的文件系统,ls -l /lib/modules/$(uname -r)/kernel/fs
    查看已经加载的文件系统,cat /proc/filesystems

3. 文件系统的简单操作:
    df:检查磁盘整体的容量使用情况。
    du:检查某个目录下文件占用的磁盘容量。

4. 硬链接和软链接:
    软链接类似windows的快捷方式,即是又用一个inode指向原来文件的inode,再找到block;当原来文件被删除了,就不行了。
    硬链接就是两个文件名指向相同的一个inode,由inode找到block,删除其中一个,另一个也指向这个inode,所以没有影响。
    但是硬链接有限制,不能跨越filesystem也不能链接目录。所以还是软链接用的较多。
    命令:ln a b     硬链接a到b
             ln -s a b  软链接a到b

5. 磁盘的操作命令:
    a. fdisk对磁盘进行分区,建立partition
    b. 对分区格式化mkfs,建成文件系统
    c. 对分区进行检查,fsck用来检验文件系统是否出错,badblocks检验坏轨
    c. 新建目录,将分区挂载进来,mount
        mount 【-t 文件系统】 【-L label名】 【-o 额外选项】【-n】 分区  挂载点
        (也可以用mount将一个目录挂载到另一个目录  mount --bind a b,和软链接的道理差不多)
   
     设置开机自动挂载,在/etc/fstab中,共有六个字段
      第一:分区名或者其label (可以用dumpe2fs查询)
      第二:挂载点
      第三:文件系统
      第四:使用的参数,例如同步或者异步,只读等等
      第五:是否被dump备份指令作用,一般为0,不备份
      第六:是否用fsck检验

      特殊设备loop挂载,一般为光盘或者DVD,mount -o loop a /b
      例子:建立大文件后用loop挂载
        dd if=/dev/zero of=/home/loop bs=1M count=512  (bs为blocksize)
        格式化,mkfs -t ext3 /home/loop
        挂载,mount -o loop /home/loop /media/loop
            (类似于从原来分区里新建一个分区)

    

         

    
阅读(1229) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~