鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)
本文总结了Linux操作系统来管理我们的硬盘和文件系统需要使用命令。当我们在系统中增加一个硬盘驱动器。什么是我们需要去通过这个硬盘就可以真正使用步骤?下面步骤:
(1)对磁盘进行分区,新建能够使用的分区;
(2)对分区进行格式化。将分区格式化为我们操作系统可以使用的文件系统;
(3)对新建好的文件系统进行检验;
(4)创建挂载点,将该文件系统挂载上来。
接下来就介绍磁盘分区,格式化,检验和挂载的相关命令。
磁盘分区通过 fdisk命令进行。fdisk命令的基本用法 为“fdisk [-l] 设备名”。进入fdisk命令后,详细怎样操作,能够通过按下m查看帮助。
比較重要的几个命令为: d : 删除一个分区。 n: 新增一个分区; p:在屏幕上显示分区表
; q,离开fdisk程序。不保存不论什么设置。w:将所做的设置写入分区表。当然,也能够通过 fdisk -l 命令直接查看当前主机的硬盘信息和分区情况。如图所看到的:
使用fdisk命令另一些注意事项,当我们使用w命令将设置写入分区表后。可能会出现警告信息,让我们又一次启动以更新分区表信息。这是由于我们的磁盘还处于使用状态,无法卸载,因此内核无法又一次取得分区表信息。除了重新启动之外。还能够使用GNU推出的partprobe工具程序强制内核又一次查找分区表。
另外fdisk命令对于2TB以上的磁盘也无法处理,此时就须要parted命令来进行磁盘分区了。
格式化的命令是通过mkfs(make file system)命令进行的。它的用法为 “mkfs [-t 文件系统格式] 设备文件名称”。mkfs是一个综合命令。当我们使用 “mkfs -t ext3 ...”命令时。系统会调用mkfs.ext3命令来进行对应的格式化。
我们能够在输入mkfs命令后连续按下两个tab键。就能够查看mkfs支持的文件格式了。下面是我的的系统上mkfs支持的文件系统格式:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnVjaGVuY29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
当中vfat格式是能够在Windows和Linux中同一时候被支持的,因此须要在Windows和Linux中共享的U盘能够使用这样的格式。在使用mkfs命令时,除了指定文件系统的类型,还能够指定文件系统的卷标,block大小。inode大小等等。mkfs是调用mke2fs这个公用程序来设置这些參数,mke2fs的用法为“mke2fs
[-b blocksize] [-i inodesize] [-L 卷标] [-cj] 设备”。
fsck命令是用来检查和修正文件系统错误的命令。
fsck命令仅仅有身为root用户并且文件系统有问题情况下才使用这个命令,否则正常情况下使用这个命令。可能会对系统造成损害,当然刚刚格式化成功的分区也能够通过fsck命令来进行检測。此时被检測的分区务必不能挂在到系统上。也就是说文件系统必须处于卸载状态。当使用fsck命令检測磁盘时。有问题的数据都会被放置到到该文件系统的lost+found这个文件夹下。
每一个文件系统最顶层的文件夹(就是挂在点那个文件夹以下)都会存在一个lost+found文件夹。除了fsck命令用来检測文件系统是否出过错,还能够使用badlocks命令来检查硬盘扇区是否有坏轨。
接下来是磁盘挂载与卸载,关于挂载的概念已经讲了非常多遍了。挂载点一定是文件夹,该文件夹就是进入磁盘分区的入口。訪问该文件夹就能訪问到该文件系统的数据。
Linux中使用mount命令进行文件系统的挂载,mount命令是个非常实用的命令。能够挂载 ext3/vfat/nfs等文件系统。mount命令的用法例如以下:
mount -a: 按照配置文件 /etc/fstab的数据将全部未挂载的磁盘都挂载上来;
mount -l: 只输入mount命令会显示出当前系统的挂载信息。加上 -l 參数能够添加Label名称;
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 设备文件名称 挂载点 : 将某个设备按指定方式进行挂载。
mount命令使用起来很easy,在实际挂载的时候甚至不须要通过 -t 參数来指定文件系统的类型,由于文件系统差点儿都有super block,挂载的时候Linux会自己主动分析super block并搭配Linux自己的驱动程序去測试挂载。假设測试成功了。就马上使用该类型的文件系统去挂载设备。所以当我们在电脑中插入U盘了,假设想使用该U盘,也须要使用mount命令将U盘进行挂载。mount命令还能够通过
-o remount 參数进行又一次挂载,当我们进入单用户维护模式时,因为根文件夹常会被系统挂载为仅仅读,这个时候就能够通过这个參数来又一次挂载了。
除了挂载设备,通过mount --bind 命令还能够将某个文件夹挂载到另外一个文件夹上面去。以后訪问挂载点就相当于訪问该文件夹。当然这样的效果也能够通过符号连接实现。
下面是使用mount 挂载一个文件夹的举例:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnVjaGVuY29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
挂载之后能够使用umount命令进行卸载,umount的用法为 “umount [-fn] 设备文件名称或挂载点”。
能够使用设备文件名称或者挂载点来进行卸载,卸载之后能够使用df命令或mount -l命令来查看该文件系统还是否存在于文件夹树中,可是假设挂载的是文件夹而不是磁盘设备,则就仅仅能通过挂载点来卸载。并且卸载的时候请注意。须要将工作文件夹换到挂载点(及其子文件夹)之外的文件夹里去。
接下来介绍一些改动磁盘參数的命令。之前讲过,在Linux下全部设备都是用文件来表示,那怎样通过文件来表示一个设备呢,就是通过文件的major和minor数值来取代。
major为主设备码,minor为次设备码,内核认识设备数据就是通过这两个数值来决定的。在Linux内核升级为2.6之后。硬件的设备文件名称能够自己主动被系统实时产生了。不须要我们手动创建。可是还是了解一下怎样手动创建设备文件。以备不时之需。创建设备文件是通过mknod命令进行,该命令的用法为“mknod
设备文件名称 [bcp] [Major] [Minor]”。
每一个文件系统有一个文件系统卷标(Label)。该卷标值能够在文件系统格式化(mkfs)时指定。也能够使用e2label命令来改动。e2label的使用方法为:“e2label 设备名称 新的Label名称“。 Linux文件系统的卷标名类似于Window里每一个盘都有的一个名字(C盘/D盘等)。挂载的时候我们也能够使用文件系统的卷标名来进行挂载,而在CentOS中。/etc/fstab文件的设置都是默认用Label
name。
使用卷标名有什么优点呢?不管你的磁盘设备文件名称怎么变。系统是通过Label name来识别你的硬盘,因此不管你的硬盘插到哪个接口都不会有影响。
还有tune2fs命令,tune2fs命令功能比較广泛,能够自行man下面。hdparm命令对于IDE接口的硬盘而言,能够设置非常多高级參数。可是对于SATA接口的硬盘,就没有多大用处了。唯一能够做的就是通过 “hdparm -t 设备名称” 的方式来測试磁盘的性能,可是測试结果不是非常准确,仅仅能作为一个參考。
手动使用mount命令来挂载不是非常方便,能够让系统在开机的时候自己主动将文件系统挂载好。主要通过改动/etc/fstab文件来设置开机自己主动挂载。
我们每次使用mount命令挂载文件系统时。事实上就是把对应的參数写到/etc/fstab这个文件中的。该文件共同拥有六个字段,通过名字就能理解每一个字段的意义的。
当中Device字段是代表磁盘设备的文件名称或设备的Label
name。并且默认是採用Label name。第四列的parameters代表的是文件系统的參数,能够设置许多的參数。比如同步还是异步,是否同意用户挂载等等。
dump列是指该文件系统是否能被dump命令进行备份。0是不备份,1是每天都dump备份,2代表其他不定日期的dump备份。fsck列代表是否用fsck程序检測该文件系统,0代表不检測,1代表检測。2也代表检測,可是比1检測的晚,因此将根文件夹所在的文件系统设置为1,其他的设置为2就可以。当我们改动/etc/fstab文件后。为了防止语法错误而导致我们无法开机,在改动后一定要使用df命令或mount
-l命令来測试是否可以得到正确地挂在信息。
在Linux中。对于一个镜像文件,我们能够不用把它刻录成光盘。就能够訪问到该文件中的数据。我们能够直接使用特殊特备loop方式挂载,即mount -o loop的方式将一个镜像文件进行挂载,然后訪问该挂载点就能訪问到镜像文件中的数据。
真的很方便,想想在Windows中,我们得通过第三方软件才干打开镜像文件。除了镜像文件。对于一个大文件,我们也能够使用这样的方式来挂载,这就相当于我们不须要改动分区表就能制造出我们想要的分区了。下面是我使用
mount -o loop 方式将CentOS安装镜像文件进行挂载:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZnVjaGVuY29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
最后介绍一下内存交换空间(swap)的构建。在安装CentOS时,就说明了须要构建swap(内存交换空间)。当主机的物理内存不足时,内核就会把物理内存中临时用不到的程序和数据挪到swap中,从而空出物理内存来载入须要运行的程序。因此swap的功能就是在物理内存不足的情况下起到扩展内存的作用。假设在安装Linux时忘记了构建swap,能够使用例如以下方式来创建swap:首先依旧是使用fsck命令分出一个分区来给系统作为swap。然后使用mkswap命令来将该分区格式化为swap格式,然后用“swapon
设备文件名称”的方式来将该swap设备启动。能够使用free这个内存查看命令观察swap是否被正确载入。
除了能够把一个分区构建为swap,还能够使用一个大文件来构造swap。方法是类似的。
并且使用文件构建swap时,还能够使用swapoff来释放
swap file。
本章Linux命令总结:
fdisk,partprobe,mkfs,mke2fs,fsck,badlocks。mount,umount,mknod,e2label,tune2fs,hdparm,mkswap,swapon。swapoff,free。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)的更多相关文章
- 鸟哥的Linux私房菜 基础学习篇读书笔记(9):Linux磁盘与文件系统管理(2)
上一篇文章主要从理论上分析了Linux的Ext2文件系统.这一篇主要解说怎样查看Linux的文件系统的容量以及解说Linux文件系统中的连接文件. 能够通过df和du命令来查看磁盘与文件夹的容量.df ...
- 人体和电脑的关系——鸟哥的LINUX私房菜基础学习篇读书笔记
CUP=脑袋: 每个人会做的事情都不一样(指令集的差异),但主要都是通过脑袋来判断与控制身体各部分的行动 内存=脑袋中存放正在思考的数据区块: 在实际活动过程中,我们的脑袋需要有外界刺激的数据(例如光 ...
- 鸟哥Linux私房菜基础学习篇学习笔记3
鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...
- 鸟哥Linux私房菜基础学习篇学习笔记2
鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...
- 鸟哥Linux私房菜基础学习篇学习笔记1
鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...
- 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录
目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...
- 每周一书-《鸟哥的Linux私房菜基础学习篇(第四版)》台湾原版,你想要吗?
首先说明,本周活动有效时间为2016年10月19日到2016年10月31日. 目在介绍这本书之前,首先要感谢QQ号为:1084830483(路在远方),来自哈尔滨工程大学的同学赠送给玄魂工作室的 ...
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(一)
最近,一直在写PPC的模拟器和汇编器,也在做设计.所以重新看了看<鸟哥的Linux私房菜>,还是有好多命令不太熟悉.就打算写几篇blog记下来. 1. nl [-bnw] filename ...
- 《鸟哥的Linux私房菜-基础学习篇(第三版)》(三)
第2章 Linxu怎样学习 1. Linux当前的应用角色 当前的Linux常见的应用可略分为企业应用和个人应用双方面. 首先谈了企业环境的利用. 1)网络server. 2)关键任务 ...
随机推荐
- jquery autocomplete ajax获取动态数据,兼容各浏览器,支持中文
jquery.autocomplete.js经过改动,支持各种浏览器.支持中文输入! 1.效果图例如以下 2.HTML和ajax代码 <!DOCTYPE html> <html xm ...
- zoj 3822 Domination (可能性DP)
Domination Time Limit: 8 Seconds Memory Limit: 131072 KB Special Judge Edward is the headm ...
- Unable to start MySQL service. Another MySQL daemon is already running with the same UNIX socket
Unable to start MySQL service. Another MySQL daemon is already running with the same UNIX socket 特征 ...
- .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper
.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary> /// MySql ...
- IOSi科研OS7
具体的使用说明的适应
新近.我进行了项目iOS7适应,它有没有用7.0SDK它是由于老project采用iOS7.0存在一些问题,以这个机会,我专门整理改编iOS7需要注意的几个地方. 记录,如下面: 一,iOS7 ...
- 解决android3.0版本号以上应用接收不到开机广播问题
如今是2014-07-16 下午15:27. 好久没写过东西,突然间灵感喷发想写点东西(事实上是刚刚弄好了一个棘手的问题,自豪中..呵呵呵呵 我牛掰).废话不多说,进入正题. 不知道你们又没有碰到这问 ...
- Android含文档server结束(client UI接口异步请求的一部分)三
在本文中,AsyncTask为了实现异步请求,详细代码如下所示的: public class downloadActivity extends Activity { private TextView ...
- Java线程Dump分析工具--jstack(转)
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使 ...
- 在JBuilder8中使用ANT
在JBuilder8中使用ANT 作者:翁驰原 在JBuilder8中,Ap ...
- ArcPad 10 的安装部署
ArcPad是安装在手持设备或者移动终端的一个外业ArcGIS产品,也就是说ArcPad是Esri的一款软件产品,而不是硬件设备哦.尽管不比ArcGIS Desktop功能复杂缤纷,可是对于野外作业. ...