《linux就该这么学》第八节课:第六章存储结构与磁盘划分
笔记
(借鉴请修改)


6.3、文件系统与数据资料
目前linux最常见的文件系统:
ext3:日志文件系统。宕机时可自动恢复数据资料,容量越大恢复时间越长,且不能保证百分百不丢失。
ext4:ext3改进版,RHEL6默认文件系统,存储容量高达1EB,且无限多子目录,能够批量分配block块。
xfs:RHEL 7默认文件系统。宕机快速恢复被破坏的文件,最大支持18EB容量,几乎满足所有需求。
硬盘的存储就像一本书一样分为目录和内容两部分,目录存储着内容的索引和属性(权限大小时间等),真正的东西却在书的内部。
硬盘也一样,inode中存储着数据的属性,block快中存储着真实数据,通过inode可以找到相应的block块来查看数据。

(删除数据只是删除inode表,真实数据还在硬盘中,等待其他内容覆盖才会真正删除,这也是为什么有的数据可以扫描找回的原因)
linux中提供VFS(虚拟文件系统),来屏蔽底层差异,让用方便操作,不用关心底层文件系统发生了什么:

6.4、挂载硬件设备
linux中,一块新硬盘需要先分区,然后格式化,最后挂载并使用。
挂载:将设备文件与某个目录相关联的动作。然后可以通过该目录(挂载点)访问/使用该设备文件的内容。
mount 挂载文件系统。 mount 【文件系统】【挂载目录】
-t //指定文件系统的类型 -a //挂载所有在/etc/fstab中定义的文件系统
挂载之前的文件夹叫目录,挂载之后叫挂载点
mount重启之后就失效,为了避免,需要写入到/etc/fstab文件中
/etc/fstab中信息写入格式:
设备文件 挂载目录 格式类型 权限选项 自检 优先级
设备文件 //一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)
挂载目录 //指定要挂载到的目录,需在挂载前创建好
格式类型 //指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等
权限选项 //若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async
是否备份 //若为1则开机后使用dump进行磁盘备份,为0则不备份
是否自检 //若为1则开机后自动进行磁盘自检,为0则不自检
例: /dev/cdrom /media/cdrom iso9660 defaults 0 0 //把光盘挂在到/media/cdrom

umount 撤销已挂载的设备文件 umount 【挂载点/设备文件】
例:umount /media/cdrom
6.5、添加硬盘设备 //虚拟机添加
fdisk 管理磁盘分区,提供添加,删除,转换分区等功能。参数是交互式的。 fdisk 【磁盘名称】
m //查看全部可用参数 n //添加新的分区
d //删除某个分区信息 l //列出所有可用的分区类型
t //改变某个分区类型 p //查看分区信息
w //保存并退出 q //不保存直接退出
file 查看文件的属性 。 例:file /dev/sdb1
如果分区完成却不显示,需要手动强行同步内核信息:
partprobe //手动将分区信息同步到内核,推荐连续执行两次。
mkfs 用于格式化操作。mkfs.类型名称 【设备】
例:mkfs.xfs /dev/sdb5 下图为各种文格式类型:

df 用来查看挂载状态和硬盘使用量信息
-a //显示出所有的文件系统 --total //展示出总体使用量
-h //易读格式

du 查看文件数据占用了多少空间 du 【选项】【文件】
-a //评估每个文件(非目录)整体占用量 -c //评估每个文件,并计算总和
-h //易读格式 -s //仅显示占有量之和
6.6添加交换分区
分区正常分区即可,格式化和挂载的命令有区别于常规分区
交换分区:将一部分物理内存的不常用的数据临时存放在硬盘的空间里(swap交换分区),目的主要是降低物理内存的负载压力。
mkswap swap分区专用格式化命令 mkswap 【分区】
swapon swap分区专用挂载命令 swapon 【分区】
swapon -a 是把/etc/fstab中的swap分区部分挂载上
free 查看交换分区的使用量
-m /以M单位显示 -g //以G单位显示
-k //以kb单位显示 -b //以比特单位显示
-h //以易读格式显示

6.7、磁盘配额
磁盘配额用于给用户分配空间,防止某个用户恶意使用磁盘空间。
RHEL5或6用的是usrquota,RHEL7用的是uquota,在/etc/fstab的/boot权限处写入,并重启,使用 mount | grep boot 查看是否支持

xfs_quota 针对xfs文件系统来管理磁盘配额的命令 xfs_quota 【参数】【配额】【文件系统】
-c //以参数的形式设置要执行的命令 -x //专家模式
isoft //文件数量软限制 ihard //文件数量硬限制
bsoft //硬盘使用量软限制 bhard //硬盘使用量硬限制
edquota 用于编辑用户的quota配额限制 edquota 【参数】【用户】
-u //针对的用户 -g //针对的用户组
软限制是到达后只警告但还可以使用,硬限制是达到后不能写入(立即禁止),也可以不写软限制,直接硬限制。
例:xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 linuxprobe' /tmp
//限制linuxprobe用户对/tmp目录的写入,容量软限制3M,硬限制6M,个数软限制3个,硬限制6个。
6.8、软硬链接
硬链接:指向原始文件的inode指针,等同于硬链接和原始文件是一个文件,只是名字不同,且占用相同的空间。
软链接:也叫符号链接,仅仅包含文件的路径名,相当于windows的快捷方式。
ln 创建链接文件 ln 【选项】【目标】
-s //创建符号链接(软连接),不加此参数默认创建硬链接 -f //强制创建文件或目录的链接
-i //覆盖前先询问 -v //显示创建链接的过程
软连接:

硬链接:

(借鉴请修改)
复习:分区,格式化,挂载
预习:第七章
《linux就该这么学》第八节课:第六章存储结构与磁盘划分的更多相关文章
- 《Linux就该这么学》培训笔记_ch06_存储结构与磁盘划分
<Linux就该这么学>培训笔记_ch06_存储结构与磁盘划分 文章最后会post上书本的笔记照片. 文章主要内容: Linux系统的文件存储结构(FHS标准) 物理设备命名规则(udev ...
- Linux 就该这么学 CH06 存储结构与磁盘划分
1.一切从"/"开始 linux系统中一切都是文件,而且一切文件的路径都是从根目录(/)开始的.系统中的根目录和文件名称都是严格区分大小写的,并且文件名中不能包含/符号. 绝对路径 ...
- 《linux就该这么学》课堂笔记09 存储结构、磁盘划分
Linux一切都是文件 "/"为根目录(万物起始) **挂载后要想永久生效,需要修改开机启动项 vim /etc/fstab
- OpenCV 第二课 认识图像的存储结构
OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...
- [从源码学设计]蚂蚁金服SOFARegistry之存储结构
[从源码学设计]蚂蚁金服SOFARegistry之存储结构 目录 [从源码学设计]蚂蚁金服SOFARegistry之存储结构 0x00 摘要 0x01 业务范畴 1.1 缓存 1.2 DataServ ...
- Linux性能优化 第六章 性能工具:磁盘I/O
6.1 磁盘I/O介绍 一般来说,Linux磁盘的每个分区要么包含一个文件系统,要么包含一个交换分区.这些分区被挂载到Linux根文件系统,该系统由/etc/fstab指定.这些被挂载的文件系统包含了 ...
- Linux内核设计与实现 总结笔记(第六章)内核数据结构
内核数据结构 Linux内核实现了这些通用数据结构,而且提倡大家在开发时重用. 内核开发者应该尽可能地使用这些数据结构,而不要自作主张的山寨方法. 通用的数据结构有以下几种:链表.队列.映射和二叉树 ...
- 【小白学PyTorch】9 tensor数据结构与存储结构
文章来自微信公众号[机器学习炼丹术]. 上一节课,讲解了MNIST图像分类的一个小实战,现在我们继续深入学习一下pytorch的一些有的没的的小知识来作为只是储备. 参考目录: @ 目录 1 pyto ...
- linux学习第十九天 (Linux就该这么学) 结课了
今天最后一天课程了,结课了,还有点舍不得那,在些也祝 李老师 事业蒸蒸日上,超来超好, 今天内容是部署了 LNMP 部署动态网站环境(linux +nginx+mysql+php) 安装文件挺别多, ...
随机推荐
- Unix时间转LInux时间
private static long getTime() { long currentTimeMillis = System.currentTimeMillis(); long nanoTime = ...
- awk使用总结
转载自董的博客 1. 什么是awk awk是Unix/Linux提供的样式扫描与处理工具,非常擅长处理结构化数据和生成表单.与sed 和grep 很相似,但功能却超过大于两者,由于awk具备各种脚本语 ...
- mongo连接拒绝10061原因
首先检查Mongo是否启动: 启动 再次检查mongo配置文件是否允许其他人访问,默认路由是否加上 .进入mongodb安装目录的bin目录,新增mongodb.conf文件,输入 bind_ip=0 ...
- Swing与AWT在事件模型处理上是一致的。
Swing与AWT在事件模型处理上是一致的. Jframe实际上是一堆窗体的叠加. Swing比AWT更加复杂且灵活. 在JDK1.4中,给JFRAME添加Button不可用jf.add(b).而是使 ...
- 嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102
1.1 xilinx zynqMp 架构 1.1.1 16nm 级别工艺 Zynq UltraScale+ MPSoC架构 Xilinx新一代Zynq针对控制.图像和网络应用推出了差异化的产品系,这 ...
- 一款可视化的在线制作H5
一款可视化的在线制作H5 官方网站: http://www.iii66.cn 制作H5网址: http://www.iii66.cn/love/page/index 包括对图片,文字,图形,视频,声音 ...
- list add对象踩的坑
list 添加对象时,没有把new object写到循环体里,导致最后添加了相同的一个对象: public List<goods> find(String goodsname) { Lis ...
- Tensorflow1.4 高级接口使用(estimator, data, keras, layers)
TensorFlow 高级接口使用简介(estimator, keras, data, experiment) TensorFlow 1.4正式添加了keras和data作为其核心代码(从contri ...
- ganglia问题汇总
1.有数据,不出图 排查方法: 1)确保 php-gd 插件已安装 2) 确保rrdtool 的命令路径是正确的 3)确保php.ini中passthru函数是否开启,参数safe_mode 是否为o ...
- [Golang] 开源一个帧同步服务器
具体看README吧 https://github.com/bailu1901/lockstepserver