欢迎各位兄弟 发布技术文章
这里的技术是共享的
链接文件: 硬链接 软链接(符号链接)
设备文件:
b:块设备文件:按块为单位 随机访问的设备
c:字符设备文件:按字符为单位,线性设备
b: 硬盘(可以随机访问)
c: 键盘 硬盘(也可以线性)
/dev 目录下
[root@ebs-22618 ~]# ls -la /dev
29 主设备号
0 次设备号
主设备号
设备类型 (major number)
次设备号 (minor number)
标识同一种类型中的多个不同的设备
[root@ebs-22618 backup]# ls -la /dev/
并不真正占用磁盘空间
占用 inode 号, 但并不真正占用磁盘空间 (正常情况下,普通文件,inode号应该是引用指向某个含用内容的区域)
主设备号和次设备号存在inode中
标号段类似于软链接文件
软链接文件inode:存的的是另一文件路径
设备文件inode:存的的是主设备号和次设备号
还有管道和套接字文件
mknod [OPTION]... NAME TYPE [MAJOR MINOR] 创建设备文件
-m MODE 777 666 等
[root@ebs-22618 backup]# mknod mydev c 66 0
[root@ebs-22618 ~]# mknod -m 640 mydev2 c 66 1
[root@ebs-22618 ~]# ls -la
主设备号 次设备号被内核识别的
[root@ebs-22618 ~]# tty
/dev/pts/1
[root@ebs-22618 ~]#
[root@ebs-22618 ~]# echo "hello" >> /dev/pts/2
[root@ebs-22618 ~]#
另一窗口
[root@ebs-22618 ~]# tty
/dev/pts/2
[root@ebs-22618 ~]#
所以不要轻易的简单的发送内容到设备文件
当然发送到终端是没有什么大的损害的(顶多就是显示一段内容)
设备文件不建议随便命名的
硬盘设备的设备文件名
IDE,ATA:hd开头
SATA:sd开头
SCSI:sd开头
USB:sd开头
a,b,c 区别同一种类型下的不同设备
IDE:
第一个IDE口: 主,从分别为 /dev/hda /dev/hdb
第二个IDE口: 主,从分别为 /dev/hdc /dev/hdd
sd 开头的可以使用 UDEV 来识别区分,
通常是 sda sdb sdc ...
hda:
主分区最多4个,扩展分区最多一个,逻辑分区可以有多个
hda1:第一个主分区
hda2:第二个主分区(可能扩展分区)
hda3:第三个主分区 (可能扩展分区)
hda4:第四个主分区 (可能扩展分区)
逻辑分区从 5 开始
hd5:第一个逻辑分区
hd6:第一个逻辑分区
查看当前系统识别了几块硬盘:
fdisk -l
[root@ebs-22618 ~]# fdisk -l 可以这样理解 柱面就是磁道
63 sectors/track 应该是一个柱面的扇区数
[root@ebs-22618 ~]# fdisk -l /dev/vda 只查看这个设备
#这个盘是32.2G,有255个磁面;63个扇区;3916个磁柱;每个 cylinder(磁柱)的容量是8225280个字节(8.225280M(约为)),每个扇区大小是 512个节字;;其中16065=255(多少层磁面)*63(一个磁面上的扇区数)
Disk /dev/vda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bf3bd
Device Boot Start End Blocks Id System
/dev/vda1 * 1 3917 31456256 83 Linux
管理磁盘分区 (创建分区删除分区等)
linux 支持的文件系统
文件系统是一种让我们在磁盘上创建文件管理的一种软件
它是内核中的功能,与某个特定的软件没有关系
每个分区都是一个单独的文件系统,但它们都要归并在根目录下
归并的方式 叫挂载 或 关联
/etc /bin /sbin 都不能放在其它分区
硬盘先低格(厂商完成)(自己做低格(低级格式化) 可能对硬盘有坏处)
分区 高格(高级格式化)(就是创建文件系统的),此时才能被挂载,被关联到根下面的某个目录下
作为其访问入口
管理磁盘分区
fdisk /dev/sda (指向设备,不能指向分区)
p: 显示当前硬盘上的分区(包括新建的分区,未保存的分区) (不会立即生效,保存退出才生效)
n: 创建新分区
e:扩展分区
p:主分区
d: 删除一个分区
w:保存退出
q:不保存退出
t:修改分区类型(文件系统类型)
L:(跟在t后面)
l:显示所支持的所有文件系统类型(不跟在t后面)
partprobe 重读分区表
在红帽5上可以用,红帽6上也可以用,不过6上还有其它命令可以实现这个功能
新建一个主分区
删除刚刚新建的主分区吧
扩展分区不能直接使用,它是一个指针,指向另外一个分区表的指针
所以还要 n 来创建逻辑分区
逻辑分区是自动编号的
再建一个逻辑分区
w 新建分区 就保存下来了
此时可以看到分区 但此时内核尚未识别
sda4,sda5,sda6 没有看到, 可以让内核重读一下分区表
# partprobe 通知内核重读分区表 也可以 # partprobe /dev/sda (指定重读哪个磁盘)
# cat /proc/partitions (查看内核所认识的分区)
sda4,sda5,sda6 可以看到了
此时(内核识别后)才能进行格式化
接下来需要格式化,挂载了
cat /proc/partitions