磁盘及文件系统管理

Linux磁盘及文件系统:

磁盘:用于持久存放数据

常见的磁盘有:机械硬盘、固态硬盘

I/O Ports: I/O设备地址

常见的硬盘接口类型:

    

IDE(ata):并口,133MB/s

    SCSI:并口,UltraSCSI320,320MB/s,UltraSCSI640,640MB/s

    SATA:串口,6gbps

    SAS:串口,6gbps

    USB:串口,480MB/s

机械硬盘组织结构:

    track:磁道,不同半径的同心圆

    sector:扇区,每个扇区512个字节,一个磁道拥有63个扇区

    cylinder:柱面,不同盘片相同半径的磁道所组成。磁盘基于柱面来划分分区

    head:磁头

        平均寻道时间:5400rpm(笔记本),7200rpm(台式机)

设备类型:

    块设备:以block为单位,可实现随机访问

    字符设备:以character为单位,线性访问

设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信

设备号码:

    主设备号:major number,用于表示设备的类型

    此设备好:minor number,用于表示同一类型的不同设备

mknod命令:创建block或character文件

    mknod [OPTIONS]… NAME TYPE [MAJOR MINOR]

        -m:创建时赋予权限

[root@CentOS7 ~]# mknod mydev b 100 1
[root@CentOS7 ~]# ll mydev 
brw-r--r--. 1 root root 100, 1 Aug 25 10:40 mydev
[root@CentOS7 ~]#

    

设备文件存放在/dev/目录下:

    命名格式:

    IDE:/dev/hd[a-z]

    SCSI,SAS,USB,SATA:/dev/sd[a-z]

        a-z:表示不同设备

        /dev/sda, /dev/sdb, /dev/sdc …

    同一设备上不同分区:1,2,3…

        /dev/sda1:表示sda硬盘的第一个分区 /dev/sda2表示第二个分区…

为什么要创建分区?

    可采用不同的文件系统来管理,将不同类型的数据存放于不同分区当中,优化I/O性能,便于管理

两种分区格式:MBR, GPT

    MBR:Master Boot Record,存放于第0个扇区,512字节

    分为三部分:

        446bytes:存放Boot loader引导程序,引导操作系统

        64bytes:分区表,每16个字节存放一个分区表,最多可创建四个主分区

        2bytes:标记MBR是否有效,55 aa表示有效

    主分区和扩展分区的标识:1-4

    逻辑分区标识:5+

lsblk:列出当前所有块设备

[root@CentOS7 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0   50G  0 part /
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0   20G  0 part /testdir
sdb      8:16   0   20G  0 disk 
├─sdb1   8:17   0    5G  0 part 
├─sdb2   8:18   0    5G  0 part 
└─sdb3   8:19   0    5G  0 part 
sdc      8:32   0   20G  0 disk 
sr0     11:0    1  7.2G  0 rom  /media/cdrom

扫描磁盘:识别当前系统上所有磁盘

    echo "- – -" > /sys/class/scsi_host/host2/scan

fdisk命令来管理分区:

    fdisk -l:查看当前系统上所有分区信息

    fdisk -l [device]:查看指定磁盘分区信息

    fdisk DEVICENAME:来管理指定磁盘分区

        fdisk命令提供了一个交互式接口来管理命令,它有许多子管理命令,分别用于不同的管理功能

[root@CentOS7 ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):

    常用命令:

        n:创建新的分区

        p:显示分区信息

        t:更改分区类型

        d:删除分区

        w:保存退出

        q:不保存退出

        l:查看有哪些分区类型

        m:查看帮助信息

注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别

查看内核所识别到的分区:cat /proc/partitions

通知内核重读分区表:

    新增分区使用:

        partx -a -n M:N /dev/DEVICE

    删除分区使用:

        partx -d -n M:N /dev/DEVICE

    CentOS 5 7可使用partprobe [DEVICE]

如何查看磁盘的MBR信息:

    可使用hexdump -C -n 512来查看

[root@CentOS6 ~]# hexdump -C -n 512 /dev/sda
00000000  eb 48 90 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |.H..............|
00000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
00000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
00000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 03 02  |.........|...t..|
00000040  80 00 00 80 72 62 00 00  00 08 fa 90 90 f6 c2 80  |....rb..........|
00000050  75 02 b2 80 ea 59 7c 00  00 31 c0 8e d8 8e d0 bc  |u....Y|..1......|
00000060  00 20 fb a0 40 7c 3c ff  74 02 88 c2 52 f6 c2 80  |. ..@|<.t...R...|
00000070  74 54 b4 41 bb aa 55 cd  13 5a 52 72 49 81 fb 55  |tT.A..U..ZRrI..U|
00000080  aa 75 43 a0 41 7c 84 c0  75 05 83 e1 01 74 37 66  |.uC.A|..u....t7f|
00000090  8b 4c 10 be 05 7c c6 44  ff 01 66 8b 1e 44 7c c7  |.L...|.D..f..D|.|
000000a0  04 10 00 c7 44 02 01 00  66 89 5c 08 c7 44 06 00  |....D...f.\..D..|
000000b0  70 66 31 c0 89 44 04 66  89 44 0c b4 42 cd 13 72  |pf1..D.f.D..B..r|
000000c0  05 bb 00 70 eb 7d b4 08  cd 13 73 0a f6 c2 80 0f  |...p.}....s.....|
000000d0  84 f0 00 e9 8d 00 be 05  7c c6 44 ff 00 66 31 c0  |........|.D..f1.|
000000e0  88 f0 40 66 89 44 04 31  d2 88 ca c1 e2 02 88 e8  |..@f.D.1........|
000000f0  88 f4 40 89 44 08 31 c0  88 d0 c0 e8 02 66 89 04  |..@.D.1......f..|
00000100  66 a1 44 7c 66 31 d2 66  f7 34 88 54 0a 66 31 d2  |f.D|f1.f.4.T.f1.|
00000110  66 f7 74 04 88 54 0b 89  44 0c 3b 44 08 7d 3c 8a  |f.t..T..D.;D.}<.|
00000120  54 0d c0 e2 06 8a 4c 0a  fe c1 08 d1 8a 6c 0c 5a  |T.....L......l.Z|
00000130  8a 74 0b bb 00 70 8e c3  31 db b8 01 02 cd 13 72  |.t...p..1......r|
00000140  2a 8c c3 8e 06 48 7c 60  1e b9 00 01 8e db 31 f6  |*....H|`......1.|
00000150  31 ff fc f3 a5 1f 61 ff  26 42 7c be 7f 7d e8 40  |1.....a.&B|..}.@|
00000160  00 eb 0e be 84 7d e8 38  00 eb 06 be 8e 7d e8 30  |.....}.8.....}.0|
00000170  00 be 93 7d e8 2a 00 eb  fe 47 52 55 42 20 00 47  |...}.*...GRUB .G|
00000180  65 6f 6d 00 48 61 72 64  20 44 69 73 6b 00 52 65  |eom.Hard Disk.Re|
00000190  61 64 00 20 45 72 72 6f  72 00 bb 01 00 b4 0e cd  |ad. Error.......|
000001a0  10 ac 3c 00 75 f4 c3 00  00 00 00 00 00 00 00 00  |..<.u...........|
000001b0  00 00 00 00 00 00 00 00  20 cb 07 00 00 00 80 20  |........ ...... |
000001c0  21 00 83 9f 06 19 00 08  00 00 00 40 06 00 00 9f  |!..........@....|
000001d0  07 19 83 fe ff ff 00 48  06 00 00 80 1a 06 00 fe  |.......H........|
000001e0  ff ff 83 fe ff ff 00 c8  20 06 00 00 71 02 00 fe  |........ ...q...|
000001f0  ff ff 05 fe ff ff 00 c8  91 08 00 38 ee 03 55 aa  |...........8..U.|
00000200

磁盘MBR是非常重要的,如果损坏,则导致无法引导加载,读取不到分区表,从而导致系统无法启动,因此,对于这么重要信息来讲,我们应该做备份。

备份MBR我们可使用dd命令来实现:

[root@CentOS6 ~]# dd if=/dev/sdb of=/root/mbr.bak bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00076535 s, 669 kB/s

恢复MBR:

[root@CentOS7 ~]# dd if=mbr.bak of=/dev/sdb bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.0057231 s, 89.5 kB/s
[root@CentOS7 ~]#

    

文件系统:

    文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取等等

Linux常见的文件系统:ext2、ext3、ext4、xfs、btrfs、reiserfs、jfs、swap、光盘iso 9660

ext系列文件系统基础概念

文件系统分为两个区域

    元数据区:

        Super block

        GDT

        inode table

        inode bitmap

        block bitmap

    数据区:

        Data block

    数据块大小:1024bytes、2048bytes、4096bytes

文件系统是以块组划分为单位,每个块组里面存储了,block bitmap、inode bitmap、inode table、空闲的block以及空闲的inode等信息

Super block:超级块,用于存放整个分区的全局信息,包括文件系统的大小、空闲块数目、空闲块索引表、空闲inode节点数目、空闲inode节点索引表等等,当要访问文件系统是,第一次访问的就是超级块了,如果超级块损坏,文件系统将损坏,导致数据无法访问。因此,就需要对超级块做备份,以便于损坏时可以恢复。

inode格式:用于存放inode号、权限、属主属组、时间戳、文件大小、所对应的磁盘块

目录格式:存放了文件名和inode号的对应关系

文件系统的工作原理:

1.访问一个文件/var/log/messages

(在同一个分区当中)在inode表里面找到根的条目,根据条目找到根所对应的磁盘块,在磁盘块当中找到var以及所对应的inode号,根据inode号在表里面找到var所对应的条目

根据条目找到var所对应的磁盘块,在磁盘块当中找到log目录以及inode号,根据inode号在表里面找到log对应的条目,根据条目找到log所对应的磁盘块

在磁盘块当中messages文件名称以及inode号,根据inode号找表里找到messages对应的条目,根据条目找到messages所对应的磁盘块

磁盘块里面存放的是messages文件的数据,于是,数据得到方问

在访问过一次后建立缓存表,下次可直接从缓存当中访问

2.新建一个文件/backup/new

(在同一个分区当中)首先确保bakcup目录已经存在,扫描inode位图找一个空闲的inode,并找到backup目录所对应的磁盘块列表,在列表中新建一个new条目并把inode和new对应起来

然后在磁盘块位图当中查找可用的磁盘块并把它分配给new文件作为数据存储

3.删除一个文件/root/delete

(在同一个分区当中)首先确保root目录存在,并在root目录所对应的磁盘块列表中把delete条目删除,并在inode位图当中把delete文件的inode标记为空闲,在磁盘块列表当中

把delete所对应的磁盘块标记为未使用,数据未动

4.把/root/one文件剪切到/root/shell/目录下

(在同一个分区当中)首先确保root目录和shell目录存在,并在root目录所对应的磁盘块列表中把one条目删除,在shell目录所对应的磁盘块列表中新建一个var条目即可,inode和数据不变

5.把/root/first文件复制到/root/shell/second

(在同一个分区当中)首先确保root目录和shell目录存在,扫描inode位图找到一个空闲的inode,在shell目录所对应的磁盘块当中新建first的条目并把inode和这个条目对应起来

在磁盘块位图当中找出可用的磁盘块并分配给first文件作为数据存储,把原来first文件的磁盘块数据覆盖到新文件所对应的磁盘块即可

如何管理文件系统:

    查看当前内核所识别的文件系统:

        lsmod:查看当前内核所识别的模块

        cat /proc/filesystems:查看当前内核所识别的文件系统

[root@CentOS7 ~]# cat /proc/filesystems 
nodev	sysfs
nodev	rootfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs
nodev	debugfs
nodev	securityfs
nodev	sockfs
nodev	pipefs
nodev	anon_inodefs
nodev	configfs
nodev	devpts
nodev	ramfs
nodev	hugetlbfs
nodev	autofs
nodev	pstore
nodev	mqueue
nodev	selinuxfs
	xfs
nodev	rpc_pipefs
nodev	nfsd
	iso9660
	ext3
	ext2
	ext4
[root@CentOS7 ~]#

创建文件系统:

    mkfs:make file system,可以使用-t选项来指定文件系统类型

        -t:filesystem type

    mkfs.FS type:以mkfs.开头后面可跟文件系统类型

    注意:我们不能在已有文件的分区上去创建文件系统,会导致文件损坏丢失,重新创建文件系统会损坏原有的文件

[root@CentOS7 ~]# mkfs
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs     
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat    
[root@CentOS7 ~]# mkfs

ext系列文件系统管理工具:

    mke2fs [OPTION] device:

        -t{ext2|ext3|ext4}:指定文件系统类型

            mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4 = mke2fs -j

        -b{1024|2048|4096}:指定块大小

        -L LABEL:指定卷标名

        -j:创建有日志功能的ext3文件系统

        -i #:指明inode与字节的比率,即每多少个字节一个inode

        -N #:直接给明要给此文件系统创建inode的数量

        -m #:预留给管理员的空间,百分比

        -O [^]OPTION:以指定的特性创建目标文件系统

[root@CentOS7 ~]# mke2fs -t ext4 -b 2048 -L MYLABEL -N 50000 -m 3  /dev/sdb2  #创建文件系统,其类型为ext4,块大小为2048,卷标为MYLABEL,inode个数为50000,预留百分比3
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=MYLABEL        #卷标名称
OS type: Linux
Block size=2048 (log=1)        #块大小
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
50720 inodes, 10382848 blocks    #inode个数以及块数量
311485 blocks (3.00%) reserved for the super user    #预留给超级管理员的空间
First data block=0
Maximum filesystem blocks=278921216
634 block groups        #块组数量
16384 blocks per group, 16384 fragments per group    #每个块组当中包含多少块
80 inodes per group
Superblock backups stored on blocks:         #Superblock备份在哪些块
	16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
	2048000, 3981312, 5619712, 10240000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done        #创建日志功能
Writing superblocks and filesystem accounting information: done   

[root@CentOS7 ~]#

查看文件系统卷标:

    blkid:查看块设备属性信息

        blkid [OPTION] [DEVICE]

        -U UUID:根据指定UUID来查找所对应的设备

        -L LABEL:根据指定的卷标名称来查找所对应的设备

[root@CentOS6 ~]# blkid
/dev/sda1: UUID="7907abdd-41cd-4609-8392-80e4a88c5b4c" TYPE="ext4" 
/dev/sda2: UUID="f4d977bb-af76-4617-b07f-9c70ae42a056" TYPE="ext4" 
/dev/sda3: UUID="50054489-14c8-4e49-a912-2ff368371653" TYPE="ext4" 
/dev/sda5: UUID="d9f41da6-9df2-410f-8074-500425b26a3d" TYPE="swap" 
[root@CentOS6 ~]#

根据UUID来查找

[root@CentOS6 ~]# blkid -U 50054489-14c8-4e49-a912-2ff368371653
/dev/sda3
[root@CentOS6 ~]#

根据卷标名称来查找

[root@CentOS7 ~]# blkid -L MYLABEL
/dev/sdb2
[root@CentOS7 ~]#

e2label:专用于查看或修改ext系列文件系统的卷标

查看e2label DEVICE

[root@CentOS7 ~]# e2label /dev/sdb2
MYLABEL
[root@CentOS7 ~]#

修改e2label DEVICE LABEL

[root@CentOS7 ~]# e2label /dev/sdb2 ZHAI
[root@CentOS7 ~]# e2label /dev/sdb2 
ZHAI
[root@CentOS7 ~]#

tune2fs:修改或查看ext系列文件系统的属性信息

    注意:块大小创建后不可修改

    -l:查看超级块信息

    -j:在不损坏数据的情况升级为ext3

    -L:修改卷标

    -m #:调整预留百分比空间

    -U UUID:修改UUID号

        uuidgen命令可生成UUID号

    -O [^]FEATURE:开启或关闭某种特性

    -o [^]mount_options:开启或关闭某种挂载选项

        acl

        ^acl

[root@CentOS7 ~]# tune2fs -L MYLABEL -m 3 /dev/sdb2        #修改卷标以及预留百分比
tune2fs 1.42.9 (28-Dec-2013)
Setting reserved blocks percentage to 3% (311485 blocks)
[root@CentOS7 ~]# tune2fs -l /dev/sdb2 | grep -e "volume" -e "Reserved"
Filesystem volume name:   MYLABEL    #卷标
Reserved block count:     311485    #预留百分比
Reserved GDT blocks:      512
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
[root@CentOS7 ~]#
[root@CentOS7 ~]# tune2fs -O has_journal,acl /dev/sdb2        #开启某种特性
tune2fs 1.42.9 (28-Dec-2013)
Invalid filesystem option set: has_journal,acl
[root@CentOS7 ~]# tune2fs -l /dev/sdb2 | grep "features"
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
[root@CentOS7 ~]#
[root@CentOS7 ~]# tune2fs -o acl /dev/sdb2        #添加默认挂载选项acl
tune2fs 1.42.9 (28-Dec-2013)
[root@CentOS7 ~]# tune2fs -l /dev/sdb2 | grep "Default"
Default mount options:    user_xattr acl
Default directory hash:   half_md4
[root@CentOS7 ~]#
[root@CentOS7 ~]# uuidgen 
21071b55-1754-467e-8c81-581c8a9e4e48
[root@CentOS7 ~]# tune2fs -U 21071b55-1754-467e-8c81-581c8a9e4e48 /dev/sdb2
tune2fs 1.42.9 (28-Dec-2013)
[root@CentOS7 ~]# blkid /dev/sdb2
/dev/sdb2: LABEL="MYLABEL" UUID="21071b55-1754-467e-8c81-581c8a9e4e48" TYPE="ext4" 
[root@CentOS7 ~]#

dumpe2fs:显示ext系列文件系统的详细属性信息

    -h:显示超级块信息

文件系统的检测与修复:fsck

    内进程意外终止或系统崩溃等原因导致定稿操作非正常终止时,可能会对文件造成损坏;此时,应该检测并修复文件系统

    -t FSTYPE:指定文件系统类型

    -a:自动修复

    -r:交互式修复

    -y:对所有问题回答yes

修复文件系统过程:

模拟损坏文件系统

[root@CentOS7 ~]# dd if=/dev/zero of=/dev/sdb2 bs=10M count=1
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 0.0263004 s, 399 MB/s
[root@CentOS7 ~]# tune2fs -l /dev/sdb2
tune2fs 1.42.9 (28-Dec-2013)
tune2fs: Bad magic number in super-block while trying to open /dev/sdb2
Couldn't find valid filesystem superblock.
[root@CentOS7 ~]#

修复文件系统

[root@CentOS7 ~]# fsck -y /dev/sdb2
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
MYLABEL was not cleanly unmounted, check forced.
Resize inode not valid.  Recreate? yes

Pass 1: Checking inodes, blocks, and sizes
Root inode is not a directory.  Clear? yes

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Root inode not allocated.  Allocate? yes

/lost+found not found.  Create? yes

Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  +(0--725) +(16384--16916) +(49152--49684) +(81920--82452) +(114688--115220) +(147456--147988)
Fix? yes

Free blocks count wrong for group #0 (15654, counted=15656).
Fix? yes

Free blocks count wrong (10367773, counted=10367775).
Fix? yes

Inode bitmap differences:  +1 +(3--10)
Fix? yes

Free inodes count wrong for group #0 (67, counted=69).
Fix? yes

Directories count wrong for group #0 (4, counted=2).
Fix? yes

Free inodes count wrong (50707, counted=50709).
Fix? yes


MYLABEL: ***** FILE SYSTEM WAS MODIFIED *****
MYLABEL: 11/50720 files (0.0% non-contiguous), 15073/10382848 blocks

    注意:文件系统只能在非挂载情况下才能修复,否则会对数据造成损坏

e2fsck:ext系列文件系统修复工具

    -y:对所有问题自动回答yes

    -f:及时文件系统处于clean状态,也要强行检测

    -p:自行检测

挂载文件系统:mount

    根文件系统之外的其它文件系统要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现;此关联操作即为"挂载";此目录即为"挂载点"

    挂载点:mount point,用于作为另一个文件系统

        (1)事先存在

        (2)应该使用未被或不会被其它进程使用的目录

        (3)挂载点下原有文件将会被隐藏

    mount:挂载文件系统

        mount [-fnrsvw] [-t vfstype] [-o options] device dir

        -r:readonly,只读挂载

        -w:read and write,读写挂载

        -a:挂载/etc/fstab文件中定义的文件系统

        -n:默认情况下,会把挂载的信息保存在/etc/mtab文件中,-n表示不写入此文件内容

        -t vfstype:指明要挂载的设备上的文件系统类型,多数情况下可省略,此时mount会通过blkid来判断挂载的设备的文件系统类型

        -L LABEL:以卷标指明挂载

            mount -L LABEL 挂载点

        -U UUID:以指明UUID挂载

            mount -U UUID 挂载点

        -o OPTIONS:挂载选项

            sync/async:同步/异步操作

            atime/noatime:文件或目录在被访问时是否更新其访问时间戳

            diratime/nodiratime:目录在访问时是否更新其访问时间戳

            remount:重新挂载

            acl:支持使用facl

                mount -o acl DEVICE DIR

                tune2fs -o acl DEVICE

            ro:只读

            rw:读写

            dev/nodev:此设备上是否允许创建设备文件

            exec/noexec:是否允许运行此设备上的程序文件

            auto/noauto:自动挂载

            user/nouser:是否允许普通用户挂载此文件系统

            defaults:默认挂载选项

            suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效

    查看当前系统上所有已经挂载的设备

    # mount

    # cat /proc/mtab

    # cat /proc/mounts

[root@CentOS6 ~]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /testdir type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
[root@CentOS6 ~]#

卸载文件系统:umount

    umount DEVICE | DIR

    注意:正在被进程方文的挂载点无法卸载

        查看被哪个或哪些进程所占用

        # lsof MOUNT_POINT

        # fuser MOUNT_POINT

[root@CentOS7 ~]# umount /dev/sdb1
umount: /one: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@CentOS7 ~]# fuser -v /one
                     USER        PID ACCESS COMMAND
/one:                root     kernel mount /one
                     root      26068 ..c.. bash
[root@CentOS7 ~]#

        

        终止所有正在访问此挂载点的进程

        # fuser -km MOUNT_POINT (注意:危险操作 慎用)

[root@CentOS7 ~]# fuser -km /one
/one:                26068c
[root@CentOS7 ~]# umount /one
[root@CentOS7 ~]#

挂载光盘:

    mount -r /dev/cdrom mount_point

    光盘设备文件:/dev/cdrom  /dev/dvd

弹出光盘:eject

创建ISO文件:

    cp /dev/cdrom /root/centos7.iso

    mkisofs -r -o /root/etc.iso /etc

挂载本地回环设备:

    mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

原创文章,作者:zhai796898,如若转载,请注明出处:http://www.178linux.com/40318

(0)
上一篇 2016-08-26 09:14
下一篇 2016-08-26 17:21

相关推荐

  • Cent OS 6 编译方式安装LAMP

    细节要求: (1) 三者分离于三台主机; (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress; (3) PHP使用FastCGI+xcache; (4) httpd使用非prefork的mpm模式; 一、CentOS6环境准备 1、OS(CentOS6.8)下开发环境包的安装,编译安装程序包需要使用 #yum grou…

    Linux干货 2017-02-24
  • 面向对象简单介绍

    面向对象简单介绍

    Linux干货 2017-11-12
  • Linux下的SSH端口转发

    通常情况下两个不同的网络之间总会开放某一些特定的端口用于通讯使用,而SSH所使用的22端口通常就在开放之列。基于SSH的端口转发就是利用SSH作为中间的代理,达到绕过两个网络之间的限制,顺利的进行任意的端口的访问。端口转发可以分为三种,正向端口转发,反向端口转发和动态端口转发。为了演示这三种端口转发方式的用法我们先假设存在有2个网域Office和Prod,在…

    Linux干货 2015-02-09
  • 通过Nginx来安装一个discuz,软件并不是编译安装的

    这次由于时间有限,所以我就没有用编译安装来启动LMP,只有Nginx 是编译安装的 因为是在centos7上面安装的Nginx所以我们这里由于能力有限,暂时不能将其加入开机启动,日后我会进行改进,将其加入开机启动。这里我们给出Nginxd的编译选项及环境   yum groupinstall "Development&…

    Linux干货 2016-10-25
  • M20-1 8月3号 –权限、用户和组的管理

    一、权限管理:            ls -l                  rwxrwxrwx:               &nb…

    Linux干货 2016-08-08
  • Linux文件属性及如何修改文件属性

    ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性   dr-xr-x—.   7       root     root       4…

    2017-04-03