Linux 磁盘管理(分区、创建文件系统、挂载)

Linux设备文件可以分为两类

  • b : 按块为单位,随机访问设备(块设备文件)  如:硬盘
  • c : 按字符为单位,线性设备(字符设备文件)  如:键盘

设备文件位于/dev下

  

主设备号(major number): 标识设备类型

次设备号(minor number): 标识同一类型中不同设备

创建设备文件

mknod(选项)(参数)

选项

-Z:设置安全的上下文;
-m:设置权限模式;
-help:显示帮助信息;
--version:显示版本信息。

参数

文件名:要创建的设备文件名;
类型:指定要创建的设备文件的类型;
主设备号:指定设备文件的主设备号;
次设备号:指定设备文件的次设备号。

举例

mknod /dev/ttyUSB32 c 188 32

硬盘类设备文件名

IDE ATA   --hd

STAT   --sd

SCST  --sd

USB     --sd

查看/dev下硬盘设备

sda 为主硬盘

sda1 - sda4 主分区   最多存在4分主分区

sda5 逻辑分区

查看当前分区

命令:fdisk

fdisk命令操作磁盘详解--查看、添加、删除、转换分区等

fdisk -l

 这里显示了我系统当前磁盘 以及分区情况,当前存在2个主分区和一个逻辑分区  注意:最多存在4个主分区

 

创建分区

命令 fdisk + 硬盘设备 

root@ubuntu:~# fdisk /dev/sda

接着会弹出交互式页面,输入m获取帮助信息

由于这里使用的虚拟机扩容,导致虽然显示很多扇面未使用但在创建分区时无法分配

解决方法:https://www.linuxidc.com/Linux/2016-01/126958.htm

cat /proc/partitions 文件中保存着当前系统已识别分区

partprobe + 硬盘文件 命令使系统重读分区表,创建完分区后需要手动执行

创建文件系统(格式化)

命令:mkfs

使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

参数

  • device : 预备检查的硬盘分区,例如:/dev/sda1
  • -V : 详细显示模式
  • -t : 给定档案系统的型式,Linux 的预设值为 ext2
  • -c : 在制做档案系统前,检查该partition 是否有坏轨
  • -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
  • block : 给定 block 的大小
mfks -t ext3 /dev/sda3 

cat /prco/filesystems  查看当前系统支持文件系统种类

root@ubuntu:~# mkfs -t ext3 /dev/sda3
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 4394496 4k blocks and 1099440 inodes
Filesystem UUID: de38c6e9-539b-440f-9218-635625c53e8d
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

 挂载

将新的文件系统关联到当前文件系统

mount [ 选项 ] [ 设备文件 ] [ 挂载点 ]

* 不带参数时显示当前设备所有挂载设备(所有挂载设备在 / etc / mtab中保存)

文件系统配置文件 / etc / fstab (系统启动时自动挂载此文件中定义的每个文件系统)

选项

-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。
将sda3分区挂载到目录mnt/test目录上
# mount /dev/sda3 /mnt/test

挂载点要求

  • 目录没有被其他进程占用
  • 目录必须事先存在
  • 目录中原先文件会被隐藏,直到卸载

系统在根目录下提供一个挂载目录 /mnt

root@ubuntu:/mnt# mount /dev/sda3 /mnt/test
root@ubuntu:/mnt# cd /mnt/test
root@ubuntu:/mnt/test# ls
lost+found

挂载CD

  CD的设备文件是 / dev / cdrom

root@ubuntu:/mnt/test# ls -l /dev/cdrom
lrwxrwxrwx 1 root root 3 May  7 14:07 /dev/cdrom -> sr0

cdrom是链接文件  指向当前目录的 sr0

因为是光盘,只能挂载为只读类型

root@ubuntu:/mnt# mount -r /dev/sr0 ./test
mount: /dev/sr0 is already mounted or /mnt/test busy
       /dev/sr0 is already mounted on /mnt/test

卸载

将某文件系统从当前文件系统中移除

mount [ 设备或者挂载点 ]

root@ubuntu:/mnt# umount test

卸载注意:

  • 挂载设备没有被使用
原文地址:https://www.cnblogs.com/xiaoliwang/p/9001976.html