Linux查缺补漏之磁盘参数修订

Linux下面我们都知道可以用相应的档案代表一个装置,比如 /dev/sdb1代表sdb硬盘的第一个分隔槽,该装置通过major和minor来标示对应代替的装置

brw-rw—- 1 root disk 8, 0 5月 12 20:16 /dev/sda
brw-rw—- 1 root disk 8, 1 5月 12 19:48 /dev/sda1
brw-rw—- 1 root disk 8, 10 5月 12 19:48 /dev/sda10
brw-rw—- 1 root disk 8, 11 5月 12 19:48 /dev/sda11
brw-rw—- 1 root disk 8, 12 5月 12 19:48 /dev/sda12
brw-rw—- 1 root disk 8, 13 5月 12 19:48 /dev/sda13
brw-rw—- 1 root disk 8, 2 5月 12 19:48 /dev/sda2
brw-rw—- 1 root disk 8, 3 5月 12 19:48 /dev/sda3
brw-rw—- 1 root disk 8, 4 5月 12 19:48 /dev/sda4
brw-rw—- 1 root disk 8, 5 5月 12 19:48 /dev/sda5
brw-rw—- 1 root disk 8, 6 5月 12 19:48 /dev/sda6
brw-rw—- 1 root disk 8, 7 5月 12 19:48 /dev/sda7
brw-rw—- 1 root disk 8, 8 5月 12 19:48 /dev/sda8
brw-rw—- 1 root disk 8, 9 5月 12 19:48 /dev/sda9
root@qeesung-laptop:/media# ll /dev/sdb*
brw-rw—- 1 root disk 8, 16 5月 12 20:16 /dev/sdb
brw-rw—- 1 root disk 8, 17 5月 12 20:25 /dev/sdb1
brw-rw—- 1 root disk 8, 18 5月 12 20:18 /dev/sdb2

linux内核就是通过对应的major和minor来认识对应的设备的

device namemajorminor
/dev/sdb   8   0-15  
/dev/sdba   8   16-31  

mknod命令
这个命令主要是用来创建一个设备文件的(make block or character special files)
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
其中类型主要有:
- b block块设备
- c char字符设备
- p pipe管道设备
使用示例:

新建一个管道文件

#mknod pipeFile p
#echo this is a test line >> pipeFile
#cat pipeFile

--------------------------------------------------------------------------------

新建一个块文件

#mknod blockFile b 8 100

--------------------------------------------------------------------------------

新建一个字符文件

#mknod charFile c 4 100

最终会有三个文件
brw-r–r– 1 root root 8, 100 5月 12 21:15 blockFile
crw-r–r– 1 root root 4, 100 5月 12 21:16 charFile
prw-r–r– 1 root root 0 5月 12 21:12 pipeFile|

--------------------------------------------------------------------------------

e2label命令

在linux下面,每一个分隔槽都可以指定一个对应的label用来标示这个分隔槽,这点好比windows下面的C盘D盘一样。如果磁盘的分隔槽指定了label,那么就会咋/media目录下面按照label的名字挂载,如果没有指定label,那么将会按照分割槽的UUID在/media目录下面挂载

在linux下面可以可以通过e2label命令该指定对应分隔槽的label是什么,指定label有一个好处就是label不会随着磁盘文件名的改变而改变,我们知道在linux下面磁盘的挂载顺序决定了磁盘的文件名,比如你先挂载SATA磁盘1,那么磁盘1的设备名字就是 /dev/sda,要是你在挂在SATA磁盘2滞后再挂载磁盘1,那么磁盘1的磁盘文件就是/dev/sdb。。。但是就算不管磁盘文件名是怎么变换的,对应的分隔槽label是不会改变的

使用e2label命令:

e2label /dev/sdb1 “newLabelName”

--------------------------------------------------------------------------------

tune2fs命令

tune2fs命令用途很大,下面是一些基本用法
- -l 相当于dumpe2fs -h 显示分隔槽的superBlock内容
- -L 相当于e2label改变一个分隔槽的label
- -J将ext2文件格式转换为ext3带有日志的文件格式
具体更多用法还是man一下好了

--------------------------------------------------------------------------------

文件系统的自动挂载

我们可以通过更改在/etc/fstab下面的数据来改变系统每次开机自动挂载的文件系统,下面是/etc/fstab/文件里面的东西:

Alt text

这个例子里面的文件系统挂在/home目录下面,没一行信息标示开机自动挂载的文件系统,每一项都以空格来区分,每一项的具体含义为:
- file system:对应的分隔槽,是UUID或者是label名字
- mount point:挂载点,一定必须是目录,而且根目录/一定要优先于所有文件系统挂载
- type:文件系统的类型
- options:文件系统的挂载参数,有:

arg1arg2描述
user   nouser   普通用户是否可以挂载文件系统  
async   sync   磁盘是否以异步的方式读写  
auto   noauto   是否可以自动挂载,就是mount -a  
rw   ro   文件系统是只读的还是可以读写的  
suid   nosuid   是否支持suid/sgid的文件和目录  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16311.html