位置: 编程技术 - 正文

Linux学习笔记(三):磁盘和文件系统管理(linux learn)

编辑:rootadmin

推荐整理分享Linux学习笔记(三):磁盘和文件系统管理(linux learn),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux如何学,linux必学,linux必学,linux必学,linux就该这么学第25期视频,linux必学,linux必学,linux必学,内容如对您有帮助,希望把文章链接给更多的朋友!

管理磁盘和文件系统

介绍了基本的文件和目录管理之后,接下来就是磁盘和文件系统的管理。如何分区磁盘和创建文件系统呢?

添加磁盘并进行分区、创建并挂载文件系统

1、确认系统中的磁盘命令——fdisk

fdisk -l [磁盘设备]

复制代码代码如下:[root@localhost ~]# fdisk -l ==>查看目前系统内的所有分区 (这里显示的结果与在交互模式下P命令是相同的,后面讲)</p><p>Disk /dev/hda: .4 GB, bytes ==>磁盘的文件名与容量heads, sectors/track, cylinders ==>磁头、扇区与柱面大小Units = cylinders of * = bytes ==>每个柱面的大小</p><p> Device Boot Start End Blocks Id System/dev/hda1 * 1 Linux/dev/hda2 + Linux/dev/hda3 + Linux/dev/hda4 + 5 Extended/dev/hda5 + Linux swap / Solaris

上述各字段的含义:

Device:分区的设备文件名称 Boot:是否是引导分区,即开机区,若是,则用“*”标识

Start :开始柱面,即该分区在硬盘中的起始位置 End :结束柱面,即该分区在硬盘中的结束位置

Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为字节,即1KB

Id:分区类型的ID标记号,对于EXT3分区为,LVM分区为8e System:分区类型,即磁盘分区内的系统

2、规划硬盘中的分区——fdisk

fdisk [磁盘设备]

使用此命令可进入交互操纵,您可以在下面的交互操纵里面胡作非为,但是切记离开时必须按q命令,不能按w

复制代码代码如下:#找出系统中所在根目录所在磁盘,并查阅该硬盘内的相关信息[root@localhost ~]# df / <==重点找出磁盘文件名而已文件系统 1K-块 已用 可用 已用% 挂载点/dev/hda2 % /[root@localhost ~]# fdisk /dev/hda ==>进入交互操纵模式,注意这里不要写具体的数字</p><p>The number of cylinders for this disk is set to .There is nothing wrong with that, but this is larger than ,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)</p><p>Command (m for help): m <==等待输入,m是命令菜单Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition ==>删除一个分区 l list known partition types ==>创建逻辑分区 m print this menu n add a new partition ==>增加一个分区 o create a new empty DOS partition table p print the partition table ==>在屏幕上显示分区表 q quit without saving changes ==>不存储,直接离开fdisk程序 s create a new empty Sun disklabel t change a partition's system id 变更分区类型 u change display/entry units v verify the partition table w write table to disk and exit ==>将刚才的操作写入分区表,慎重操作 x extra functionality (experts only)

常见操作有:创建主分区、创建扩展分区(将硬盘的所有剩余空间作为扩展分区)、创建逻辑分区、改变分区的系统代码、保存分区表信息、用partprobe探测硬盘分区变化

下面举出几例做测试,离开时不保存:

复制代码代码如下:Command (m for help): p ==>查看磁盘分区表,和终端命令模式下的fdisk -l 作用相同</p><p>Disk /dev/hda: .4 GB, bytesheads, sectors/track, cylindersUnits = cylinders of * = bytes</p><p> Device Boot Start End Blocks Id System/dev/hda1 * 1 Linux/dev/hda2 + Linux/dev/hda3 + Linux/dev/hda4 + 5 Extended/dev/hda5 + Linux swap / Solaris</p><p>Command (m for help): d Partition number (1-5): 4 ==>删除第4个分区</p><p>Command (m for help): d ==>删除第3个分区Partition number (1-4): 3</p><p>Command (m for help): p ==>再次显示时观察下面只显示了前两个分区,第5个没显示</p><p>Disk /dev/hda: .4 GB, bytesheads, sectors/track, cylindersUnits = cylinders of * = bytes</p><p> Device Boot Start End Blocks Id System/dev/hda1 * 1 Linux/dev/hda2 + Linux</p><p>Command (m for help): n ==>创建一个分区Command action e extended p primary partition (1-4)p ==>选择创建的分区类型为主分区Partition number (1-4): 4 ==>选择4号做主分区First cylinder (-, default ): Using default value ==>起始柱面若直接按enter键就是使用默认值Last cylinder or +size or +sizeM or +sizeK (-, default ): +M</p><p>Command (m for help): p ==>再次查看分区表,发现多了一个刚从建立的分区4</p><p>Disk /dev/hda: .4 GB, bytesheads, sectors/track, cylindersUnits = cylinders of * = bytes</p><p> Device Boot Start End Blocks Id System/dev/hda1 * 1 Linux/dev/hda2 + Linux/dev/hda4 + Linux</p><p>Command (m for help): n ==>再建一个分区Command action e extended p primary partition (1-4)e ==>建立扩展分区Selected partition 3 ==>这个是系统主动选择的分区First cylinder (-, default ): Using default value Last cylinder or +size or +sizeM or +sizeK (-, default ): Using default value </p><p>Command (m for help): p</p><p>Disk /dev/hda: .4 GB, bytesheads, sectors/track, cylindersUnits = cylinders of * = bytes</p><p> Device Boot Start End Blocks Id System/dev/hda1 * 1 Linux/dev/hda2 + Linux/dev/hda3 + 5 Extended ==>看,刚新建的扩展分区/dev/hda4 + Linux</p><p>Partition table entries are not in disk order</p><p>Command (m for help): n ==>再多建几个分区玩玩,反正后面不保存就行了,,呵呵First cylinder (-, default ): Using default value Last cylinder or +size or +sizeM or +sizeK (-, default ): +Value out of range.Last cylinder or +size or +sizeM or +sizeK (-, default ): +M</p><p>Command (m for help): n ==>有没有发现,最后建立2个分区的时候根本没有询问我们要建立是主分区还是扩展分区,为啥?因为分区已经超过4了,您别无选择,只能是扩展分区了。。。First cylinder (-, default ): Using default value Last cylinder or +size or +sizeM or +sizeK (-, default ): Using default value </p><p>Command (m for help): p</p><p>Disk /dev/hda: .4 GB, bytesheads, sectors/track, cylindersUnits = cylinders of * = bytes</p><p> Device Boot Start End Blocks Id System/dev/hda1 * 1 Linux/dev/hda2 + Linux/dev/hda3 + 5 Extended/dev/hda4 + Linux/dev/hda5 + Linux ==>这是后面又新建的2个分区/dev/hda6 Linux</p><p>Partition table entries are not in disk order</p><p>Command (m for help): q ==>这里一定要按q啊,因为我刚才仅仅是演示操作,还破坏性的删除了2个分区,你要是真要分区,那就要按w保存了。</p><p>[root@localhost ~]#

磁盘分好区后,要更新下内核,否则您使用fdisk -l 可能看不到分区后的变化,只有重启才可以。但是使用partprobe强制让内核重新找一次分区表就行了。

复制代码代码如下:[root@localhost ~]# partprobe [/dev/hda ] <==强制让内核重新找一次分区表,则可以立刻看出分区的变化

注意:普通用户没有权限进行硬盘分区,只有root用户可以,但最好是在单用户模式下比较安全,此外,在进行分区的时候,若该硬盘某个分区正在使用当中,则很有可能系统内核会无法加载硬盘的分区表,解决的方法就是将该使用中的分区给卸载,然后再重新分区一次,重新写入分区表。

3、在分区中创建文件系统——mkfs,mkswap

(1)、mkfs

用途:make filesystem,创建文件系统,即格式化

格式:mkfs -t 文件系统类型 分区设备 (-t选项表示可以接受的文件系统格式,如ext3,ext2,vfat等,通常情况下不需要加次选项,因为系统可自动判断使用的是什么文件系统)

上述由于设备/dev/hda3已经挂载了,所我无法再挂载,但可以卸载后再挂载,不做演示。

(2)、mkswap

用途:make swap ,创建文件系统交换系统

格式:mkswap 分区设备

1)在Linux系统中,SWAP分区的作用类似于Windows系统中“虚拟内存”,可以在一定程度上缓解物理内存不足的情况2)如果系统没有SWAP交换分区,或者现有交换分区的容量不够用,可以通过mkswap命令创建交换文件系统以增加虚拟内存3)交换分区空间的启用、停用需要使用swapon、swapoff命令,free命令可以查看物理内存、交换空间的使用情况4)“swapon -s”命令也可查看交换分区的使用情况

复制代码代码如下:[root@localhost ~]# mkswap /dev/hda5 ==>格式化交换分区Setting up swapspace version 1, size = kB[root@localhost ~]# swapon /dev/hda5 ==>启用交换分区[root@localhost ~]# free | grep -i swap ==>查看交换空间Swap: 0 [root@localhost ~]# swapoff /dev/hda5 ==>停用交换空间[root@localhost ~]# free | grep -i swapSwap: 0 0 0[root@localhost ~]#

将新硬盘分好区以后,还需要对分区进行格式化(即创建文件系统),并挂载到Linux系统中的指定目录下,然后才能用于存储文件、目录等数据。并且挂载点一定是目录,该目录为进入文件系统的入口。因此,并不是您有任何文件都能使用,必须要挂载到某个目录树的某个目录后,才能使用文件系统。

4、挂载、卸载文件系统——mount,umount

(1)mount

  用途:挂载文件系统、ISO镜像到指定文件夹

  格式: mount [ -t 类型 ] 存储设备 挂载点目录 (”-t 类型“的选项通常可以省略,大多数Linux系统能够自动识别对应的文件系统类型)

mount -o loop ISO镜像文件 挂载点目录

(2)umount

   用途:卸载已挂载的文件系统   格式: umount 存储设备位置 umount 挂载点目录

(3)查看已挂载分区的使用情况(df -hT) 

复制代码代码如下:[root@localhost ~]# df -hT ==>查看现有已挂在分区使用情况文件系统 类型 容量 已用 可用 已用% 挂载点/dev/hda2 ext3 9.5G 2.9G 6.2G % //dev/hda3 ext3 4.8G M 4.3G 5% /home/dev/hda1 ext3 M M M % /boottmpfs tmpfs M 0 M 0% /dev/shm[root@localhost ~]# mount /dev/hda3 /home/jzhou ==>将设备/dev/hda3挂载到目录/home/jzhou下[root@localhost ~]# df -hT ==>再次查看挂载情况文件系统 类型 容量 已用 可用 已用% 挂载点/dev/hda2 ext3 9.5G 2.9G 6.2G % //dev/hda3 ext3 4.8G M 4.3G 5% /home/dev/hda1 ext3 M M M % /boottmpfs tmpfs M 0 M 0% /dev/shm/dev/hda3 ext3 4.8G M 4.3G 5% /home/jzhou ==>看,这里多了一个挂载点[root@localhost ~]# umount /dev/hda3 ==>卸载刚才的挂载[root@localhost ~]# df -hT ==>再次查看没有了,已成功卸载文件系统 类型 容量 已用 可用 已用% 挂载点/dev/hda2 ext3 9.5G 2.9G 6.2G % //dev/hda3 ext3 4.8G M 4.3G 5% /home/dev/hda1 ext3 M M M % /boottmpfs tmpfs M 0 M 0% /dev/shm[root@localhost ~]#

另外光驱和镜像的挂载只是略有不同,语法其实是一样的,光盘设备一般是/dev/cdrom或者/dev/hdc,镜像嘛,很明显是iso格式的压缩包,挂载镜像时要加 -o loop选项,具体用法网上很多。

5、设置文件系统自动挂载——修改配置文件

系统中的“/etc/fstab”文件可以视为mount命令的配置文件,它包含了需要开机后自动挂载的文件系统目录。

查看一下这个文件的内容如上,其中各个字段的含义如下(前三个字段很重要):

Linux学习笔记(三):磁盘和文件系统管理(linux learn)

第一个字段:设备位置

第二个字段:挂载点目录

第三个字段:文件系统类型

第四个字段:挂载参数,即mount命令“-o”选项后面可使用的参数

第五个字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略

第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0不进行检查,1优先,2其次。对于根分区应设为1,其它分区设为2

设置自动挂载示例:即每次重新开机后,能自动完成挂载。

进入vim 编辑内容,将设备proc的挂载点由/proc改为/home/jzhou,并保存退出:

则再次启动时,会自动挂载到相应目录,上述是演示,之后我又改回来了。

说明:

(1)在/etc/fstab文件中正确设置了相应分区的自动挂载记录以后,手动挂载、卸载该分区时,仅需指定设备名、挂载点中的任意一个作为参数即可,例如,执行“mount /dev/sdb1”或者“umount /mailbox”都可以完成卸载(2)mount命令不带任何选项、参数时,可以显示当前系统中已经挂载的文件系统信息  

LVM简单介绍

Logical Volume Manager,逻辑卷管理屏蔽了底层磁盘布局,便于动态调整磁盘容量(需要注意:p /boot分区用于存放引导文件,不能应用LVM机制) 1、LVM机制的基本概念  (1)PV(Physical Volume,物理卷) 整个硬盘,或使用fdisk等工具建立的普通分区 包括许多默认4MB大小的PE(Physical Extent,基本单元)(2)VG(Volume Group,卷组)一个或多个物理卷组合而成的整体(3)LV(Logical Volume,逻辑卷)从卷组中分割出的一块空间,用于建立文件系统 它们的逻辑关系如下:

我想您已经知道了为什么要存在这个LVM机制了,同大多数虚拟化的东西作用相似,最核心的还是PV,即真实的物理卷,将,多个物理卷组成一个卷组,之后是对这些卷组划分卷,这时与PV完全无关了,这能很好的利用容量和空间,而且当有新的物理卷加入时,只需将其加入逻辑卷就行了。这个机制很像网络里面划分VLAN呢。 LVM的管理命令主要有以下:

功能

物理卷管理

卷组管理

逻辑卷管理

Scan 扫描

pvscan

vgscan

lvscan

Create 建立

pvcreate

vgcreate

lvcreate

Display 显示

pvdisplay

vgdisplay

lvdisplay

Remove 删除

pvremove

vgremove

lvremove

Extend 扩展

vgextend

lvextend

主要命令的用法:

pvcreate 设备名vgcreate 卷组名 物理卷名1 物理卷名2lvcreate -L 大小 -n 逻辑卷名 卷组名lvextend -L +大小 /dev/卷组名/逻辑卷名 创建逻辑卷的基本步骤:PV->VG->LV->格式化->挂载使用文件系统具体步骤:(我的虚拟机不能演示,bash中没有这个pvcreate命令,简单作下理论说明)

(1)、转换物理卷

1)使用fdisk命令规划两个分区 fdisk -l /dev/hda /dev/hdb | grep "LVM"2)使用pvcreate命令转换上述分区为物理卷复制代码代码如下:    pvcreate /dev/hda1 pvcreate /dev/hdb1

(2)、创建卷组

复制代码代码如下:vgcreate vg_test /hda1 /dev/hdb1

(3)、创建逻辑卷

1)使用lvcreate命令创建逻辑卷lv_test,从卷组vg_test上划出G空间复制代码代码如下:     lvcreate -L G -n lv_test vg_test2)使用mkfs命令创建ext3文件系统复制代码代码如下:     mkfs -t ext3 /dev/vg_test/lv_test (4)、格式化为ext3文件系统,并挂载到目录/dirtest复制代码代码如下: mount /dev/vg_test/lv_test /dirtest

(5)、还可以为逻辑卷扩容

1)使用lvextend命令为逻辑卷lv_test扩充容量,从卷组vg_test上再划出G给逻辑卷lv_test复制代码代码如下:lvextend -L +G /dev/vg_test/lv_test2)使用resize2fs命令更新系统识别的文件系统大小复制代码代码如下:resize2fs /dev/vg_test/lv_test   如有错误,请指正,3Q~

Linux find命令中-exec参数的作用介绍 我们都知道,Linux命令加上不同的参数其效果也不同,下面小编将针对Linuxfing命令中的-exec参数给大家做个详细介绍,以便你有个了解。exec解释:-exec参

Linux find命令中-path -prune参数作用详细介绍 Linux下find命令拥有多种查找方式,那么find命令中加上-path-prune参数会怎么样呢?下面小编就给大家介绍下find命令中-path-prune的用法。假如在当前目录下

在Linux下如何安装配置fcitx输入法 Linux输入法的切换和Windows一样,也可使用快捷切换,fcitx输入法是众多输入法中的一种,有些朋友习惯使用该输入法,下面小编就给大家介绍下Linux如何

标签: linux learn

本文链接地址:https://www.jiuchutong.com/biancheng/368323.html 转载请保留说明!

上一篇:Linux学习笔记(三):权限管理(文件目录权限、用户权限)(linux入门学习)

下一篇:Linux find命令中-exec参数的作用介绍(linux命令find用法)

  • 一般纳税人企业所得税多久申报一次
  • 采购暂估的处理方式
  • 城镇土地使用税的计算公式
  • 进口商品需要缴纳VAT税吗
  • 注销库存股为什么股本减少
  • 陈列费属于什么大类
  • 利润表的营业成本包括哪些
  • 小规模纳税人变成一般纳税人之前的发票变更
  • 支付增值税税控系统技术维护费用500元
  • 外商独资投资性公司
  • 直系亲属之间转账要交税吗
  • 管理费用在借方是会算入成本吗
  • 申报抵扣了不做账怎么处理?
  • 可变股权转让对价会计处理怎么做?
  • 长期待摊费用的摊销方法
  • 对账状态未对账
  • 投入的资金计入什么科目
  • 收到原未计入应收项目的交易性金融资产的利息
  • 公司注销时没有实收资本怎么办
  • 研发费用加计扣除政策指引2.0
  • 员工工牌的作用
  • 个税申报错误怎么更改
  • profiler.exe - profiler是什么进程 有什么用
  • 公司多交的公积金能退吗
  • win10怎么样禁止电脑运行某个程序
  • 360压缩怎么压缩到指定大小
  • 安保费差额纳税是什么意思
  • 期货公司保证金怎么算的
  • 秘鲁亚马逊木业有限公司招聘
  • 买房增值税征收标准
  • 君子兰的养殖方法
  • windows安装无法继续,若要安装请重新启动
  • 资产减值会计处理论文
  • 注销公司的处理方式
  • 一键部署web应用
  • vue引入文件路径@的意思
  • 2022年数学建模获奖结果
  • vue和react区别大吗
  • pytorch自定义网络层
  • 工程款清账的句子发朋友圈
  • 在vue3项目中使用vue2
  • 增值税申报表期初未缴税额
  • 进程 python
  • 公司的融资租赁怎么做账
  • 所得税费用影响企业营业利润吗
  • 小微企业的所得税税率是多少
  • 出售无形资产和固定资产计入什么科目
  • 基本户收到款不入账
  • 进项税金抵扣
  • 长期待摊费用摊销是当月还是下月
  • 小规模纳税人所得税怎么计算
  • 未认证进项税额会计分录
  • 实收资本不到账怎么处理
  • 新成立的教育机构值得去吗
  • 开票后收不回来款怎么办
  • 收到客户不要的定金怎么做账?
  • 资产减值损失属于费用类吗
  • 进项税额转出有余额怎么调整
  • 为什么要用支票取钱
  • 没有销售收入可以有销售费用吗
  • 重装机兵
  • Windows系统sid修改方法
  • linux 添加ipv6路由
  • lsass.exe
  • 安装centos7.0
  • win7怎么设置最佳性能
  • win8使用教程和技能
  • win10搭建ftp服务器的步骤
  • javascript ajax的5种状态介绍
  • Extjs407 getValue()和getRawValue()区别介绍
  • css滑动门技术的步骤
  • js全局方法
  • 自定义控件英文
  • 子弹追踪原理
  • unity已存在
  • NGUI之UILocalize
  • javascript怎么学
  • javascript面向对象 第三方类库
  • 维修基金交了多少钱怎么查
  • 怎么查询小米手机位置
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设