标签:读写 写入 defaults 退出 比较 du -sh 存储 linux内核 技术分享
1,新增一块硬盘之后要干嘛?
(1)对磁盘进行分区
(2)对该分区进行格式化,以创建系统可用的文件系统
(3)对刚才新建好的文件系统进行检验
(4)在系统中创建挂载点,并将它挂载上来
2,对相应的操作解释命令
(1)磁盘分区:fdisk
几个常用的指令:
d:删除一个分区
n:新建一个分区
p:打印分区信息
q:不保存退出
w:保存并退出
(2)磁盘格式化:mkfs(格式化成默认的文件系统),mke2fs(定制自己想要的文件系统,比如block大小 inode大小)目标是对某个逻辑分区
(3)磁盘检验:fsck,目标是对某个逻辑分区
这是用来检查和修正文件系统错误的命令,只有文件系统出现问题时才使用该命令,正常情况下使用该命令会造成对系统的危害(注意:被检查的分区不可以挂载到系统上,是需要卸载的状态)
(4)磁盘的挂载与卸载(mount)
注意:a,单一文件系统不应该被重复挂载在不同的挂载点;b,单一目录不应该重复挂载多个文件系统;c,作为挂载点的目录应该是空目录
为什么mount挂载时,有时候不用加-t参数来制定文件系统,由于文件系统几乎都有superblock,我们的Linux可以通过分析superblock来搭配Linux自己的驱动程序去测试挂载,如果成功挂载就立刻自动使用该类型的文件系统挂载起来
/etc/filesystems:系统指定的测试挂载文件系统类型
/proc/filesystems:Linux系统已经加载的文件系统类型
我们Linux支持的文件系统之驱动程序都写在如下目录:
(5)重新挂载目录(-o参数)
#mount -o remount,rw /
(6)通过mount --bind的功能将某个目录挂载在其他空目录中
(7)umount(将设备文件卸载)
就是直接将已经挂载的文件系统卸载,-f参数是强制卸载
3,磁盘参数的修改(相关命令介绍)
(1)mknod
设备通过文件来代表,就是通过文件的major和minor数值来代替
如上图,8为主设备代码,而0~2代表次设备代码,Linux内核认识的设备数据就是通过这两个数值来决定的
(2)e2label
修改文件系统的卷标
#e2label 设备名称 新的label名称
(3)tune2fs
更改某个分区的文件系统版本 ext2>ext3
(4)hdparm
测试这块硬盘的读取性能
hdparm -Tt /dev/sda
4,设置开机挂载
(1)开机挂载(/etc/fstab和/etc/mtab)
a,/etc/fstab:就是我们利用mount命令进行挂载时,将所有的参数写入到这个文件中就可以了
文件内容一共有六个字段
第一列:磁盘设备文件名或该设备的label
第二列:挂载点(mount point),就是目录
第三列:磁盘分区的文件系统,ext3、xfs、ext4
第四列:文件系统参数
参数入下:
async/sync:设置磁盘是否以异步的方式运行,默认为async(性能较佳)
auto/noauto:当执行mount -a时,此文件系统是否会被主动测试挂载,默认为auto
rw/ro:该分区是以读写或者是只读的形态挂载上来
exec/noexec:限制在此文件系统内是否可以进行“执行”的工作,如果是纯粹用来存储数据,设置noexec会比较安全,但是会比较麻烦
user/nouser:表示是否允许用户使用mount命令来挂载,一般来说,我们当然不希望一般省份的user能使用mount,因为太不安全了
suid/nosuid:表示该文件系统是否运行suid的存在
usrquota:这个是在启动文件系统支持磁盘配额模式
grpquota:这个是在启动文件系统支持群组磁盘配额模式
defaults:同时具有rw,suid,exec,dev,auto,nouser,async等参数
第五列:能否被dump备份命令作用
dump是用来作为备份的命令,我们可以在fstab来指定哪个文件系统必须要进行dump备份,0代表不要做dump备份,1代表要每天进行dump的操作,2也代表其他不定日期
第六列:是否以fsck检验扇区
开机过程中,系统会默认会fsck检验我们的文件系统是否完整,不过有些文件系统是不需要检验的,比如swap, /proc目录,0是不需要检验,1是较早检验,2是较1迟检验
b,关于/etc/mtab文件,在默认情况下,系统会将实际挂载的情况实时写入/etc/mtab中,以便其他程序的运行,但在某些情况下(单用户模式)为了避免问题,会刻意不写入,用mount -n参数来不写入。
(2)特殊设备loop挂载
a,挂载光盘/DVD镜像文件
mount -o loop /root/xx.iso /mnt/iso ;这样就不用将文件刻录成光盘或者是DVD就能读取内部的数据
5,内存交换空间(swap)的构建
swap的功能就是应付物理内存不足的情况下所造成的内存扩展的功能
一般来说,如果硬件的配备足够的话,那么swap应该不会被我们的系统所使用到,swap会被利用到通常就是物理内存不足的情况了,当内存不足的时候,为了让后续的程序可以顺利的执行,因此暂时不用的程序和数据都会被挪到swap中,此时内存就会空出来该需要执行的程序加载
(1)使用物理分区构建swap
a,分区:现实fdisk来分区
b,格式化:mkswap命令格式化分区
c,使用:swapon 设备文件名
d,查看: free -g
(2)使用文件来构建swap
a,dd一个文件
b,格式化文件
c,启动
d,检查
6,文件系统的特殊查看与操作
(1)boot sector与superblock的关系
如果block大小正好是1024的话,那么boot sector与superblock会各占用一个block,所以boot sector会独立于super block外面
如果block大于1024bytes,那么superblock就在第一个block上面,boot sector也在第一个block上
(2)磁盘空间的浪费问题
total:是该目录下的所有数据所占用的实际block数量Xblock大小的值
ll -s : 查看每个文件占用了多少个block
du -sh /etc ::查看/etc目录所消耗的空间大小
(3)利用GNU的parted进行分区行为
虽然可以使用fdisk来进行分区,不过fdisk却无法支持高于2TB以上的分区。这个时候就需要parted来处理
标签:读写 写入 defaults 退出 比较 du -sh 存储 linux内核 技术分享
原文地址:https://www.cnblogs.com/yiweibuzhimingdemoumou/p/9249413.html