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
卸载注意:
- 挂载设备没有被使用