ڼС
梦回起点
做你害怕做的事,你会发现:不过如此
本站基于WordPress—主题by 设计窝
冀ICP备15003737号
梦回起点
Copyright © 2015-2024 All rights reserved.

df,du,ln,fdisk,sync,mount,磁盘的管理,文件系统的介绍-鸟哥的Linux私房菜基础版本(第二版)笔记5

这章之前首先说下一最新的ext文件系统应该是ext4,但是因为书比较早,所以没有这块东西,新版书中应该有,我会在读第二遍(新版)之后补充。

假设有一个分区,/dev/hdb5这个分区载入到/disk2且disk2目录已经建立,该分区使用ext3文件系统,设置该分区开机挂载可以修改/etc/fstab文件增加如下信息:
/dev/hdb5    /disk2     ext3    defaults    2     2
修改完成使用mount -a查看是否正确载入
ext2提醒:
     1、ext2和ext3文件在建立时就已经设置好固定的inode数和块数了
     2、格式化ext2文件系统,可以使用 mke2fs程序来执行
     3、ext2允许的块大小为1024,2048及4096
     4、一个分区所能容许的最大文件数和inode数量有关
     5、目录下面的文件数如果太多,导致一个块无法容纳所有的关联数据,
         linux会给予该目录更多的块,继续关联数据
     6、一个inode占用128个字节的空间,分区格式化之后inode表就会占用一
         部分空间
     7、因为一个inode只能记录一个文件属性,所以inode比块多没有意义
     8、块越小,inode越多则空间利用的越充分,但是对大文件效率会降低
     9、块越大,inode越少,则对大文件效率越高,但是空间利用的不充分
     特征:
     1、块与inode在格式化时就已经固定了
     2、一个分区能够容纳的文件数与inode有关
     3、一般来说,每4k配置一个inode
     4、一个inode的大小为128字节
     5、块为固定大小,支持1024,2048及4096
     6、对于单一文件, 若块大小为1024则最大容量为16G,若块大小为4096则
         最大容量为2T
     7、对于整个分区,若块的大小为1024则最大容量为2T,若块大小为4096则
         最大容量为32T
     8、文件名最长为255个字符,完整文件名长达4096个字符
载入点一定是目录,而不是文件,
查看linux支持的文件系统
     ls -l /lib/moudules/'uname -r'/kernel/fs
系统当前启用的文件系统:
     cat /proc/filesystems

文件系统的简单操作
磁盘与目录容量
df 选项 文件名
     选项:
         -a 列出所有的文件系统,包括系统特有的/proc等文件系统
         -k 以kb为单位显示各文件系统
         -m 以mb为单位显示各文件系统
         -h 自动设置单位显示各文件系统
         -H M=1000K 取代M=1024K的设置
         -T 连同该分区的文件系统的名称一起列出
         -i 不用硬盘容量,而用inode数量表示
du
     选项:
         -a 列出所有文件与目录容量,因为默认仅统计目录下面的文件
         -h 以人们易读的容量格式(G/M)显示
         -s 列出容量,不列出每个目录占用的容量
         -k 以kb为单位显示
         -m 以mb为单位显示
ln 链接文件  ln  源文件 目标文件
     硬链接的限制:不能跨文件系统 不能链接目录
     选项:
         如果不加任何参数,那么创建的就是硬链接
         -s 创建符号链接
         -f 如果目标文件存在,就主动将目标文件直接删除后再建立
磁盘的分区,格式化,检验与载入
分区:fdisk(仅root)
     参数:
         -l 将会把整个系统内能所搜索到的分区全部列出来
        
     m 帮助
     d 删除分区
     n 新增分区
     p 列出当前分区
     q 不存储离开
     w 写入分区表后离开(危险)
        
     sector 扇区
     cylinders 柱面
     新增分区
         e扩展分区 l逻辑分区  p主分区
        
磁盘格式化
     mke2fs 选项 设备名称
     选项:
         -b 可以设置每个块的大小,支持1024,2048,4096等
         -i 给一个inode多少容量
         -c 检查磁盘错误,仅执行一次-c会执行快速检测,
             如果执行-c -c会进行读写测试
         -L 后面可以接卷标
         -j 本来mke2fs默认是ext2加上-j就会加上日志,成为ext3
制作启动软盘
     mkbootdisk --device /dec/fd0 'uname -r'  其中uname为当前
                 linux内核版本
软盘低级格式化
     fdformat
磁盘检查
     fsck (虚拟机无法测试,原因未知)
     参数:
         -A 按照/etc/fstab的内容,将所有设备都扫描一次
         -a 自动检测有问题的区,不用一直按y
         -r 一直让用户决定是否修复
         -y 与a相同,如果a不能用可以尝试这个
         -c 可以检测过程中使用长条图来显示当前进度
         -f 强制检查
    badblocks 检查硬盘或软键盘有误坏轨
         -s 显示进度条
         -v 可以再屏幕上看到进度
         -w 写入测试,不建议使用
     sync 将系统暂存于内存中的数据保存到硬盘中
        
磁盘的载入与卸载
     mount    ######虽然软盘已经不用了上面的命令用到的很少,但是这个命令必须记住,很有用,j具体用法看最后,最重要的东西放到最后
     选项:
         -a 按照/etc/fstab的内容,将所有相关磁盘都挂上来
         -n 略过写入mtab的操作
         -L 系统除了可以用设备名称号之外,还可以利用卷标来载入
         -t 支持的格式就写在这里
         -o 后面可以加一些额外的参数
             ro,rw: 此分区只能读,或可写
             async,sycn:此分区为同步(sync)或异步(async)写入,
                         默认异步
             auto,noauto:允许此分区以mount -a的方式自动载入
             dev,nodev: 是否允许在此分区建立设备文件
             suid,nosuid:是否允许此分区包含suid/sgid格式的文件
             exec,noexec:此分区是否允许拥有可执行二进制文件
             user,nouser:是否允许此分区执行用户载入
     unmount 卸载设备文件
        
修改硬盘参数(这一部分我反正是不大明白)
mknod 设备名称 [bcp] [major] [minor]
     参数:
         设备种类:
             b:设置设备名称为一个存储外部设备文件,例如硬盘
             c:设置设备名称为一个外部输入设备文件, 如鼠标
             p:设置设备名称为一个FIFO文件
         major 主设备代码
         minor 次设备代码
e2label 设备名称 新的label名称    修改磁盘的表头数据
tune2fs
     选项:
     -j 将ext2的文件系统转化为ext3的文件系统
     -l 将超级块中的数据读出来
     -L 修改卷标,类似于e2label
hdparm
    
    

载入软盘
     mount -t ext2 /dev/fd0 /media/floppy
     mount -t vfat /dev/fd0 /media/floppy
     unmount /media/floppy
     注意:拔软盘之前一定要卸载该该软盘,否则会一直报错
载入windows磁盘
     mount -t vfat /dev/hda1 /mnt/win98
     mount -t vfat -o iocharset=cp950 /dev/hda1 /mnt/win98 #正确显示中文
载入U盘
     mkdir /mnt/usb
     mount -t vfat /dev/sda1 /mnt/usb  #假设U盘是fat格式

设置启动载入(到/etc/fstab里面去设置)
     知道卷标就可以使用;LABEL=(your label name) 如果没有,那么直接写路径
使用dump进行系统备份

是否以fsck检验分区
0表示不要检验,1表示要检验,2表示要检验,不过1较早被检验

建立虚拟内存
建立虚拟内存设备
方法1:
     直接加一块硬盘,将其中某个区划分为swap的文件系统
     利用fdisk /dev/hd[a-d] 先建立一个分区,简单来说,就是
     先建立一个分区,然后将分区的ID改为82,也就是虚拟内存的
     磁盘文件格式代码
     使用mkswap /dev/hd[a-d][1-16] 将刚刚建立的分区格式化为swap文件格式
     启动swap swapon /dev/hd[a-d][1-16]
     如果需要关闭,可以使用swapoff
方法2:
     使用dd建立swap文件
     使用mkswap将swap文件格式格式化为虚拟内存的文件格式
     使用swapon来启动该文件,使其成为虚拟内存
     使用swapoff来关闭该文件
     例如:
         1 dd if=/dev/zero of=/tmp/swap bs=4k count=16382
         2 mkswap /tmp/swap
         3 free
         4 swapon /tmp/swap
        
        
感想:
     这一章下来,感觉自己蒙蒙的,可能是硬盘这一块了解的不够多,另外书是05年出版的,好多地方已经显得...,系统和书上的系统版本上面有差距,等等原因导致这块很是不理想,新版的已经到手了,等最新版的书的笔记吧!

2015-12-24
                         
暂无评论

发表回复