《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) 安装文件挺别多, ...
随机推荐
- spring gateway 截取response 长度缺失
网上找到一段获取修改response的代码:https://blog.csdn.net/tianyaleixiaowu/article/details/83618037 代码如下: import or ...
- php 慢配置文件
[root@localhost etc]# cat php-fpm.conf[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /u ...
- android sdk manager更新地址
参考:http://www.oschina.net/question/1399261_195245 android sdk 用久了,想更新到最新的SDK包: 大连东软信息学院镜像服务器地址:- htt ...
- java 中 ResourceBundle 使用 国际化使用
java 中 ResourceBundle 使用 可以根据以下类进行获取国际化文件: package org.mybatis.generator.internal.util.messages; imp ...
- GeForce GTX 1080 ti安装记录
安装GeForce GTX 1080ti 安装GeForce GTX 1080ti,8+8pin需要全接,接4pin就开机显示器上会提示电源线没接完,将显示器线接在显卡上. 设置Win 10 pro ...
- C++中常用的std标准容器
从c++11标准以来,c++中std定义的几种容器的效率非常高,优化的非常好,完全没有必要自己去定义类似的数据结构.了解使用它们,可以满足90%的日常编程需要.该篇文章基于c++11标准,从用户角度来 ...
- Git:git diff 命令详解
工作目录 vs 暂存区 $ git diff <filename> 意义:查看文件在工作目录与暂存区的差别.如果还没 add 进暂存区,则查看文件自身修改前后的差别.也可查看和另一分支的区 ...
- GoLang之反射
反射 反射(reflect) 所谓反射(reflect)就是能检查程序在运行时的状态. 使用反射的三条定律: 反射可以将“接口类型变量”转换为“反射类型对象”: 反射可以将“反射类型对象”转换为“接口 ...
- PHP读取HTML生成doc
PHP代码如下: <?php //获取1.html文档的内容(包括html代码) $result = file_get_contents('./word.html'); echo "$ ...
- poj 3348
裸的凸包,,我就来粘一下板子 把jls和dls的代码混合了一下(雾),感觉我要是能把camp里的几何掌握的差不多就稳 了.(mxy到底打了什么?) 感觉叉积实在是个好东西qwq 今晚c ...