本文总结了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)的更多相关文章

  1. 鸟哥的Linux私房菜 基础学习篇读书笔记(9):Linux磁盘与文件系统管理(2)

    上一篇文章主要从理论上分析了Linux的Ext2文件系统.这一篇主要解说怎样查看Linux的文件系统的容量以及解说Linux文件系统中的连接文件. 能够通过df和du命令来查看磁盘与文件夹的容量.df ...

  2. 人体和电脑的关系——鸟哥的LINUX私房菜基础学习篇读书笔记

    CUP=脑袋: 每个人会做的事情都不一样(指令集的差异),但主要都是通过脑袋来判断与控制身体各部分的行动 内存=脑袋中存放正在思考的数据区块: 在实际活动过程中,我们的脑袋需要有外界刺激的数据(例如光 ...

  3. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

  4. 鸟哥Linux私房菜基础学习篇学习笔记2

    鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...

  5. 鸟哥Linux私房菜基础学习篇学习笔记1

    鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...

  6. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  7. 每周一书-《鸟哥的Linux私房菜基础学习篇(第四版)》台湾原版,你想要吗?

     首先说明,本周活动有效时间为2016年10月19日到2016年10月31日.   目在介绍这本书之前,首先要感谢QQ号为:1084830483(路在远方),来自哈尔滨工程大学的同学赠送给玄魂工作室的 ...

  8. 【Linux】鸟哥的Linux私房菜基础学习篇整理(一)

    最近,一直在写PPC的模拟器和汇编器,也在做设计.所以重新看了看<鸟哥的Linux私房菜>,还是有好多命令不太熟悉.就打算写几篇blog记下来. 1. nl [-bnw] filename ...

  9. 《鸟哥的Linux私房菜-基础学习篇(第三版)》(三)

    第2章 Linxu怎样学习         1. Linux当前的应用角色 当前的Linux常见的应用可略分为企业应用和个人应用双方面. 首先谈了企业环境的利用. 1)网络server. 2)关键任务 ...

随机推荐

  1. web.xml的运行顺序

    整体上的顺序为 <context-param> <listener> <filter> <servlet> 往下依次运行. 当中,每一个类别内部都是按序 ...

  2. SharePoint采用BCS开发第一个应用程序(两)

    SharePoint采用BCS开发第一个应用程序(两) 创建外部数据源 在本章中,我们使用AdventureWorksLT2008 SQL Server数据库作为外部数据源.下图显示了表SalesLT ...

  3. Meet Apache Wicket

    第一次接触Wicket,如此多的内容是文字,的原贴,希望大家指正 Meet Apache Wicket By JonathanLocke, original author of Wicket 乔纳森· ...

  4. 在阿里云上布置git server

    前言 东莞,晴,26至32度. 一直以为都是使用SVN Server作为私用的版本号控制器.随着Git的大行其道.近期由于项目须要,也试着在阿里云上部署Git Server.这里由于团队人员少.我採用 ...

  5. robot framework 使用四:分层设计和截图以及注意事项

    再说一下眼下的主要环境信息和版本号: 操作系统:win7 64位 python版本号:2.7.6 RIDE版本号:1.2.3 selenium2library:1.5.0 selenium:2.40. ...

  6. Android涉及到的设计模式(转)

    1.适配器模式:ListView或GridView的Adapter 简介:不同的数据提供者使用一个适配器来向一个相同的客户提供服务. 2.建造者模式:AlertDialog.Builder 简介:可以 ...

  7. 一些Android框架

    从网上收集一些框架,敲代码偷懒这些框架非常实用,必须记下来,为了以后少写代码,用别人好的框架 ThinkAndroid ThinkAndroid(一个ThinkAndroid教程地址:http://m ...

  8. linux设备驱动程序第四部分:从如何定位oops对代码的调试方法,驱动线

    在一个我们谈到了如何编写一个简单的字符设备驱动程序,我们不是神,编写肯定会失败的代码,在这个过程中,我们需要继续写代码调试.在普通c应用.我们经常使用printf输出信息.或者使用gdb要调试程序,然 ...

  9. 【原创】leetCodeOj --- Find Peak Element 解题报告

    题目地址: https://oj.leetcode.com/problems/find-peak-element/ 题目内容: A peak element is an element that is ...

  10. 【iOS】随机三角瓷砖布局算法

    你已经看够iOS鉴于这些默认的正方形块,整齐地显示? 本篇给出一个随机算法设计的三角布局的瓷砖和实施. 这样的规则,并提出妥协随机排列间.它看起来很凌乱,不会有一个新事物. 重点是设计和实施,以实现布 ...