《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) 安装文件挺别多, ...
随机推荐
- nginx转发成功报400 bad request,服务端未收到请求
nginx转发成功报400 bad request,服务端未收到请求 解决办法: upstream后面不要跟下划线 例如: upstream auth_service{ server 30.4.164 ...
- 利用SEH防范BP(int 3)断点
利用SEH技术实现反跟踪,这个方法比单纯用判断API函数第一个字节是否为断点更加有效,可以防止在API函数内部的多处地址设置断点 通过int 3指令故意产生一个异常,从而让系统转入自己的异常处理函数, ...
- R语言 ggplot2包
R语言 ggplot2包的学习 分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...
- 外网訪问XAMPP失败 解决方式 XAMPP1.8.3
xampp 訪问出现New XAMPP security concept New XAMPP security concept: Access to the requested directory i ...
- macos下golang 1.9配置
1.golang最新版本下载地址 https://golang.org/dl/ (下载与安装过程此处省略一万字) 注意,go1.9与以往版本安装不同,直接安装到/usr/local/go目录下,而/u ...
- win10下安装基于caffe的 Faster-Rcnn
安装教程 本篇博客将会教会你在Windows下配置py-faster-rcnn,请细心仔细阅读.说白了,Windows下配置这些东西就是一个坑. 安装配置Anaconda 由于py-faste ...
- Kafka原理总结
Kafka Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实 ...
- 源码分析八( hashmap工作原理)
首先从一条简单的语句开始,创建了一个hashmap对象: Map<String,String> hashmap = new HashMap<String,String>(); ...
- Tensorflow r1.8安装C++接口(兼容OpenCV3)
与之前一样,直接走medium的传送门:https://medium.com/@fanzongshaoxing/use-tensorflow-c-api-with-opencv3-bacb83ca56 ...
- Mac 安装win10操作系统
因为是做苹果开发的,用的一直是苹果的系统,前两天因为想要做内网穿透,需要用到花生壳这个软件,问题是这个软件只有windows版本和Linux版本,所以就想在苹果电脑上装一个windows系统,也想借此 ...