自学内容网 自学内容网

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

文件的大小 时间 所有者(谁的文件) 权限 都是文件的属性 

每个文件夹都有自己的规定功能不能瞎放! 

 Filesystem Hierarchy Standard

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

转速越高并不是性能越高

 这种情况下转速越快,性能越高。

 数据分散转速越快也是无济于事!

 单车赛摩托!

拿到一个数据的过程 

  1. 寻道时间
  2. 旋转延迟时间
  3. 读写时间

识别新加入的硬盘(不停机)

扫描host0 host1 host2
echo '- - -' > /sys/class/scsi_host/host0/scan
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan

参考文献

5文件目录结构和文件操作基础_哔哩哔哩_bilibili

6-15光盘misc

1磁盘类型和相关术语详解_哔哩哔哩_bilibili

【Linux】磁盘LBA、CHS寻址 | 文件系统-CSDN博客

路飞学城 - 帮助有志向的年轻人通过努力学习获得体面工作

总结

A&Q

不同磁道的扇区数是否相同? - 知乎

 磁头和盘面不接触, 而中间的这个距离相对于磁头和盘面就类似于一架波音747在贴地1米的地方急速飞行。若是磁头和盘面接触摩擦会导致盘面损坏!

磁头指向的地方就是一个小吸铁石, 并且通电后这个小吸铁石会形成一个0或者1字符。

不同磁道,扇区数可以相同

圈内数据密度高但是圈外数据密度低。引出了不同磁道扇区不同,这样就可以合理管理数据密度!

写数据是从外圈往内圈写,理由是外圈写的速度快,内圈慢!

本人基本上是个人理解加参考其他大佬的肯定有很多问题欢迎指正,我会及时修改。


原文地址:https://blog.csdn.net/aabbdnsm/article/details/143423530

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!