Loading... <p>一、文件系统管理</p> <p>什么是文件系统?</p> <p> 我的理解是文件系统是对磁盘上的数据和文件结构的管理规范。</p> <p> 如果文件系统没有继承性,那么以前文件系统的数据就无法传到新的文件系统中。</p> <p> Linux的文件系统有这么几种:ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap</p> <p> 以及Linux的虚拟文件系统:VFS</p> <p>Linux中创建文件系统的工具:mkfs</p> <p> 用法:mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]</p> <p> 选项:</p> <p> -t, –type=<类型> 文件系统类型;若不指定,将使用 ext2</p> <p> fs-options 实际文件系统构建程序的参数</p> <p> <设备> 要使用设备的路径</p> <p> <大小> 要使用设备上的块数</p> <p> -V, –verbose 解释正在进行的操作;</p> <p> 多次指定 -V 将导致空运行(dry-run)</p> <p> -V, –version 显示版本信息并退出</p> <p> 将 -V 作为 –version 选项时必须是惟一选项</p> <p> -h, –help 显示此帮助并退出</p> <p>我们创建一个文件系统试试</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161011-22.png" title="1456763012789177.png" alt="blob.png" /></p> <p> 用fdisk -l查看刚才创建的/dev/sdb</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161011-41.png" title="1456763302649408.png" alt="blob.png" /></p> <p>创建虚拟内存即交换分区:mkswap</p> <p> 用法:mkswap [选项] 设备 [大小]</p> <p> 选项:</p> <p> -c, –check 创建交换区前检查坏块</p> <p> -f, –force 允许交换区大于设备大小</p> <p> -p, –pagesize SIZE 指定页大小为 SIZE 字节</p> <p> -L, –label LABEL 指定标签为 LABEL</p> <p> -v, –swapversion NUM 指定交换空间版本号为 NUM</p> <p> -U, –uuid UUID 指定要使用的 UUID</p> <p> -V, –version 输出版本信息并退出</p> <p> -h, –help 显示此帮助并退出</p> <p></p> <p>块设备属性信息查看:blkid</p> <p> blkid可以查到块设备的UUID号、TYPE等信息</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161011-17.png" title="1456763767218654.png" alt="blob.png" /></p> <p>对文件系统进行检测修复:fsck</p> <p> 用法:fsck [选项] [文件系统]</p> <p> 选项:</p> <p> -a :自动修复文件系统,不询问任何问题。</p> <p> -A :依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。</p> <p> -N :不执行指令,仅列出实际执行会进行的动作。</p> <p> -P : 当搭配"-A"参数使用时,则会同时检查所有的文件系统。</p> <p> -r :采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。</p> <p> -R :当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。</p> <p> -s :依序执行检查作业,而非同时执行。</p> <p> -t :<文件系统类型> 指定要检查的文件系统类型。</p> <p> -T :执行fsck指令时,不显示标题信息。</p> <p> -V :显示指令执行过程。 </p> <p></p> <p>二、文件系统的分区</p> <p>在创建完成文件系统后需要对文件系统进行分区才可以使用</p> <p>可使用fdisk对文件系统进行分区(此工具最多可管理一个磁盘的15个分区)</p> <p>fdisk用法:</p> <p> fdisk [选项] <磁盘> 更改分区表</p> <p> fdisk [选项] -l <磁盘> 列出分区表</p> <p> fdisk -s <分区> 给出分区大小(块数)</p> <p> </p> <p> 选项:</p> <p> -b <大小> 扇区大小(512、1024、2048或4096)</p> <p> -c[=<模式>] 兼容模式:“dos”或“nondos”(默认)</p> <p> -h 打印此帮助文本</p> <p> -u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)</p> <p> -v 打印程序版本</p> <p> -C <数字> 指定柱面数</p> <p> -H <数字> 指定磁头数</p> <p> -S <数字> 指定每个磁道的扇区数</p> <p>例:fdisk -l 可显示出当前磁盘的分区信息</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161011-51.png" title="1456757023526347.png" alt="blob.png" /></p> <p>我们还可以通过fdisk后面接磁盘,对该磁盘进行创建分区等操作</p> <p>例如:fdisk /dev/sda然后按m进入帮助模式进行操作</p> <table> <tbody> <tr class="firstRow"> <td width="386" valign="top"><img src="//cto.wang/usr/uploads/2016/07/20160703161011-47.png" title="1456757437343995.png" alt="blob.png" /></td> <td width="386" valign="top"><span id="tran_0" class=""> <p></p> <p class="copied">a:切换一个可启动的标志</p> <p class="copied">b:编辑bsd磁碟标签</p> <p class="copied">c:切换dos兼容的标志</p> <p class="copied">d:删除一个分区</p> <p class="copied">g:创建一个新的空GPT分区表</p> <p class="copied">G:创建一个IRIX(SGI)分区表</p> <p class="copied">l:已知分区的类型列表</p> <p class="copied">m:打印这个菜单</p> <p class="copied">n:添加一个新的分区</p> <p class="copied">o:创建一个新的空DOS分区表</p> <p class="copied">p:打印分区表</p> <p class="copied">q:退出不保存更改</p> <p class="copied">s:创建一个新的空Sun磁碟标签</p> <p class="copied">t:改变一个分区的系统标识</p> <p class="copied">u:改变display/entry单元</p> <p class="copied">v:验证分区表</p> <p class="copied">w:写入分区表到磁盘并退出</p> <p></span><span id="tran_17" class="highLight"> <p class="copied">x:额外的功能(专家)</p> <p></span></td> </tr> </tbody> </table> <p>例如:我们要删除一个分区就按d,我选择删除分区2</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161012-89.png" title="1456758398177105.png" alt="blob.png" /></p> <p>例如:我们要创建一个新分区就按n,</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161012-58.png" title="1456758554461527.png" alt="blob.png" /></p> <p>这里的p为主分区,e为扩展分区,选择你想要创建的分区,这里我选择创建一个主分区,分区号为2,分区大小为10G</p> <p>例如:我们按p可以看到刚才的分区情况</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161012-9.png" title="1456758824410918.png" alt="blob.png" /></p> <p>最后我们按w写入分区表到磁盘然后退出</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161012-76.png" title="1456758923172555.png" alt="blob.png" /></p> <p>通过fdisk -l 列出新分区表对比一下之前的看是否成功</p> <table> <tbody> <tr class="firstRow"> <td width="386" valign="top"> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703161012-16.png" title="1456759019111250.png" alt="blob.png" width="401" height="54" style="width: 401px;height: 54px" /></p> </td> <td width="386" valign="top"> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703161012-10.png" title="1456759033826349.png" alt="blob.png" width="366" height="56" style="width: 366px;height: 56px" /></p> </td> </tr> </tbody> </table> <p>可以看出分区是成功的</p> <p>也可以通过cat /proc/partations查看内核是否识别出新分区</p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703161012-76-1.png" title="1456759230314759.png" alt="blob.png" /></p> <p>如果没有成功可以使用partx -a /dev/sda或者kpartx -a /dev/sda通知内核重新读取分区表</p> <p>注:centos 5使用partprobe /dev/sda来重读分区表</p> <p>partx的用法:partx [-a|-d|-s|-u] [–nr <n:m> | <分区>] <磁盘></p> <p> 选项:</p> <p> -a, –add 添加指定的分区或所有分区</p> <p> -d, –delete 删除指定的分区或所有分区</p> <p> -s, –show 列出分区</p> <p> </p> <p> -u, –update 更新指定的分区或所有分区</p> <p> -b, –bytes 以字节为单位而非易读的格式来打印 SIZE</p> <p> -g, –noheadings –show 时不打印标题</p> <p> -n, –nr <n:m> 指定分区范围(例如:–nr 2:4)</p> <p> -o, –output <type> 定义使用哪个输出列</p> <p> -P, –pairs 使用 key=“value” 输出格式</p> <p> -r, –raw 使用原生输出格式</p> <p> -t, –type <类型> 指定分区类型(dos、bsd、solaris 等)</p> <p> -v, –verbose 详尽模式</p> <p> </p> <p> -h, –help 显示此帮助并退出</p> <p> -V, –version 输出版本信息并退出</p> <p> </p> <p> 可用的列(针对 –show、–raw 或 –pairs):</p> <p> NR 分区号</p> <p> START 分区起点(扇区数)</p> <p> END 分区终点(扇区数)</p> <p> SECTORS 扇区数</p> <p> SIZE 易读形式的大小</p> <p> NAME 分区名</p> <p> UUID 分区 UUID</p> <p> TYPE 分区类型 十六进制 或 uuid</p> <p> FLAGS 分区标志</p> <p> SCHEME 分区表类型(dos、gpt、…)</p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信