硬盤分區及掛載

標簽:文件系統、分區、掛載

一、Linux的基本原則

   1、一切皆文件(包括硬件);這個原則會會在很多方面得到體現; 磁盤在Linux中也表現為文件,即/dev目錄下:IDE,ATA:/dev/hd[a-z]    SATA,SCSI,USB,SAS:sd[a-z]。 

   2、由從多單一目的小程序組成 

   3、組合小程序完成復雜任務 ;以小聚大,Linux都告訴我們團隊有多重要了。

   4、盡可能避免捕獲用戶接口,為了方便腳本編程以實現自動化執行; 

   5、使用文本文件保存程序的配置數據:使用一個文本編輯器即可完成系統及服務配置工作;

 

二、機械硬盤

磁道:Track,可以理解為一個圓形盤片由許許多多的同心圓組成,每一個同心圓可以認為是一個磁道。(硬盤是一個高速旋轉的東西,當磁盤旋轉時,磁頭若保持在一個位置上不動,則磁頭會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道)

扇區:Sector,可以聯想到“扇形區域”,磁盤上的每個磁道被等分為若干個弧段,這些弧段便是磁盤的扇區,每個扇區的大小為512個字節,磁盤驅動器在向磁盤讀取和寫入數據時應該以扇區為單位。扇區并不一定是對齊的,這是因為磁道的同心圓的周長是不同的,而我們的扇區的大小是一樣的,這就造成了最外層了0磁道的扇區要比內層的磁道的扇區要多。

柱面:Cylinder,硬盤通常由重疊的一組盤片構成,每個盤面都被劃分為數目相等的磁道,并從外緣的0開始編號,具有相同編號的磁道形成一個圓柱,稱之為磁盤的柱面。顯然,磁盤的柱面數與一個盤面上的磁道數是相等的。

磁頭:Head,當然是讀取信息用的了。每個盤面都有自己的磁頭,如果盤面的雙面都記錄信息,那么雙面都應該有磁頭。所以,硬盤的容量計算公式如下:硬盤的容量=柱面數×磁頭數×扇區數×512(字節數)

硬盤分區及掛載硬盤分區及掛載

 

 

機械硬盤的0磁道0扇區非常重要,它存放著硬盤主引導記錄MBR。也就是說MBR只有512個字節。我們的硬盤是否能夠引導啟動操作系統就靠它了。

  MBR由三部分構成:

  1.主引導程序代碼,占446字節

  2.硬盤分區表DPT,占64字節,沒16字節表示一個分區;每個硬盤上最多有四個主分區或者三個主分區一個擴展分區。擴展分區必須再分區后才能夠使用。分區也無非就是定義了這個分區是從哪個柱面起始到哪個柱面結束。而在一個分區中柱面可能有很多個于是每個分區內又把這些個柱面劃分成一個個的塊組來簡化管理。

  3.主引導扇區結束標志AA55H

三、文件是怎樣被存儲的

1、分區創建完成后要再經過高級格式化創建文件系統后才能用來存儲文件,linux常用的文件系統有ext2(不支持日志功能)、ext3ext4、xfs、swap(交換分區)。因為我們的Linux系統是單根模式的文件目錄樹,所以我們分分區必須經過掛載后才能使用,也就是分區與目錄建立11的關聯關系。

2、磁盤提供給我們最小數據單位扇區對于我們的文件系統還是有些較小,于是文件系統在創建的時候就會把扇區組合劃分成一個個的block;大小一般為扇區大小2N次方大小。常用的塊大小為1024、20484096。

3、我們的分區是被分成數據區、元數據區、日志區(如果文件系統支持的話)三個部分的

4、元數據區是存放inode數據信息的

     inode內容:文件名,大小,時間戳,權限,屬主、屬組,對應的數據存儲在哪些磁盤塊(組)上 ,就是講我們的文件進行邊界劃分,區分不通的文件內容,防止文件內容交叉。

    數據區才是真正存放我們數據的區域。有時候我們的數據很大在元數據上還可能有多級塊組指向、

    計算機是對數字的處理速度最快所有我們每個文件都一個inode編號使用ls -i就能查看到

硬盤分區及掛載

5、每一個文件系統一般都會分為幾個block group,每個中都存放著各自的blockinode bitmap,一般第一個block group上有一個superblock,另外幾個block  上也可能存有備份的superblock。

Superblock內容:總inode數,總block數,空閑的block數;空閑的inode數;預留給管理員的block數;以及這些block的編號和所在block  group。

查看超級塊命令示例:

tune2fs    -l       設備名稱

dumpe2fs         /dev/sda3|less顯示所有block group的信息 顯示超級塊的信息

         6、日志系統的含義是在文件文件的inode信息先被寫入到日志區,等到數據寫入結束后inode信息會從日志區挪到元數據區內。這樣我們在對文件系統檢測是的速度會提高很多,但是也讓我們的文件系統的文件寫入增加了一個步驟有可能會寫入速度造成影響,我想我們偉大的程序員工程師一定通過各種優化的算法讓這個影響可以忽略掉了。

         7、目錄其實也是個文件,他們里面的內容其實就是我們的文件名

         我們的文件存放是先生成inode信息,然后數據寫入到數據區內。

 

四、Linux的文件目錄樹: 

Linux嚴格區分字符大小寫,文件最長命名255個字符,以【/】為分隔符分開各層級文件。是一課倒置的樹 。以根【/】為起點所有的文件和路徑都在根下。

硬盤分區及掛載

   

一個目錄:就是一個名稱空間 

    相對路徑:從非頂級,缺省路徑時從當前路徑開始 

    絕對路徑:從頂級名稱空間起始標記的路徑 /bin/ls

    Linux 是單目錄的,分區是掛在到這些目錄節點上的(可以理解為分區和目錄是綁定的,打開這個目錄就是進入這個分區)。 

因為linux的文件眾多繁雜,也是為了統一發行商所發行的Linux系統的文件名保持一定的兼容性就有了FHSLinux  (Filesystem Hierarchy Standard);定義了linux下一些目錄的固定應用范圍。

/boot: 系統啟動相關的文件,如內核、initrd,以及grub(bootloader)
/dev: 設備文件       
設備文件:                    
塊設備:隨機訪問,數據塊                    
字符設備:線性訪問,按字符為單位                    
設備號:主設備號(major)和次設備號(minor)
/etc:配置文件
/home:用戶的家目錄,每一個用戶的家目錄通常默認為
/home/USERNAME
/root:管理員的家目錄;
/lib:庫文件          
靜態庫:.a         
動態庫:.dll, .so (shared object)
/lib/modules:內核模塊文件
/media:掛載點目錄,移動設備
/mnt:掛載點目錄,額外的臨時文件系統
/opt:可選目錄,第三方程序的安裝目錄
/proc:偽文件系統,內核映射文件
/sys:偽文件系統,跟硬件設備相關的屬性映射文件
/tmp:臨時文件
/var/tmp:
/var:可變化的文件
/bin:可執行文件
/sbin:管理命令 
/usr:用戶程序

Linux文件的命名規則:

1、長度不能超過255個字符;

2、不能使用/當文件名

3、嚴格區分大小寫

  

五、硬盤要經過多少坎坷才能存放文件

5.1 分區

5.1.1 命令行中列出分區列表

[root@zhuzw-centos6 ~]# fdisk -l /dev/sdb  #列出硬盤上的所有分區  #fdisk –ul 可以列出所有磁盤的分區表

 

Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x6acdf85b
 
 Device Boot      Start      End      Blocks   Id  System
/dev/sdb1         1       15665   125829081    5  Extended
/dev/sdb5          1       15665   125829049+  8e  Linux LVM

 

5.1.2 fdisk的交互式使用之刪除分區

Fdisk是個交互式的工具

[root@zhuzw-centos6 ~]# fdisk /dev/sdb     #fdisk 后面跟上你想進行分區操作的設備文件即可,就會進入一下界面
 
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
 
Command (m for help): m         #鍵入m就會打印出選項菜單
Command action
   a   toggle a bootable flag      #設置引導扇區
   b   edit bsd disklabel          #編輯BSD磁盤
   c   toggle the dos compatibility flag
   d   delete a partition          #刪除分區
   l   list known partition types    #列出已知分區類型
   m   print this menu           #打印菜單
   n   add a new partition        #新建一個分區
   o   create a new empty DOS partition table
   p   print the partition table      #打印分區表
   q   quit without saving changes   #不保存退出
   s   create a new empty Sun disklabel
   t   change a partition's system id  #修改分區類型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit   #保存退出
   x   extra functionality (experts only)  #專家模式
 
我的/dev/sdb上已經有兩個分區了
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       15665   125829081    5  Extended  # 5代表的是擴展分區
/dev/sdb5               1       15665   125829049+  8e  Linux LVM 
首先把這兩個分區刪除
Command (m for help): d    #鍵入d
Partition number (1-5): 1    #詢問你要刪除哪個分區,我們這里選擇刪除分區1
 
Command (m for help): p    #鍵入p打印分區表
 
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x6acdf85b
 
   Device Boot      Start         End      Blocks   Id  System
Command (m for help):
#分區沒有了,這是因為/sdb5是建立在擴展分區上進行分區創建的,直接刪除擴展分區會讓擴展分區上的所有分區全部丟失。在刪除擴展分區時一定要慎重。
 
5.1.3 fdisk的交互式使用之新建分區
Command (m for help): n    #鍵入n創建分區,不區分大小寫
Command action
   e   extended          #交互式選擇 e 擴展分區
   p   primary partition (1-4) #p主分區
p         #鍵入p選擇創建主分區,不區分大小寫
Partition number (1-4): 1      #選擇分區號
First cylinder (1-15665, default 1):  #選擇起始柱面,有默認值可以直接回車
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-15665, default 15665): +500M   #選擇分區大小,可以使用+size{K,M,G} +大小{K M G} 這里區分大小寫
 
Command (m for help): N
Command action
   e   extended
   p   primary partition (1-4)
E         #鍵入e選擇創建擴展分區,不區分大小寫。注意擴展分區需要在進行創建分區才可以使用
Partition number (1-4): 2
First cylinder (66-15665, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-15665, default 15665): +20G    
 
Command (m for help): N    
Command action
   l   logical (5 or over)    #這是針對擴展分區創建分區的選項
   p   primary partition (1-4)
L
First cylinder (66-2677, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-2677, default 2677): +10G

 

5.1.3 fdisk的交互式使用之修改分區表示ID

Command (m for help): T     #鍵入T修改分區識別ID,這里一定要修改要不然當你的系統損壞或者重裝系統后,有可能會發生原有分區無法正常被識別。如swap lvm RAID
Partition number (1-5): 5      #鍵入分區號,這個/dev/sdb5后面的那個數字
Hex code (type L to list codes): L   #再次還科技鍵入L查看分區識別ID
 
 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris       
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx        
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data   
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility  
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt        
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access    
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT           
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor     
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor     
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary 
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS   
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep       
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT           
1e  Hidden W95 FAT1
Hex code (type L to list codes): 8e    #鍵入相應的分區識別ID
Changed system type of partition 5 to 8e (Linux LVM)
 
Command (m for help): p 
 
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x6acdf85b
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          65      522081   83  Linux
/dev/sdb2              66        2677    20980890    5  Extended
/dev/sdb5              66        1371    10490413+  8e  Linux LVM
 
(1)分區創建好了之后,用 fdisk -l 命令可以查看分區情況,但需要注意的是:雖然fidsk命令列出了所有的分區情況,不代表新分區就可以被操作系統識別了,
文件系統是內核的功能(即軟件能識別新分區但內核并不能識別),可以用" cat /proc/partitions "命令查看,若要內核能識別需要把分區變化情況同步到內核。
[root@zhuzw-centos6 ~]# cat /proc/partitions
major minor  #blocks  name
 
   8        0   31457280 sda
   8        1     512000 sda1
   8        2   30944256 sda2
   8       16  125829120 sdb
   8       17    2104483 sdb1
   8       18          1 sdb2
   8       21  123724566 sdb5
   8       32   83886080 sdc
   8       33   83883397 sdc1
 253        0   28909568 dm-0
 253        1    2031616 dm-1

如果內核沒有識別我們新創建的分區可以通過以下命令敲幾遍,讓內核識別我們新創建的分區。

# partx -a [DEVICE]

# kpartx -af  [DEVICE]

2 要特別注意 :分區及格式化操作會永久地破壞目前存在于該分區上的任何數據,操作時需要特別小心(操作前對原有數據做備份)!

 

5.2 創建文件系統,也就是高級格式化分區

Linux內核是模塊化的,這些模塊支持動態裝載和卸載;

文件系統可能會被直接打包進內核,也可以被編譯成內核模塊;

也就是說linux支持的文件系統,發行版不一定支持。如果此文件系統在發行版上不被支持而你又想要使用的話可以將此模塊動態加載進linux內核中。

 

命令 : mkfs mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4 mkfs.xfs

5.2.1 mke2fs

mke2fs也非是根據選項來調用mkfs.ext2, mkfs.ext3, mkfs.ext4命令來完成文件分區的格式化操作。

 

                   -t {ext2|ext3|ext4}:指定文件系統

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

                   -L LABEL: 打標

                   -j: 相當于 -t ext3

                   -i #: 每多少字節給創建一個inode,此字節數不應該少小塊大小

                   -N #: 直接指定可用的inode數;

                   -m #: 指定預留空間占整個分區空間的百分比;默認為5;

                   -O:指定分區特性

[root@zhuzw-centos6 ~]# mke2fs -L "myzhuzw" -b 2048 -m 1 -t ext4 /dev/sdb5
mke2fs 1.41.12 (17-May-2010)
文件系統標簽=myzhuzw    #卷標為myzhuzw
操作系統:Linux
塊大小=2048 (log=1)     #-b 2048 將塊大小修為2048 默認是4096
分塊大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
7733248 inodes, 61862282 blocks
618622 blocks (1.00%) reserved for the super user  #預留1.00%的空間給超級用戶
第一個數據塊=0
Maximum filesystem blocks=598736896
3776 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:    #超級塊備份
         16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
         2048000, 3981312, 5619712, 10240000, 11943936, 35831808, 39337984,
         51200000
 
正在寫入inode表: 完成                           
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
 
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

5.2.2 Mkfs  mkfs [-V] [-t fstype] [fs-options] device [size]

Mkfs 也是通過調用mkfs.ext2, mkfs.ext3, mkfs.ext4 mkfs.xfs這幾個命令來實現對分區創建文件系統,默認是ext2的文件系統。通過-t 來調整文件系統

 

[root@zhuzw-centos6 ~]# mkfs -t ext3 -b 2048 /dev/sdb5  #這里的-b 2048 其實是mkfs.ext3的選項參數
mke2fs 1.41.12 (17-May-2010)
文件系統標簽=
操作系統:Linux
塊大小=2048 (log=1)
分塊大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
7733248 inodes, 61862282 blocks
3093114 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=598736896
3776 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
         16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
         2048000, 3981312, 5619712, 10240000, 11943936, 35831808, 39337984,
         51200000
 
正在寫入inode表: 完成                           
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
 
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

5.2.3創建交換分區:

mkswap [-L LABEL] DEVICE 

[root@zhuzw-centos6 ~]# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: don't erase bootbits sectors
        (dos partition table detected). Use -f to force.
Setting up swapspace version 1, size = 2104476 KiB
no label, UUID=383b4ec2-9703-46fe-93ac-a4416da0c862

5.2.4 一些常用的查看和修改命令

blkid: 查看指定塊設備的信息

[root@zhuzw-centos6 ~]# blkid    #不加參數為產科所有已經創建文件系統的分區參數,包含卷標UUID 文件系統類型
/dev/sda1: UUID="cf945085-4631-4e6f-a250-7a4d7e2b82ce" TYPE="ext4"
/dev/sda2: UUID="rpUYLk-vdqY-k5YM-BRFy-x91e-3jzw-6JB99P" TYPE="LVM2_member"
/dev/sdb5: UUID="723ef74d-1a19-47f4-b211-5aa90e50c5c1" SEC_TYPE="ext2" TYPE="ext3"
/dev/mapper/vg_zhuzwcentos6-lv_root: UUID="42e29e66-1644-4909-8aa9-87d978686751" TYPE="ext4"
/dev/mapper/vg_zhuzwcentos6-lv_swap: UUID="e05e3e78-719d-4061-a623-d88ff219fb45" TYPE="swap".
 
[root@zhuzw-centos6 ~]# blkid /dev/sdb5   #加上分區文件為至查看此分區
/dev/sdb5: UUID="723ef74d-1a19-47f4-b211-5aa90e50c5c1" SEC_TYPE="ext2" TYPE="ext3"

  

e2label:查看或設定卷標

e2label DEVICE [LABEL]  #不加卷標參數為查看,加卷標參數為修改稿卷標
[root@zhuzw-centos6 ~]# e2label  /dev/sdb5
my
[root@zhuzw-centos6 ~]# e2label  /dev/sdb5 zhuzw
[root@zhuzw-centos6 ~]# e2label  /dev/sdb5
zhuzw

 查看超級塊信息:

 # tune2fs -l DEVICE

 # dumpe2fs -h DEVICE

 

tune2fs :修改分區屬性:

 -j: ext2 --> ext3
 -L LABEL:修改卷標
 -m #: 修改預留空間百分比;
 -O [^]FEATURE: 啟用指定特性,特性前加^,表示關閉此種特性
 -o [^]mount-options: 開啟或關閉指定的掛載選項
 塊大小是固定的無法修改

 

df: disk free    查看看磁盤空間使用情況

   -h: human-readable  易讀的顯示方式

   -i: 顯示inode的使用信息而非默認的磁盤空間使用信息

[root@zhuzw-centos6 /]# df -h
Filesystem                           Size  Used Avail Use% Mounted on
/dev/mapper/vg_zhuzwcentos6-lv_root   28G  3.3G   23G  13% /
tmpfs                                491M   72K  491M   1% /dev/shm
/dev/sda1                            485M   35M  426M   8% /boot
/dev/sdb5                            117G   83M  111G   1% /mnt/zhuzw
 [root@zhuzw-centos6 /]# df -i
Filesystem                           Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/vg_zhuzwcentos6-lv_root 1806896 93172 1713724    6% /
tmpfs                                125551     3  125548    1% /dev/shm
/dev/sda1                            128016    38  127978    1% /boot
/dev/sdb5                           7733248    11 7733237    1% /mnt/zhuzw

du: disk usage  一般用于查看目錄總大小

  -s:  查看目錄大小

  -h:  易讀的顯示方式

[root@zhuzw-centos6 /]# du -sh /tmp
265M        /tmp

    

5.2.5 文件系統修復

凡事有意外;因進程意外中止或系統崩潰等情況導入寫入操作非正常中止時,可能會導致文件損壞;此時,應該修復文件系統,需要離線修復,交換分區不能修復。

                  

fsck  [options] DEVICE

-t fstype  #不指也可以自動識別

-a: 自動修復錯誤

-r: 交互式修復錯誤

 

[root@zhuzw-centos6 ~]# fsck /dev/sdb5
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
zhuzw: clean, 11/7733248 files, 1017347/61862282 blocks

        

e2fsck: 專用于修改ext系列文件系統

  -y: 對問題自動回答為yes

  -f: 強制進行檢測

 

5.3 文件系統掛載

 

文件系統掛載:默認只有管理員才有權限,可以通過選項來允許普通用戶對特定的分區操作

         掛載就是將已經格式化好的分區與目錄建立11的關聯關系。如果這個目錄內有文件,原文件會被隱藏。當新的掛載被卸掉后原文件會再次出現。

 

5.3.1 掛載

命令:mount          DEVICE MOUNT_POINT

 

         Linux系統默認一般用于掛載點兩個目錄:/mnt, /media。當然不是掛載到這另個目錄上,而是在這兩個目錄上新建一個目錄文件后掛載到你所創建的目錄文件上。

 

         mount [option]… [-t fstype] [-o option]  設備  掛載點

                   掛載點需要事創建并且最好是空閑的目錄。                                

常用的掛載選項:
   -t fstype:指定文件系統類型
   -r: readonly, 只讀掛載
   -w: read and write, 讀寫掛載
   -L LABEL:以卷標方式指定設備, mount -L MYDATA 掛載點
   -U UUID: 以UUID的方式指定設備,mount UUID='uuid' 掛載點, mount -U uuid 掛載點
   -a: 自動掛載所有(/etc/fstab文件中定義的)的支持自動掛載設備
   -n: 掛載時,不更新/etc/mtab文件
 
     -o option: 默認選項:為rw, suid, dev, exec, auto, nouser, async, and relatime.
        async:異步I/O,數據寫操作先于內存完成,而后再根據某種策略同步至持久設備中
        sync: 同步I/O,
        atime/noatime: 文件和目錄被訪問時是更新最近一次的訪問時間戳
        auto/noauto:設備是否支持mount的-a選項自動掛載
         diratime/nodiratime: 目錄被訪問時是更新最近一次的訪問時間戳
        dev/nodev: 是否支持在此設備上使用設備;
        exec/noexec: 是否允許執行此設備上的二進制程序文件
        suid/nosuid: 是否支持在此設備的文件上使用suid
        remount: 重新掛載,通常用于不卸載的情況下重新指定掛載選項
        ro: 只讀
        rw: 讀寫
        user/nouser: 是否允許普通掛載此文件設備
        acl: 在此設備是支持使用facl,默認不支持;
        例如:以指定掛載后支持acl為例:
 
                                    
[root@zhuzw-centos6 mnt]# pwd
/mnt
[root@zhuzw-centos6 mnt]# mkdir zhuzw   #新建一個zhuzw目錄
[root@zhuzw-centos6 mnt]# cd zhuzw
[root@zhuzw-centos6 zhuzw]# ls
[root@zhuzw-centos6 zhuzw]# touch a.txt  #建一個空文件
[root@zhuzw-centos6 zhuzw]# cd ..       #回到父目錄
[root@zhuzw-centos6 mnt]# mount /dev/sdb5 /mnt/zhuzw    #掛載
[root@zhuzw-centos6 mnt]# mount               #查看掛載信息
/dev/mapper/vg_zhuzwcentos6-lv_root 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)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
/dev/sdb5 on /mnt/zhuzw type ext3 (rw)     #我們剛才掛載的文件
 
[root@zhuzw-centos6 mnt]# mount -o remount -o acl -o ro /dev/sdb5 /mnt/zhuzw   #這個-0 多選項要這么用

5.3.2 卸載

卸載時必須沒有用戶在使用此目錄才可以

查看哪些進程正在訪問掛載的設備:

         fuser -v 掛載點

 

中止正在此掛載點的進程:

         fuser -km 掛載點

 

卸載命令:umount

 

umount DEVICE   #umount /dev/sdb5

umount MOUNT_POINT   #umount /mnt/zhuzw

 

5.3.3 掛卸載交換分區

[root@zhuzw-centos6 ~]# swapon /dev/sdb1   #掛載交換分區
 [root@zhuzw-centos6 ~]# free
             total       used       free     shared    buffers     cached
Mem:       1004412     244448     759964          0      33540      38948
-/+ buffers/cache:     171960     832452
Swap:      4136080          0    4136080
[root@zhuzw-centos6 ~]# swapoff /dev/sdb1    #卸載交換分區
[root@zhuzw-centos6 ~]# free
             total       used       free     shared    buffers     cached
Mem:       1004412     243332     761080          0      33540      38956
-/+ buffers/cache:     170836     833576
Swap:      2031608          0    2031608

 

5.3.4查看所有已經掛載的設備:

# mount
[root@zhuzw-centos6 mnt]# mount               #查看掛載信息
/dev/mapper/vg_zhuzwcentos6-lv_root 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)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
/dev/sdb5 on /mnt/zhuzw type ext3 (rw)     #我們剛才掛載的文件
 
# cat /proc/mounts
[root@zhuzw-centos6 mnt]# cat /proc/mounts
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=491792k,nr_inodes=122948,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0
/dev/mapper/vg_zhuzwcentos6-lv_root / ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /selinux selinuxfs rw,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=491792k,nr_inodes=122948,mode=755 0 0
/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0
/dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
/etc/auto.misc /misc autofs rw,relatime,fd=7,pgrp=1911,timeout=300,minproto=5,maxproto=5,indirect 0 0
-hosts /net autofs rw,relatime,fd=13,pgrp=1911,timeout=300,minproto=5,maxproto=5,indirect 0 0
/dev/sdb5 /mnt/zhuzw ext3 ro,seclabel,relatime,errors=continue,acl,barrier=1,data=ordered 0 0
 
# cat /etc/mtab
[root@zhuzw-centos6 mnt]# cat /etc/mtab
/dev/mapper/vg_zhuzwcentos6-lv_root / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
/dev/sda1 /boot ext4 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,default_permissions,allow_other 0 0
/dev/sdb5 /mnt/zhuzw ext3 ro,acl 0 0

原創文章,作者:東郭先生,如若轉載,請注明出處:http://www.www58058.com/4383

(0)
東郭先生東郭先生
上一篇 2015-05-18
下一篇 2015-05-18

相關推薦

  • 搭建緩存功能的WEB服務集群

    搭建緩存功能的WEB服務集群 實驗簡介 本文主要介紹雙主模型的nginx proxy高可用集群的搭建方式。實驗環境: 使用nfs服務器提供頁面數據共享 使用單獨的mariadb服務器提供關系型數據庫 使用兩臺httpd服務器處理動態的php和靜態頁面資源 使用兩臺nginx服務器處理圖片資源 使用兩臺varnish服務器作緩存處理 使用兩臺nginx作代理 …

    Linux干貨 2017-07-15
  • Linux第四周總結

    1、復制/etc/skel目錄為/home/tuser1, 要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop, 其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。 4、復制/etc/…

    2017-07-24
  • ip命令詳解

      Linux中的ip命令功能強大,可以完成接口配置、路由管理等任務。   格式:ip [ OPTIONS ] OBJECT { COMMAND | help }   下面使用ip命令來完成一些常用的操作:     1、查看接口狀態       ip link show [設備名…

    Linux干貨 2016-01-14
  • RPM總結(一)

    軟件包基礎軟件包運行環境硬件、內核、應用程序的關系包管理器程序包管理器Linux不同系統上的包管理器RPM的優點rpm包命名方式一般源代碼的命名rpm包的命名rpm包的分類與拆包包管理工具RPM包管理器:程序包管理器:獲取程序包的途徑:rpm包管理CentOS系統上使用rpm命令管理程序包:安裝升級:降級降級實例more 軟件包基礎 包管理過程中,最常用的操…

    Linux干貨 2016-08-24
  • N27網絡班第6周作業

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; :%s@^[[:space:]]\+@#&@g 2、復制/boot/grub/grub.conf 至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符 :%s@^[[:space:]]…

    Linux干貨 2017-09-03
  • 馬哥教育網絡班21期+第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]# cp -r /etc/skel /home/tuser1; chmod -R gx=— /home/tuser1 [root@mag…

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