Linux(文件目录+磁盘基本概念 图片+大白话)
后面也会持续更新,学到新东西会在其中补充。
建议按顺序食用,欢迎批评或者交流!
缺什么东西欢迎评论!我都会及时修改的!
在这里真的很感谢这位老师的教学视频让迷茫的我找到了很好的学习视频
根目录下的文件夹到底有啥
不用强行记住这些东西后面用到再记
bin | (binary)放的是二进制程序 普通用户可执行程序 |
boot | 放的就是启动文件 |
dev | 放的是硬件设备分区硬盘 |
etc | 放配置文件 |
home | 用户家目录 |
lib / lib64 | 软件运行光软件本身无法实现全部的功能需要依赖一些库 (比如运行springboot 需要配置maven) |
mnt / media | 是当挂载点 挂光盘或者挂U盘 |
opt | 第三方软件 |
proc | 对应内存 |
run | 程序运行生成一些临时文件在run |
sbin | 系统管理员可运行程序 |
srv | 放服务器数据的 |
tmp | 是临时 |
var | 放日志这些 |
Linux文件系统,文件名称大小写敏感
文件显示的颜色由 vi /etc/DIR_COLORS来决定
文件都有两类数据
元数据:metdata 数据:data
文件的大小 时间 所有者(谁的文件) 权限 都是文件的属性
每个文件夹都有自己的规定功能不能瞎放!
centos6 和 centos7 ubuntu bin的区别
centos6上就是文件夹 而centos7上是快捷方式(软连接)
为什么这样变化?
usrbin 和 bin的区别不大 但是早期认为是有区别的都是放的二进制程序但是有分工
早期:ll /usr/bin 放的是用的比较少的第三方工具 ll /bin 放的是操作系统核心的工具比如ls
ll /usr/bin不是必须需要的
后期:就直接把两个合在一起了
而ubuntu认为/user/bin 和 /bin不是一个东西
文件类型
块设备以块(4k)的方式来进行设备的读和写 批量写 有一定的缓冲空间 块设备是随机的
字符设备一个字符一个字符 一个 a 一个 b 一个 c 以字符为单位 字符一般没有缓存顺序写
键盘就是字符设备一个字母一个字母的敲
磁带必须按顺序跟字符一样
/dev/zero代表着二进制0 注意!这里是二进制0
man ascii 十六进制
-s -p
实现进程之间的通信
电报是单工
双工是你可以给我发我也可以给你发 双工又分为半双工和全双工
半双工:你给我发我收,但我不能同时给你发,轮流双向发,你发完了过一会我再给你发。
对讲机是半双工
全双工:就是同时双向传,你给我发的同时我也可也给你发。
手机是全双工
设备文件
所有设备文件都在/dev下面,不占用磁盘块存储数据。只是在inode表标识一下设备的元数据
元数据存设备的设备号,设备号分为主设备号和次设备号
主设备号标识设备的类型比如都是硬盘主设备号都一样
设备文件不占用磁盘空间没有数据块来存放数据。所以设备文件没有大小!
复制的/dev/sda有效吗
若有两块硬盘需要采用次设备号标识,第一块是硬盘1第二块是硬盘2。
把磁盘设备文件/dev/sdc1复制一份
-a是保存属性
和硬链接没有关系
查看/dev/sda1挂载文件夹内容
把sda1的复制文件挂载到mnt发现东西是一样的
主设备次设备号一样设备类型一样就说明是同一个设备
取消挂载以后显示了sda1
mknod
除了复制还可以mknod创建设备文件
磁盘设备的设备文件命名
/dev/sdx #SCSI,SATA,SAS,IDE,USB
虚拟磁盘
/dev/vd
/dev/xvd
nvme
/dev/nvmeOnlp5 259:5 0 nvme协议
lsblk中的RM
ROTA为0为固态硬盘 为1为机械硬盘
列出当前硬件设备
NVMe协议要快很多 速度不是由单纯接口类型决定
这里就是NVM协议的硬盘贵得很
cat /proc/partitions也是可以查看设备文件的
块设备和字符设备
设备文件分为块设备文件和字符设备文件
块设备文件,硬盘数据存储用数据块,访问块是随机的,按块访问。
字符设备是按字符访问键盘我按a就把a传入按b就把b传入,访问是顺序的也就是线性访问一般我们输入一段信息肯定是连续的啊随机的话逻辑就乱了!
块设备是用b标识 字符设备是用c标识
/dev/null 和 /dev/zero 都是典型的字符设备 逻辑上设备不是真实存在的
给另一个终端发消息
文件目录
pwd 是显示 当前文件夹
cd 是跳转文件夹
文件包含(目录)
cd /etc/sysconfig/network-scripts/
vi /etc/sysconfig/network-scripts/ifcfg-ens33
磁盘介绍
机械硬盘and固态硬盘
类似房子装修
存储大多数都是机械硬盘和固态硬盘存储
机械硬盘
硬盘因素也是决定网站访问快慢的因素
盘片正反面都是记录信息的 由磁头对盘片进行读写操作
磁道是从外向内 0 1 2 3
0柱面是所有0磁道组成
固态硬盘
拿的是芯片工作
操作系统最小的单位
硬盘的最小存储单位扇区
操作系统存取的最小单位是块,是多个连续的扇区(0.5KB),是8个连续的扇区
最小的块单位 0.5KB * 8 = 4KB
1 byte = 8 bit
千字节 1KB = 1024 byte
兆字节 1MB = 1024KB
千兆字节 1GB = 1024MB
扇区纵向称之为扇面,连续的称之为块。
操作系统无法对数目众多的扇区进行寻址,因此操作系统把相邻的扇区组合在一起,形成块block块的概念,在系统中被认为是最小的存储单位。
创建一个空的文件
编辑一下文件
操作系统规定,一个block只能存放一个文件的内容
操作系统规定,一个block只能存放一个文件的内容,因此文件占用的空间大小,只能是block的整数倍。
一个文件可以由多个block组成,并且是连续的block因为不同文件的话磁头来回跳动会导致读写效率的降低!
即使文件大小小于一个块,也就是小于4k,同样的占用一个block大小。
在windows文件系统中,多个连续的扇区,被称之为簇(相邻的多个扇区)。
4k扇区 存了8个扇区一个扇区512字节
CHS
被淘汰! 8G以内
LBA
每个扇区都有自己地址 8G以外 只需要数扇区数就行!
可以看到从2048到10485799结束 每一个地址就算一个扇区
区位记录磁盘扇区结构ZBR
紫色分了16个扇区 红色分了9个扇区 外圈 分多点因为比较分散 内圈分少一点
可以提高磁盘密度
磁盘转速与寻道时间
硬盘的RPM,硬盘内电机主轴的旋转速度,也就是硬盘盘片在一分钟内能够完成的最大旋转数。
1min = 60s
60Hz * 1转/Hz * 60s/分钟,3600转/分钟 === 3600RPM
3600 * 1.5 = 5400RPM
3600 * 2 = 7200RPM
转速越高并不是性能越高
这种情况下转速越快,性能越高。
数据分散转速越快也是无济于事!
单车赛摩托!
拿到一个数据的过程
- 寻道时间
- 旋转延迟时间
- 读写时间
识别新加入的硬盘(不停机)
扫描host0 host1 host2
echo '- - -' > /sys/class/scsi_host/host0/scan
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan
参考文献
6-15光盘misc
【Linux】磁盘LBA、CHS寻址 | 文件系统-CSDN博客
总结
A&Q
磁头和盘面不接触, 而中间的这个距离相对于磁头和盘面就类似于一架波音747在贴地1米的地方急速飞行。若是磁头和盘面接触摩擦会导致盘面损坏!
磁头指向的地方就是一个小吸铁石, 并且通电后这个小吸铁石会形成一个0或者1字符。
不同磁道,扇区数可以相同
圈内数据密度高但是圈外数据密度低。引出了不同磁道扇区不同,这样就可以合理管理数据密度!
写数据是从外圈往内圈写,理由是外圈写的速度快,内圈慢!
本人基本上是个人理解加参考其他大佬的肯定有很多问题欢迎指正,我会及时修改。
原文地址:https://blog.csdn.net/aabbdnsm/article/details/143423530
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!