本文总结了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. maven 打包 时出现非法字符: /65279错误

    maven 打包 时出现非法字符: /65279错误 碰到的一个问题: 使用下面的命令给工程打包时, maven mvn clean package -Ptest01 -Dmaven.test.ski ...

  2. Spring Security 3.2.x与Spring 4.0.x的Maven依赖管理

    原文链接: Spring Security with Maven原文日期: 2013年04月24日翻译日期: 2014年06月29日翻译人员: 铁锚 1. 概述 本文通过实例为您介绍怎样使用 Mave ...

  3. Android编程之LayoutInflater的inflate方法实例

    假设你不关心其内部实现,仅仅看怎样使用的话,直接看这篇就可以. 接上篇,接下来,就用最最简单的样例来说明一下: 用两个布局文件main 和 test: 当中,main.xml文件为: <?xml ...

  4. Windows Server 架设VPN要点

    PPTP 为给客户端连接的VPN用户帐户设置“允许拨入”属性. VPN服务端与客户端都无需安装任何证书. L2TP/IPSEC VPN服务器与客户端分别需要在自己的“本地计算机帐户>个人”(而非 ...

  5. 採用Android中的httpclient框架发送post请求

    /** * 採用httpclientPost请求的方式 * * @param username * @param password * @return null表示求得的路径有问题,text返回请求得 ...

  6. 垂死或涅槃重生 -- Delphi XE5 我们将宣布感情的回归

    Delphi 在很大程度上是一个被遗忘我的工具. 无论是在使用RapidSql , 我还没有收到Embarcadero 本公司发行参与邀请Delphi XE5该公告将. 可能有人会问,为什么Embar ...

  7. android如何使用自己定义JNI接口,以及NDK环境建设和使用的工具。

    一.建筑环境: 1.需要的工具: A.cygwin    (在windows下使用LINUX系统)                                                   ...

  8. 如何使用 yum 安装/更新/移除 软件

    如何使用 yum 安装/更新/移除 软件 一. 建立仓库(repository)和源 a) 拷贝所以相关rpm包到某个目录 b) 执行createrepo  /目录/目录/目录/目录   注意:b)中 ...

  9. java实现xml文件CRUD

    java删除xml多个节点: 方案1.你直接改动了nodeList.这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常.建议 ...

  10. Sublime Text 3 最性感的编辑历史

    ↑ ↑ ↑ ↑ ↑ 请参阅文件夹 ↑ ↑ ↑ ↑ ↑ 下载 / 装 windows / MAC OS 官网下载.双击安装,这个都会吧- linux linux下安装.一种办法是从官网下载 tar.bz ...