Linux文件系统管理

1、硬盘

1.1机械硬盘

(1)概述:硬盘是计算机的主要外部存储设备,计算机中的存储设备种类非常多,主要常见的有软盘、硬盘、光盘、U盘等;甚至还有一些网络存储设备,SAN、NAS等,不过我们最多使用的还是硬盘设备。

(2)如果从存储介质上来区分,那么硬盘可以分为机械硬盘(HDD Hard Disk Driver)和固态硬盘(SSD Solid State Disk),机械硬盘采用磁性碟片存储数据,固态硬盘是通过闪存颗粒来进行存储的。

(3)机械硬盘主要是由磁盘盘片、磁头、主轴与传动轴组成,数据就是存放在磁盘盘片当中。硬盘是上下双磁头,盘片在两个磁头之间高速旋转,也就是说机械硬盘是上下面同事读取数据的,而且由于机械硬盘的旋转速度非长的高,在读写数据的时候如果发生碰撞或者是摇晃,可能会造成磁头或者是磁片损坏,一般来说机械硬盘的拆除时要在无尘的环境下执行操作的。

(4)机械硬盘的逻辑结构主要分为磁道、扇区和柱面。

(5)机械硬盘通过接口与计算机主板进行连接,硬盘的读取和写入速度与接口有很大的关系。常见的机械硬盘接口如下所示:

IDE硬盘接口:(电子集成驱动器),称作ATA硬盘或者是PATA硬盘,是早期机械硬盘的主要接口,ATA133硬盘的理论速度是可以达到133M/S的;

SATA接口:(Serial ATA,串口)是速度更高的磁盘标准;具备了更高的传输速度,并具备了更高的纠错能力,目前已经是SATA三代,理论值可以达到600M/S速度;

SCSI接口:(小型计算机系统接口)广泛的应用在服务器上,具有应用广泛 、多任务、带宽大、cpu占用率低及热插拔等优点,理论传输速度达到320M/S;

1.2 固态硬盘

(1)固态硬盘和传统的机械硬盘就是不在采用盘片进行数据的村塾,而是采用存储芯片进行数据存储。固态硬盘的存储芯片主要是分为两种,一种是采用闪存作为存储介质的,另一种是采用DRAM作为存储介质的,目前市场上使用的大多数都是以闪存作为存储介质的固态硬盘;

(2)固态硬盘因为丢失了机械硬盘的物理结构,所以相比机械硬盘具有低耗能、无噪声、抗震动、低散热、体积小和速度快的优势。

2.linux文件系统

2.1 文件系统的基本概念

        文件系统中除要保存问价的数据外,还要保存文件的属性,例如文件的权限、所有者、属组和时间参数等内容。文件系统把文件的数据和属性分开进行存放,把文件数据存放到date block中(数据块:保存文件的具体数据),把文件的属性保存在inode中(i节点,保存文件的属性等相关参数);同时另外还有一个super block用于记录整个文件系统的信息,例如inode和block的总量,已经使用量和剩余量;

2.2 基本概念

(1)super block :记录整个文件系统的信息,包括block和block的数量,未使用的block和block的数量,block和inode的大小;

(2)date block (数据块):用来实际保存数据,block的大小和数量在格式化后就已经决定,不能够改变的。每个block只能够用来保存一个文件数据,如果文件数据小于一个block快,那么这个block块剩余空间不能够被其他的文件使用,如果文件数据大于一个block快,则要占用多个block块。在windows中的磁盘碎片整理利用的就是把一个文件占用的多个block块尽量的整理到一起,这样可以加快读写速度;

(3)inode(i节点):用来记录文件的权限,文件的所有者和属组,文件的大小、文件的状态改变时间,文件最近的一次读取时间,每个文件需要占用一个inode。

2.3 常见的linux文件系统

linux能够支持的文件系统是非常的多,除了linux系统默认的ext系列,还能够支持fat16/fat32、NTFS(需要重新编译内核)。linux可以通过挂载的方式进行其他文件系统数据的使用。

件系统 描 述
ext Linux 中最早的文件系统,由于在性能和兼容性上具有很多缺陷,现在已经很少使用
ext2 是 ext 文件系统的升级版本,Red Hat Linux 7.2 版本以前的系统默认都是 ext2 文件系统。于 1993 年发布,支持最大 16TB 的分区和最大 2TB 的文件(1TB=1024GB=1024x1024KB)
ext3 是 ext2 文件系统的升级版本,最大的区别就是带日志功能,以便在系统突然停止时提高文件系统的可靠性。支持最大 16TB 的分区和最大 2TB 的文件
ext4 是 ext3 文件系统的升级版。ext4 在性能、伸缩性和可靠性方面进行了大量改进。ext4 的变化可以说是翻天覆地的,比如向下兼容 ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、Extents 连续数据块 概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等。它是 CentOS 6.3 的默认文件系统
swap swap 是 Linux 中用于交换分区的文件系统(类似于 Windows 中的虚拟内存),当内存不够用时,使用交换分区暂时替代内存。一般大小为内存的 2 倍,但是不要超过 2GB。它是 Linux 的必需分区
NFS NFS 是网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源
iso9660 光盘的标准文件系统。Linux 要想使用光盘,必须支持 iso9660 文件系统
fat 就是 Windows 下的 fatl6 文件系统,在 Linux 中识别为 fat
vfat 就是 Windows 下的 fat32 文件系统,在 Linux 中识别为 vfat。支持最大 32GB 的分区和最大 4GB 的文件
NTFS 就是 Windows 下的 NTFS 文件系统,不过 Linux 默认是不能识别 NTFS 文件系统的,如果需要识别,则需要重新编译内核才能支持。它比 fat32 文件系统更加安全,速度更快,支持最大 2TB 的分区和最大 64GB 的文件
ufs Sun 公司的操作系统 Solaris 和 SunOS 所采用的文件系统
proc Linux 中基于内存的虚拟文件系统,用来管理内存存储目录 /proc
sysfs 和 proc —样,也是基于内存的虚拟文件系统,用来管理内存存储目录 /sysfs
tmpfs 也是一种基于内存的虚拟文件系统,不过也可以使用 swap 交换分区

3、文件系统查看命令

3.1  df命令

        通过df命令可以查看已经挂载的文件系统的信息包括设备的文件、文件系统总大小、已经使用的大小、剩余大小、使用率和挂载点等;

(1)语法:

df  选项   挂载点或者是分区目录;

选项说明:

-a :显示所有文件系统信息,包括特殊文件的显示;

-h 使用习惯的单位显示容量,例如使用kb等的显示磁盘的容量

-T 显示文件系统类型

-m 以MB为单位进行容量的显示;

3.2 du命令

        du是统计目录或文件所占磁盘空间大小的命令;

(1)语法:

du 选项  目录或者文件名

选项说明:

-a  显示每子文件的磁盘占用量,
-h  使用习惯的单位显示磁盘目录
-s  统计总磁盘占用量;

(2)df和du的区别

df是从文件系统的角度去考虑,也就是说在使用df统计分区的时候,不仅要考虑文件占用的空间,还要统计北命令或者程序占用的空间;

du命令是面向文件的,只会计算文件或者是目录占用的磁盘空间,也就是说df命令统计的分区更准确,是真正的空闲空间;

3.3 mount命令

Linux中所有的存储设备都是需要通过挂载以后才能够正常使用的,挂载是把硬盘分区和挂载点练习起来的过程;挂载点必须是目录,而且原则上应该使用空目录作为挂载点;

(1)语法:

mount -t 文件系统名称  -L卷标名  -o 特殊选项  设备文件名称  挂载点

参数说明:
-t  文件系统名称 
-L  卷表明
-o  特殊选项

使用mount命令查看系统中已经挂载的文件系统,包含有虚拟文件系统

(2)在将所需要的存储设备挂载完成之后,当我们不想使用的时候我们需要对我们已经挂载的设备进行卸载,我们需要使用umount命令,一般使用 umount   设备文件名或者是挂载点

(3)卸载命令既可以加设备文件名也可以加挂载点,不过只能加一个。在进行卸载的时候,我们必须退出我们的挂载目录;

3.4 fsck命令

当出现文件系统损坏的的情况,我们可以使用fsck命令进行文件系统的检测和恢复的;

(1)语法:

fsck 选项  分区设备文件名称

选项说明:
 -t 文件系统 
-A 按照配置文件/etc/fstab检查所有分区
-a 不用显示用户提示,自动修复文件系统
-C 显示检查分区的进度条
-f 强制检测,一般来说fsck命令如果没有发现问题,则是不会检测的,如果强制检测。那么不管发生什么问题都是需要进行检测;
-y 自动修复和-a作用一直,不过有些文件系统只支持-y方式参数进行操作;

3.5 fdisk命令

我们在安装操作系统的过程中已经对硬盘呢进行了分区,但是当我们添加了一块新的硬盘的时候,想要正常使用,我们可以使用fdisk命令进行磁盘的分区;

(1)fdisk -l 
列出系统分区
(2)fdisk 设备文件名称

fdisk创建分区步骤:
(1)fdisk 设备文件名称 
(2)输入n,表示建立新的分区;
(3)p建立主分区,指定分区编号(1-4)
(4)回车,默认柱面是从1开始的,最多有四个;但是我们新创建的分区还没有进行格式化和挂载,是不能够使用的

(2)如何创建一个扩展分区

说明:主分区和扩展分区加起来最多只能建立4个,而扩展分区只能建立1个;

[root@localhost ~]# fdisk /dev/sdb
…省略部分输出…
Command (m for help): n
#新建立分区
Command action
e extended
p primary partition (1-4)
e
#这次建立扩展分区
Partition number (1-4): 2
#给扩展分区指定分区号2
First cylinder (655-2610, default 655):
#扩展分区的起始柱面。上节建立的主分区1已经占用了1~654个柱面,所以我们从655开始建立,注意:如果没有特殊要求,则不要跳开柱面建立分区,应该紧挨着建立分区
Using default value 655
提示使用的是默认值655
Last cylinder, +cylinders or +size{K, M, G} (655-2610, default 2610):
#这里把整块硬盘的剩余空间都建立为扩展分区
Using default value 2610
#提示使用的是默认值2610

(3)逻辑分区的建立和使用

说明:扩展分区是不能够被格式化和直接使用的,所以还要在扩展分区内部在建立逻辑分区;

[root@localhost ~]# fdisk /dev/sdb
…省略部分输出…
Command (m for help): n
#建立新分区
Command action
l logical (5 or over)
#由于在前面章节中,扩展分区已经建立,所以这里变成了l(logic)
p primary partition (1-4)
l
#建立逻辑分区
First cylinder (655-2610, default 655):
#不用指定分区号,默认会从5开始分配,所以直接选择起始柱面
#注意:逻辑分区是在扩展分区内部再划分的,所以柱面是和扩展分区重叠的
Using default value 655
Last cylinder, +cylinders or +size{K, M, G} (655-2610, default 2610):+2G
#分配2GB大小
Command (m for help): n
#再建立一个逻辑分区
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (917-2610, default 917):
Using default value 917
Last cylinder, +cylinders or +size{K, M, G} (917-2610, default 2610):+2G
Command (m for help): p
#查看一下已经建立的分区
Disk /dev/sdb: 21.5GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 *512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb4b0720c
Device Boot Start End Blocks id System
/dev/sdb1 1 654
5253223+ 83 Linux
#主分区
/dev/sdb2 655 2610 15711570
5 Extended
#扩展分区
/dev/sdb5 655 916
2104483+ 83 Linux
#逻辑分区 1
/dev/sdb6 917 1178
2104483+ 83 Linux
#逻辑分区2
Command (m for help): w
#保存并退出
The partition table has been altered!
Calling ioctl。to re-read partition table.
Syncing disks.
[root@localhost -]#
#退回到提示符界面

3.6 mkfs的使用

说明:分区完成后,如果不格式化写入的文件系统,则是不能够正常使用的,我们需要使用mkfs命令进行格式化

(1)语法:

mkfs 选项  分区或设备文件名称

选项说明:
-t  指定格式化的文件系统;

(2)mkfs命令非常简单,不过是不能够调整分区的默认参数,这些默认参数除非是特殊情况,否则是不需要进行调整的。如果想要重新调整分区的默认参数,使用mke2fs命令重新格式化;

语法如下:

mks2fs 选项  分区设备文件名称

选项说明:
-t 文件系统,指定格式化成那个文件系统
-b 指定block的大小
-i 指定inode的比例,也就是少分配一个inode;
-j 简历带有ext3日志功能的文件系统
-L 卷标名称,给文件系统设置卷标名称;

 

 

你可能感兴趣的:(Centos7系统运维)