溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

磁盤和文件系統管理

發布時間:2020-06-21 11:19:06 來源:網絡 閱讀:349 作者:大火車 欄目:系統運維

    我們知道一塊磁盤是可以被分區成多個分區的(partition),以Windows的觀點來看,你可能會有一顆磁盤并且將他分區成為C:, D:, E:盤,那個C, D,E就是分區。Linux的設備都是以文件的型態存在,磁盤設備接口的不同也早就了磁盤文件名的不同。即IDE接口的磁盤設備文件名都是/dev/hd[a-z]的格式,例如:/dev/hda./dev/hdb。SCSI, SATA, SAS, USB接口的磁盤設備文件名都是:/dev/sd[a-z],例如sda.sdb,磁盤設備的命名主要是根據Linux核心偵測到磁盤的順序來進行的,例如你有兩塊SATA接口的硬盤要插在有六個SATA插槽的主板上,一塊插在SATA1接口上一塊插在STAT3接口上,因為是使用偵測到的順序來決定設備文件名,并非與實際插槽代號有關,所以這兩塊磁盤的命名就是SATA1插槽上為/dev/sda,而SATA3插槽上的為/dev/sdb。那么同一設備上的不同分區表示就是1.2.3.4.5這樣,/dev/sda磁盤上的分區命名為/dev/sda1,/dev/sda2....注意:centos6和centos7統統將硬盤設備文件標識為/dev/sda[a-z]#



磁盤分區

    兩種分區方式: MBR, GPT

    早期的 Linux 系統為了兼容Windows的磁盤,因此使用的是支持 Windows 的 MBR(Master Boot Record, 主要開機紀錄區)的方式來處理開機管理程序與分區表!而開機管理程序紀錄區與分區表則通通放在磁盤的第一個扇區, 這個扇區通常是512Bytes的大?。ㄅf的磁盤扇區是512Bytes)所以說,第一個扇區及(0扇區)512Byte會有兩個數據;

    主要開機記錄區(Master Boot Record, MBR):主要用于引導系統啟動,有446 Bytes
    分區表(partition table):記錄整顆硬盤分區的狀態,有64 Bytes

    由于分區表所在區塊僅有64 Bytes容量,而每個分區要占用16Bytes,因此最多僅能記錄4個分區,每個記錄區記錄了該區段的啟始與結束的柱面號碼。假設這個設備名稱為/dev/sda/那么這個4個分區的命名分別是/dev/sda1,sda2,sda3,sda4.而這4個分區又被稱為主分區和擴展分區,通常這4個分區為3個主分區和一個擴展分區,而擴展分區又可延伸N個邏輯分區(注意;一旦運用擴展分區,即此擴展分區不在存儲實際數據,而是存儲指向邏輯分區的信息,邏輯分區的設備名只能從5開始。)

    GPT支持128個分區,已經沒有所謂的主、延伸、邏輯分區的概念,每個都可以視為是主分區,使用64位,支持8Z(512Byte/block ) 64Z (4096Byte/block)GPT磁盤分區結構解決了MBR只能分4個主分區的的缺點,并且支持大硬盤,分區結構清晰簡單而且有備份。

    使用128位UUID 表示磁盤和分區 GPT分區表自動備份在頭和尾兩份,并有CRC校驗位

    UEFI (統一擴展固件接口)硬件支持GPT,使操作系統啟動

    結構如;

    磁盤和文件系統管理

    保護MBR區:與 MBR 模式相似的,記錄開機引導信息程序。

    GPT頭:這個部份紀錄了分區表本身的位置與大小,同時紀錄了備份用的GPT分區放置的位置,同時放置了分區表的檢驗碼(CRC32),操作系統可以根據這個檢驗碼來判斷GPT是否正確。若有錯誤,還可以通過這個紀錄區來取得備份的GPT(磁盤最后的那個備份區塊) 來恢復GPT的正常運行!

    分區表:實際記錄分區信息處        



管理分區工具;fdisk,parted,sfdisk   

    fdisk 創建MBR分區,也支持GPT,對于一塊硬盤,最多只能管理15分區
    gdisk 創建GPT分區
    GNU parted 高級分區操作(創建、復制、調整大小等等)
    partprobe-重新設置內存中的內核分區表版本
    fdisk /dev/sdb
    gfisk /dev/sdb 類fdisk 的GPT分區工具
  fdisk命令

    fdisk -l [-u] [device...]:列出指定磁盤設備上的分區情況;查看磁盤的分區信息

]# fdisk -l /dev/sda

Disk /dev/sda: 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: 0x000e3d03
==================================================================
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64       15666   125316096   8e  Linux LVM

    上面可看到設備名稱是/dev/sda,大小為128G,等信息....,下邊一欄則顯示的是分區信息,可看到目前有兩個分區,分別sda1和sda2,而sda1作為了系統的引導分區,開始柱面為1,結束柱面為64,塊大小,分區類型ID等等...(注意;對cenots6來說start是開始柱面,End是結束柱面,對centos7來說start是開始扇區,End是結束扇區)


    fdisk device(設備)

    fdisk提供了一個交互式接口來管理分區,它有許多子命令,分別用于不同的管理功能;所有操作均在內存中進行,沒有直接同步到磁盤;直到使用w命令保存到磁盤上才會生效

n:創建新分區

d:刪除已有分區

t:修改分區類型

l:查看所有已知id

w:保存并且退出

q:不保存并退出

m:查看幫助信息

p:顯示現有分區信息

示例

]# fdisk /dev/sda

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): n 輸入n創建新分區
Command action
   e   extended :擴展分區
   p   primary partition (1-4):主分區
   p:輸入p創建主分區
   Partition number (1-4): 3 選擇主分區號
   First cylinder (7859-15665, default 7859):  從哪個柱面開始
   Using default value 7859 直接回車
   Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +10G 創建一個10G的分區 這里就加10G
   Command (m for help): p 回車后敲p命令 可以看到/dev/sda3主分區已經創建成功

Disk /dev/sda: 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: 0x0004badb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda3            7859        9164    10489446   83  Linux
Command (m for help): n 接下來還可以繼續創建分區,但是我們現在已經創建了3個主分區了,如果還要創建主分區的話 
                        剩余的磁盤空間就要全部給其使用,(一塊磁盤最多只能有四個主分區)否則余出的空間就不能用了。
                        如果我們要多創建幾個分區,這里我們選擇創建擴展分區。
Command action
   e   extended
   p   primary partition (1-4)
   e
Selected partition 4
First cylinder (9165-15665, default 9165): (這里直接敲回車,表示把起始柱面9165到結束柱面15665全部給此擴展分區)
Using default value 9165
Last cylinder, +cylinders or +size{K,M,G} (9165-15665, default 15665): 
Using default value 15665
Command (m for help): p 再次敲p可看到編號為4的擴展分區已經創建

Disk /dev/sda: 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: 0x0004badb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda3            7859        9164    10489446   83  Linux
/dev/sda4            9165       15665    52219282+   5  Extended
Command (m for help): n 再次敲n可繼續創建邏輯分區,如果直接退出 再次使用fdisk命令創建新的擴展分區也可創建邏輯分區,如下
Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
 l 敲l選擇創建邏輯分區
 First cylinder (7859-15665, default 7859): 邏輯分區起始柱面,直接敲回車默認為7859開始(自己指定起始柱面只需要輸入柱面號即可)
Using default value 7859 :直接敲回車默認為7859開始
Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +10G 輸入10G選擇創建一個10G大小的邏輯分區

Command (m for help): p 敲p顯示分區列表,可看到/dev/sda5邏輯分區已經創建成功

Disk /dev/sda: 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: 0x0004badb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda4            7859       15665    62708728+   5  Extended
/dev/sda5            7859        9164    10489414+  83  Linux
Command (m for help): w 敲w保存退出。此時會提示設備資源忙
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

執行cat /proc/partitions 查看設備列表,發現sda3,4,5并沒有被內核識別

]# cat /proc/partitions 
major minor  #blocks  name

   8        0  125829120 sda
   8        1     204800 sda1
   8        2   62914560 sda2
 253        0   20971520 dm-0
 253        1    2097152 dm-1
 253        2   10485760 dm-2
 253        3   20971520 dm-3

執行partx -a /dev/sda.(同步分區列表)讓內核重讀設備,一次不行就兩次

]# partx -a /dev/sda

然后再次cat /proc/partitions

]# cat /proc/partitions 
major minor  #blocks  name

   8        0  125829120 sda
   8        1     204800 sda1
   8        2   62914560 sda2  注:此處因為誤操作在創建sda3的時候沒有敲擊w保存退出,所有看不到sda3
   8        4         31 sda4
   8        5   10489414 sda5
 253        0   20971520 dm-0
 253        1    2097152 dm-1
 253        2   10485760 dm-2
 253        3   20971520 dm-3

注意:在已經分區并且已經掛載其中某個分區的磁盤設備上創建的新分區,內核可能在創建完成后無法直接識別;

查看:cat /prot/partitions

通知內核強制重新讀取磁盤分區表;

centos5:partprobe[device]

centos6,7:partx,kpartx

partx-a [device]

kpartx-af[device]

有時候可能需要執行兩次

至此分區創建完成 

完整示例如下

[root@localhost ~]# fdisk /dev/sda

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): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (7859-15665, default 7859): 
Using default value 7859
Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +10G

Command (m for help): p

Disk /dev/sda: 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: 0x000483ba

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda3            7859        9164    10489446   83  Linux

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Selected partition 4
First cylinder (9165-15665, default 9165): 
Using default value 9165
Last cylinder, +cylinders or +size{K,M,G} (9165-15665, default 15665): 
Using default value 15665

Command (m for help): p

Disk /dev/sda: 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: 0x000483ba

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda3            7859        9164    10489446   83  Linux
/dev/sda4            9165       15665    52219282+   5  Extended

Command (m for help): n
First cylinder (9165-15665, default 9165): 
Using default value 9165
Last cylinder, +cylinders or +size{K,M,G} (9165-15665, default 15665): +10G

Command (m for help): p

Disk /dev/sda: 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: 0x000483ba

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sda3            7859        9164    10489446   83  Linux
/dev/sda4            9165       15665    52219282+   5  Extended
/dev/sda5            9165       10470    10490413+  83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
[root@localhost ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
BLKPG: Device or resource busy
error adding partition 4
BLKPG: Device or resource busy
error adding partition 5

刪除分區用
partx -d -n M:N /dev/DEVICE
centos6: –nr N-M
CentOS 5, 7: 使用partprobe
partprobe [/dev/DEVICE]  



修改分區類型

    以第六個分區為例如下

]# fdisk /dev/sda
Command (m for help): l 敲擊l查看分區類型
0  Empty            24  NEC DOS           81  Minix / old Lin bf  Solaris        
1  FAT12            39  Plan 9            82  Linux swap / So c1  DRDOS/sec (FAT-
Command (m for help): t 鍵入t選項 修改分區類型
Partition number (1-6): 6 鍵入要修改的分區編號
Hex code (type L to list codes):82 鍵入要修改的類型編號
Command (m for help): p 再次查看列表
/dev/sda6           10471       10732     2104483+  82  Linux swap / Solaris  修改成功

修改成功,現在磁盤分區和修改分區類型都已搞定,下面進入磁盤分區下的文件系統。



文件系統管理工具:

創建文件系統工具

mkfs;

mkfs.ext2(無日志功能),mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat...

檢測及修復文件系統的工具

fsck;

fsck.ext2,fsck.ext3,..

查看其屬性的工具

dumpe2fs,tune2fs

調整文件系統特性:

tune2fs    

    內核文件系統的組成部分:

        如果一個文件系統想要在系統上運行起來的話,必須要裝載對應的模塊

lsmod:查看當前系統內核已經裝載的模塊,如果內核相應識別一個文件系統,必須先裝載這個模塊

文件系統驅動:由內核提供,

文件系統管理工具:由用戶空間的應用程序提供




    

ext系列文件系統的管理工具:

mkfs.兩次tab可看到多種文件系列

mkfs.ext2,mkfs.ext3,mkfs.ext4(向前兼容較老的版本)

mkfs -t ext2=mkfs.ext2

ext2:沒有日志功能,ext3,4有日志功能,ext4性能有很大提升,建議使用ext4文件系統

命令

mkfs.ext2 /dev/sda#(敲下回車,及完成格式化文件系統)

[root@localhost ~]# mkfs.ext2 /dev/sda6
mke2fs 1.41.12 (17-May-2010)
Filesystem label=       文件系統卷標,此處沒有指明,所以為空
OS type: Linux           操作系統類型
Block size=4096 (log=2)    塊大小,默認為4K
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131648 inodes, 526120 blocks  一共給此分區創建了多少個inode,和多少個數據塊
26306 blocks (5.00%) reserved for the super user 其中有多個數據塊預留給超級管理員的,默認為總數據塊數的5%
First data block=0 第一個數據塊的編號從0開始
Maximum filesystem blocks=541065216 文件系統最大的數據塊編號
17 block groups 一共多少個塊組
32768 blocks per group, 32768 fragments per group  每個組內有多少個塊,
7744 inodes per group 每個組中有多少個inode
Superblock backups stored on blocks:  超級塊備份在哪些數據塊的塊編號
	32768, 98304, 163840, 229376, 294912

Writing inode tables: done    正在寫入inode表,這里顯示寫入完成                        
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

blkid /dev/sda#

可查看文件系統類型

示例

]# blkid /dev/sda6
/dev/sda6: UUID="8353a98f-ac7f-413c-a79a-8277ad2a71ba" TYPE="ext2"

每一個設備都有一個隨機的UUID;全局唯一標識符

再次執行mkfs.ext3 /dev/sda6,將ext2文件系統格式化為ext3。

]# mkfs.ext3 /dev/sda6

Writing inode tables: done                            
Creating journal (16384 blocks): done   多了一項 創建日志成功,因為ext3文件系統支持日志功能

當然了也可以再此格式話為ext4格式,ext4格式同樣支持日志功能,而且在單個文件和單個文件系統的大小比ext3性能更強大 

centos6 默認不支持xfs

如果要安裝得先安裝xfsprogs工具;可用yum進行安裝,然后在執行]# mkfs.xfs /dev/sda6 -f 強制將文件系統格式化為xfs格式

# mkfs.xfs /dev/sda6 -f

ext系列文件系統專用管理工具:mke2fs

mke2fs  [ option] device

-t{ext2|ext3|ext4}:指明要創建的文件系統類型

mkfs.etx4=mkfs -t ext4=mke2fs -t ext4

-b{1024|2048|4096}:指明文件系統的塊大??;

示例

]# mke2fs -b 1024 /dev/sda6

-L LABEL:指明卷標;

]# mke2fs -t ext2 -L mydata -b 2048 /dev/sda6

-j:創建有日志功能的文件系統ext3;

mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3

]# mke2fs -j /dev/sda6

-i#:bytes-per-inode:指明inode與字節的比率;即每多少字節創建一個inode

-N#:直接指明要給此文件系統創建的inode的數量;

-m#:指定預留的空間,百分比;

-O[^]FEATURE:以指定的特性創建目標文件系統,不加^表示啟用此特性,加^表示關閉此特性



e2label命令:卷標的查看與設定

查看:e2label device

]# e2label /dev/sda6

設定:e2label device LABEL

]# e2label /dev/sda6 ali
]# e2label /dev/sda6
ali

tune2fs命令:查看或修改ext系統文件系統的某些屬性

adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems:

注意:塊大小創建后不可修改

tune2fs [option]device

-l:查看超級塊的內容;

]# tune2fs -l /dev/sda6
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   ali  卷標
Last mounted on:          <not available> 最后一次什么時候掛載的,當前顯示不可用
Filesystem UUID:          32592f02-1828-416d-8ef5-4bdcf2d46935  UUID
Filesystem magic number:  0xEF53 文件系統的魔數,文件系統類型的專用標識
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file 
Filesystem flags:         signed_directory_hash 
Default mount options:    (none) 默認的掛載選項
Filesystem state:         clean  文件系統狀態  此處clean(清潔)表示沒有任何文件損壞
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              131648 inode數量
Block count:              526120 塊數量
Reserved block count:     26306 
Free blocks:              500671 剩余塊數量
Free inodes:              131637 剩余inode數量
First block:              0
Block size:               4096 塊大小
Fragment size:            4096 
Reserved GDT blocks:      128 預留給GDT的塊
Blocks per group:         32768 每組多少塊
Fragments per group:      32768 每組多少個片段
Inodes per group:         7744 每組多少個inode
Inode blocks per group:   484   每組多少個塊用來放inode
Filesystem created:       Wed Aug 24 21:07:43 2016
Last mount time:          n/a
Last write time:          Wed Aug 24 21:20:40 2016
Mount count:              0
Maximum mount count:      20
Last checked:             Wed Aug 24 21:07:43 2016
Check interval:           15552000 (6 months)
Next check after:         Mon Feb 20 21:07:43 2017
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      14d62c4d-b7bd-4458-abc9-72a48dbf45cc
Journal backup:           inode blocks

修改指定文件系統的屬性

-j:ext2 -->ext3

-L:LABEL:修改卷標

-m #:調整預留空間百分比

-O[^]FEATHER:開啟或關閉某種特性;

-o[^]mount_option:開啟或關閉某種默認掛載選項

acl

^acl


dumpe2fs命令:顯示ext系列文件系統的屬性信息

dumpe2fs [-h]device


實現文件系統檢測的工具

因進程以外終止或系統崩潰等原有導致寫入操作非正常終止時,可能會造成文件損壞;此時,應該檢測并修復文件系統;建議,離線進行

ext系列文件的專用工具;

e2fsck:check a Linux ext2/ext3/ext4 file system

e2fsck[option]device

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

-f:即使文件系統處于clean狀態,也要強制進行檢測


fsck:check and repair a Linux file system(通用所有文件系統)

    修復的工作特性就是把不連續的文件刪除進行的

-t fstype:指明文件系統類型

fsck -t ext4 = fsck.ext4

-a:無需交互而自動檔修復所有錯誤;(不建議)

-r:  交互式修復;


centos6如果使用xfs文件系統

#yum -y install xfsprogs




創建:mkfs.xfs

檢測:fsck.xfs





blkid命令

blkid device

blkid -L label:根據label定位為設備

blkid -U UUID:根據UUID定位設備


swap文件系統

linux上的交換分區必須使用獨立的文件系統

且文件系統的system id 必須為82


創建swap設備:mkswap命令

mkswap [option] device

-L label:指明卷標

-f:強制

]# mkswap /dev/sda6
Setting up swapspace version 1, size = 2104476 KiB
no label, UUID=7e42ac9c-21f4-45b4-80b3-830d6e12611b

創建windows文件系統

#mkfs.vfat device

windows無法識別linux的文件系統;因此,存儲設備需要兩種系統之間交叉使用時,應該使用windows和linux同時支持的文件系統;fat32(vfat);


文件系統的使用:

首先要掛載:mount命令和umount命令


跟文件系統之外的其他文件系統要想能夠被訪問,都必須通過“關聯”至根文件系統上的某個目錄來實現,此關聯操作即為“掛載”;此目錄即為“掛載點”;、


掛載點:mount_point,用于作為另一個文件系統的訪問入口

(1)事先存在

(2)應該使用未被或不會被其他進程使用到的目錄

(3)掛載點下原有的文件將會被隱藏;


mount命令:

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


命令選項:

-r:readonly,只讀掛載;

-w:read and write,讀寫掛載

-n:默認情況下,設備掛載或卸載的操作會同步更新至/etc/mtab文件中;-n用于禁止此特性;


-t vfstype:指明要掛載的設備上的文件系統雷系;多數情況下可省略,此時mount會通過blkid來判斷要掛載的設備的文件系統類型


-L LABEL:掛載時以卷標方式指明設備;

mount -L LABEL dir

-U UUID:掛載時以UUID方式指明設備;



-o option:掛載選項

sync/async:同步/異步操作;

atime/noatime:文件或目錄在被訪問時是否更新其訪問時間戳;

diratime/nodirname:目錄在被訪問時是否更新其訪問時間戳;

remount:重新掛載

acl:支持使用facl功能

#mount -o acl device dir

#tune2fs -o acl device

ro:只讀

rw:讀寫

dev/nodev:此設備上是否允許創建設備文件;

exec/noexec:是否允許運行此設備上的程序文件;

auto/noauto:

user/nouser:是否允許普通用戶掛載此文件系統;

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




defaults:Use default options: rw, suid, dev, exec, auto, nouser, async, and relatime.



一個使用技巧:

可以實現將目錄綁定在另一個目錄上,作為其臨時訪問入口;

mount --bind 源目錄 目標目錄


查看當前系統上所有已掛載的設備

#mount

#cat /etc/matb

#cat /proc/mounts


掛載光盤;

mount -r /dev/cdrom mount_point


光盤設備文件:/dev/cdrom


掛載U盤:

實現識別u盤的設備文件;


umount命令:

umount device|dir


注意:正在被進程訪問到的掛載點無法被卸載;

查看被哪個或者哪些進程所用:

#lsof mount_point

#fuser -v mount_point


終止所有正在訪問某掛載點的進程

#fuser -km mount_point


掛載本地的回環設備;

#mount -o loop /path/to/some_loop_file mount_point


交換分區的啟用和禁用:

創建交換分區的命令:mkswap


啟用:swapon

swap [option][option]

-a:定義在/etc/fstab文件中的所有swap設備

禁用:swapoff

swapoff device


設定除了根文件系統以外的其他文件系統能夠開機時自動掛載:/etc/fstab文件

每行定義一個要掛載的文件系統及其相關屬性

6個字段:

(1)要掛載的設備

設備文件

LABEL

UUID

偽文件系統:如sysfs,proc,tmpts

(2)掛載點

swap類型的設備的掛載點為swap

(3)文件系統類型:

(4)掛載選項

defaults:使用默認掛載選項:

如果要同時指明多個掛載選項,彼此間以逗號分隔

(5)轉儲頻率(備份)

0:從不備份

1:每天備份

2:每隔一天備份

(6)自檢次序

0:不自檢

1:首先自檢,通常只能是根文件系統可用1

2:次級自檢


mount -a :可自動掛載定義在此文件中的所支持自動掛載的設備;


兩個命令:df和du

df命令:

df[option]...[file]

-l:僅顯示本地文件的相關信息

-h:human-readable

-i:顯示inode的使用狀態而非blocks


du命令:

du[option]...[file]

-s:sumary

-h:human-readble


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女