笔记

(借鉴请修改)

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    //查看分区信息

  //保存并退出                                                                     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就该这么学》第八节课:第六章存储结构与磁盘划分的更多相关文章

  1. 《Linux就该这么学》培训笔记_ch06_存储结构与磁盘划分

    <Linux就该这么学>培训笔记_ch06_存储结构与磁盘划分 文章最后会post上书本的笔记照片. 文章主要内容: Linux系统的文件存储结构(FHS标准) 物理设备命名规则(udev ...

  2. Linux 就该这么学 CH06 存储结构与磁盘划分

    1.一切从"/"开始 linux系统中一切都是文件,而且一切文件的路径都是从根目录(/)开始的.系统中的根目录和文件名称都是严格区分大小写的,并且文件名中不能包含/符号. 绝对路径 ...

  3. 《linux就该这么学》课堂笔记09 存储结构、磁盘划分

    Linux一切都是文件 "/"为根目录(万物起始)  **挂载后要想永久生效,需要修改开机启动项 vim /etc/fstab  

  4. OpenCV 第二课 认识图像的存储结构

    OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...

  5. [从源码学设计]蚂蚁金服SOFARegistry之存储结构

    [从源码学设计]蚂蚁金服SOFARegistry之存储结构 目录 [从源码学设计]蚂蚁金服SOFARegistry之存储结构 0x00 摘要 0x01 业务范畴 1.1 缓存 1.2 DataServ ...

  6. Linux性能优化 第六章 性能工具:磁盘I/O

    6.1 磁盘I/O介绍 一般来说,Linux磁盘的每个分区要么包含一个文件系统,要么包含一个交换分区.这些分区被挂载到Linux根文件系统,该系统由/etc/fstab指定.这些被挂载的文件系统包含了 ...

  7. Linux内核设计与实现 总结笔记(第六章)内核数据结构

    内核数据结构 Linux内核实现了这些通用数据结构,而且提倡大家在开发时重用. 内核开发者应该尽可能地使用这些数据结构,而不要自作主张的山寨方法. 通用的数据结构有以下几种:链表.队列.映射和二叉树 ...

  8. 【小白学PyTorch】9 tensor数据结构与存储结构

    文章来自微信公众号[机器学习炼丹术]. 上一节课,讲解了MNIST图像分类的一个小实战,现在我们继续深入学习一下pytorch的一些有的没的的小知识来作为只是储备. 参考目录: @ 目录 1 pyto ...

  9. linux学习第十九天 (Linux就该这么学) 结课了

    今天最后一天课程了,结课了,还有点舍不得那,在些也祝 李老师 事业蒸蒸日上,超来超好, 今天内容是部署了 LNMP 部署动态网站环境(linux  +nginx+mysql+php) 安装文件挺别多, ...

随机推荐

  1. set names utf8;

    对应用程序来说,强制将它们发起的数据库链接设置成UTF8编码有什么办法? 每个链接建立时先执行set names utf8; [mysqld] init-connect=‘set names utf8 ...

  2. oracle sql 获取本季度所有月份,上季度所有月份

    上季度所有月份: ),-ROWNUM),'YYYYMM') LAST_Q A FROM DUAL) CONNECT ; 本季度所有月份: ),-ROWNUM),'YYYYMM') LAST_Q FRO ...

  3. Android 反编译apk

    工具介绍:    apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 下载地址:https://bitbucket.org/iBotPeaches/apktool/downl ...

  4. 03Hadoop的TopN的问题

    TopN的问题分为两种:一种是建是唯一的,还有是建非唯一.我们这边做的就是建是唯一的. 这里的建指得是:下面数据的第一列. 有一堆数据,想根据第一列找出里面的Top10. 如下: 关键:在map和re ...

  5. return在try...except...finally...中的表现

    一直以为return就直接退出函数了,最近遇到一情况,在try中return,并没有什么卵用,还是会去执行finally里的内容,导致不能正确返回想要的数据 一直以为return就会跳出函数,发现原来 ...

  6. Kubernetes集群部署之五node节点部署

    Node节点是Kubernetes集群中的工作负载节点.每个node都会被master分配一些工作负载,每个node节点都运行以下关键服务进程.Kubelet :负责pod对应的容器的创建.启停等任务 ...

  7. 【教程】Win7-64位安装OpenSSL详细过程

    1.下载ActivePerl  5.24.0.2400 http://www.activestate.com/activeperl/downloads 图片:ActivePerl-5.24.0.240 ...

  8. db2 执行计划

    SQL 语句优化贯穿于数据库类应用程序的整个生命周期,包括前期程序开发,产品测试以及后期生产维护.针对于不同类型的 SQL 性能问题有不同的优化方法.索引对于改善数据库 SQL 查询操作性能至关重要, ...

  9. CentOS安装和配置Nginx

    1. 首先Nginx官网找到最新的稳定版本,网站地址:http://nginx.org/en/linux_packages.html#stable 在/etc/yum.repos.d 下面创建一个文件 ...

  10. unity3D内嵌android项目

    1.从u3d中导出android工程  工程名为 HS5 2.as(AndroidStudio简写)中新建android工程 MyAndroid 3.HS5 以module方式导入到MyAndroid ...