磁盤及文件系統管理

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

    數據塊大?。?024bytes、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.www58058.com/40318

(0)
zhai796898zhai796898
上一篇 2016-08-26
下一篇 2016-08-26

相關推薦

  • 馬哥教育網絡21期+第一周練習博客

    一、描述計算機的組成及其功能。   計算機設備是由運算器、控制器、存儲器、輸入設備和輸出設備組成。它們的功能和對應設備分別如下: 運算器(arithmetic unit):在計算機中執行各種算術和邏輯運算操作的部件。運算器包括寄存器、執行部件和控制電路3個部      &nbsp…

    Linux干貨 2016-07-12
  • M20-1擴展正則表達式作業

    1、取本機ip地址 [root@centos6 ~]# ifconfig eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:AB     &nb…

    Linux干貨 2016-08-10
  • 掛載

    掛載的相關介紹

    Linux干貨 2017-12-10
  • python裝飾器詳解

    python之裝飾器詳解 一、裝飾器定義 定義一個函數,可以接受一個函數作為參數,對該函數進行一些包裝,不改變函數的本身。 二、裝飾器四部曲(分解) 1、函數可賦值給變量。若賦值給變量的是調用后的函數,變量的值就是return的返回值。 切記:函數賦值給變量,只看return的值。分清楚函數是處于調用狀態還是未被調用狀態。若函數沒有寫return,默認ret…

    2017-02-08
  • 馬哥教育網絡19期+第十二周課程練習

    1、請描述一次完整的http請求處理過程; a.向根域名服務器請求解析域名,然后根服務器返回相應的IP信息; b.用戶的Web瀏覽器向服務器端的80端口通過三次握手建立TCP連接; c.建立完TCP連接后發送HTTP請求,請求的格式包括請求方法、URL和協議版本號,方法有GET、HEAD、POST、PUT、DELETE、OPTIONS、TRACE,如: &n…

    Linux干貨 2016-08-22
  • 關于find命令的實際應用

    1、查找/var目錄下屬主為root,且屬組為mail的所有文件 2、查找/var目錄下不屬于root、lp、gdm的所有文件 3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件 4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件 5、查找/etc目錄下大于1M且類型為普通文件的所有文件 6、查找/e…

    Linux干貨 2016-08-16
欧美性久久久久