mkfs.vfat /dev/block/mmcblk0pxxxx 格式化某分區為vfat格式
busybox mkfs.vfat /dev/block/mmcblk0pxxxx
mount -t vfat -o ro,uid=0,gid=1000,fmask=0027,dmask=0027 /dev/block/mmcblk0pxx /mnt/partion 將 /dev/block/mmcblk0pxx 按照只讀,root用戶,system組,訪問掩碼為root可讀可寫可執行,system可讀可執行,其他用戶無權限掛載到/mnt/partion 目錄
重新掛載分區需要先卸載再重新remount
umount /mnt/pation //卸載前關閉該文件系統所有訪問,關閉所有打開的文件
mount -t vfat -o rw,uid=0,gid=1000,fmask=0027,dmask=0027 /dev/block/mmcblk0pxx /mnt/partion
,規划磁盤分區:fdisk
二,格式化磁盤分區:mkfs.xxx
三,掛載磁盤分區:mount、umount
四,文件系統管理:e2abel、blkid、tun2fs、df
五,開機自動掛載:/etc/fstab
六、擴展
1,swap分區的規划,掛載和自動掛載
2,掛載文件夾
3,autofs觸發掛載
4, NTFS分區的創建,掛載,使用
一:規划磁盤分區
1,查看磁盤分區: fdisk -l
格式:fdisk -l [磁盤名]
示例:
[root@localhost ~]# fdisk -l /dev/sda //如果不指定磁盤名,則列出所有磁盤的分區
Disk /dev/sda: 64.4GB, 64424509440 bytes
255 heads, 63sectors/track, 7832 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 2575 20482875 83 Linux
/dev/sda3 2576 3850 10241437+ 83 Linux
/dev/sda4 3851 7832 31985415 5 Extended
/dev/sda5 3851 4111 2096451 82 Linux swap / Solaris
/dev/sda6 4112 5085 7823623+ 83 Linux
[root@localhost ~]#
2,規划磁盤分區:fdisk的常用選項
m :查看幫助信息
p :列表查看分區信息
n :新建磁盤分區
d :刪除分區
t :變更分區類型(在使用t的時候,如果不知道)
w :保存分區設置並退出
q :放棄分區設置並退出
示例:fdisk交互式划分磁盤分區:http://murongqingqqq.blog.51cto.com/2902694/1361896
二,格式化磁盤分區
格式化工具:mkfs
mkfs -t 文件系統類型 分區設備
或使用mkfs.xxx 分區設備
[root@localhost ~]#mkfs.
mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat
可以看到,mkfs.后面可以跟的格式,也就是-t后面所接的文件系統類型。
注:
-在使用的時候,mkfs作為前段,通過-t調用各個程序
-使用mkfs.ext3時可通過-L選項為文件系統指定卷標
-使用mkfs.vfat時可通過-F選項指定FAT位數(默認為32,一般不指定,因為指定的時候只能指定16或32,16位的現在一般不用)
-在使用mkfs.xxx格式化一個分區設備的時候,需要先執行以下partprobe更新一下磁盤分區,否則可能出現無法找到想要格式化的分區。
三,掛載磁盤分區:mount、umount
1,mount命令
-格式:mount [選項] 設備名掛載點
常用命令選項
-a :加載所有fstab已配置的文件系統
注:在修改了/etc/fstab文件之后,可以使用mount -a命令或者reboot來重新加
載一下文件系統的掛載,這時如果有新加的swap分區,可能掛載不成功,那么,
需要重啟,一般的分區都能掛載成功,如果有提示錯誤,那么需要修改/etc/fatab
文件內容。
-t :指定文件系統類型
-o :指定掛載參數
ro/rw :只讀/可讀可寫(默認可讀可寫)
acl/noacl :啟用/禁用ACL(默認禁用)
exec/noexec :打開/關閉執行權(默認打開,如果不支持,就是該程序有x權
限,在此分區內也不允許執行。)
suid/nosuid :啟用/禁用SUID(默認啟用;則當一個程序擁有suid權限的時
候,比如說mkdir,如果此分區不支持suid,則在此分區上建
立的目錄也不屬於mkdir的所有者)
guid/noguid :啟用/禁用GUID
remount :重新掛載(用法:mount -o remount,exec /dev/sdb1 /data/tools)
掛載一個分區的默認屬性:rw,suid,dev,exec,auto,nouser,async
-L :使用卷標掛載設備(用e2label /dev/sdb1 “tools”設置/dev/sdb1的卷標為tools,
可使用mount -L tools /data/tools來掛載/dev/sdb1分區。)
注:
用mount掛載一個iso文件的時候需要用-o參數指定其類型
因為ios結尾的文件里面的內容是無法查看的,所以需要先掛載到一個目錄下在進行查看。
如:
mount -o loop linux.iso /tmp/isofs/ :將linux.iso文件掛載到/tmp/isofs/目錄下
2,卸載文件系統:umount
格式:umount 設備名/掛載點(推薦使用通過掛載點的方式卸載文件系統)
常用命令選項:
-a :卸載所有已掛載的非偽文件系統
注:偽文件系統:不能往里面存儲數據的文件系統
例如系統中的保留空間,用df-hT命令查看到的tmpfs文件類型的那個文件系統/dev/shm即為一個偽文件系統。
示例:
[root@localhost ~]# df -hT
文件系統類型容量已用 可用 已用% 掛載點
/dev/sda2 ext3 19G 2.7G 16G 15% /
/dev/sda1 ext3 99M 12M 82M 13% /boot
tmpfs tmpfs 1005M 0 1005M 0% /dev/shm
/dev/sdb1 ext3 19G 173M 18G 1% /data/tools
/dev/sdb2 ext3 19G 173M 18G 1% /data/soft
/dev/sdb6 ext3 9.2G 150M 8.6G 2% /data/game
/dev/sda5 ext3 19G 173M 18G 1% /home
[root@localhost ~]# umount /data/game //從掛載點將/dev/sdb6文件系統卸載
[root@localhost ~]# df -hT | grep sda6 //卸載之后沒有任何關於sda6的信息了
[root@localhost ~]#
四,文件系統管理:e2abel、blkid、tun2fs、df
1,設置卷標:e2label命令
格式:e2label 設備名 [“卷標名”]
注:
設置完卷標之后,可以通過mount -L 卷標名 掛載點來掛載一個文件系統;
在/etc/fstab文件中,第一個字段,也可以使用卷標名來表示一個磁盤分區。
示例:
[root@localhost ~]# e2label /dev/sda6 //查看
//無內容
[root@localhost ~]# e2label /dev/sda6 "disk6" //修改卷標名
[root@localhost ~]# e2label /dev/sda6 //查看修改結果
disk6 //修改后的卷標名為disk6
[root@localhost ~]# e2label /dev/sda6 "" //刪除卷標名
[root@localhost ~]# e2label /dev/sda6 //再次查看,沒有卷標名了
[root@localhost~]#
2,查看設備的UUID:blkid命令
blkid命令:
blkid 設備名...
示例:
[root@localhost ~]# blkid /dev/sda3 /dev/sda6 //查看sda3和sda6的UUID
/dev/sda3:LABEL="/data" UUID="85efcd90-d05a-45b3-9af6-ee151591c652"TYPE="ext3" SEC_TYPE="ext2"
/dev/sda6: UUID="88c52aff-337b-4775-9c77-8c19ffc2cd3c"SEC_TYPE="ext2" TYPE="ext3" LABEL="disk6"
[root@localhost ~]#
注:如果是windows分區的話,沒有UUID
切TYPE選項為:TYPE=”vfat”或者為TYPE=”ntfs”
示例:下面的/dev/sda5文件系統為ntfs格式,用blkid查看時候直接格式為ntfs
[root@localhostdata]# blkid /dev/sda5
/dev/sda5: TYPE="ntfs"
3,查看ext分區屬性:tune2fs
格式:tune2fs -l 設備名
注:在使用tune2fs -l 設備名命令查看一個文件系統是否具有acl訪問控制的時候,只能查看創建系統時候的分區,而新加的分區或新加硬盤上的分區,即使是具有acl訪問控制,也不能查看到。
詳細信息請查看:http://murongqingqqq.blog.51cto.com/2902694/1361506中的補充1
示例:
[root@localhost ~]# tune2fs -l /dev/sda3 //查看sda3的分區屬性
tune2fs1.39 (29-May-2006)
Filesystemvolume name: /data
Lastmounted on: <notavailable>
FilesystemUUID: 85efcd90-d05a-45b3-9af6-ee151591c652
Filesystemmagic number: 0xEF53
Filesystemrevision #: 1 (dynamic)
Filesystemfeatures: has_journal resize_inodedir_index filetype needs_recovery sparse_super large_file
Defaultmount options: user_xattr acl //支持acl
Filesystemstate: clean
Errorsbehavior: Continue
FilesystemOS type: Linux
Inodecount: 2560864
Blockcount: 2560359
Reservedblock count: 128017
Freeblocks: 2379760
Freeinodes: 2557126
Firstblock: 0
Blocksize: 4096
Fragmentsize: 4096
ReservedGDT blocks: 625
Blocksper group: 32768
Fragmentsper group: 32768
Inodesper group: 32416
Inodeblocks per group: 1013
Filesystemcreated: Tue Feb 11 04:45:08 2014
Lastmount time: Fri Feb 21 22:11:462014
Lastwrite time: Fri Feb 21 22:11:462014
Mountcount: 9
Maximummount count: -1
Lastchecked: Tue Feb 11 04:45:08 2014
Checkinterval: 0 (<none>)
Reservedblocks uid: 0 (user root)
Reservedblocks gid: 0 (group root)
Firstinode: 11
Inodesize: 128
Journalinode: 8
Defaultdirectory hash: tea
DirectoryHash Seed: 63658a00-6d9c-480e-8c30-330a6318036d
Journalbackup: inode blocks
[root@localhost ~]#
4,查看磁盤使用情況:df命令
常用命令選項:
-h :使用易讀的容量單位
-T :列出文件系統類型
[root@localhost ~]# df -Th
文件系統類型容量已用 可用 已用% 掛載點
/dev/sda2 ext3 19G 2.3G 16G 13% /
/dev/sda1 ext3 190M 12M 169M 7% /boot
tmpfs tmpfs 248M 0 248M 0% /dev/shm
/dev/sda3 ext3 9.5G 393M 8.6G 5% /data
[root@localhost ~]#
五,開機自動掛載:/etc/fstab
配置開機自動掛載:/etc/fstab文件
配置文件/etc/fstab,其內容可以以空格或制表位分為6列,每一列的表示的內容如下所示:
[root@localhost ~]# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
第1段 2 3 4 5 6
每一段表示的內容:
第一段:表示設備文件(也可以為UUID、設備名和卷標)
第二段:表示掛載點
第三段:表示文件系統類型
第四段:掛載參數
第五段:備份標記(為0表示不備份)
第六段:檢測順序(為0表示不檢測)
示例:設置開機自動掛載(包括交換分區)
第一步:查看掛載情況和交換分區的大小;
如果有新的掛在點,先卸載;如果有新的交換分區,先用swapoff 設備名卸載交換分區。
[root@localhost ~]# df -Th //首先查看一下文件系統的掛載情況
文件系統類型容量已用 可用 已用% 掛載點
/dev/sda2 ext3 19G 2.7G 16G 15% /
/dev/sda1 ext3 99M 12M 82M 13% /boot
tmpfs tmpfs 1005M 0 1005M 0% /dev/shm
[root@localhost ~]# free -m //原始交換分區為我的sda磁盤上的一個分區大小為2G
total used free shared buffers cached
Mem: 2008 911 1096 0 85 649
-/+buffers/cache: 176 1831
Swap: 2047 0 2047
[root@localhost ~]#
第二步:修改fstab文件內容,增加開機掛載項;
注:
-這里大部分使用的為UUID,需使用blkid先查詢設備的UUID
-/dev/sdb5為交換分區,交換分區的第二段掛載點為swap,第三段文件系統類型還是swap,掛載swap分區的時候需要注意一下!
[root@localhost ~]# vim /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
UUID="59b355ba-5f83-4016-b5bc-4257ae948359" /data/tools ext3 defaults 0 0
UUID="1497b080-ffaf-4fe1-95c7-c63d349550a9" /data/soft ext3 defaults 0 0
UUID="58fbc6d5-e597-42bf-9ee7-096f62dd41cc" /data/game ext3 defaults 0 0
UUID="a463550a-9d03-4934-81a4-e6f8be920f9a" /home ext3 defaults 0 0
/dev/sdb5 swap swap defaults 0 0
第三步:使用mount -a命令來重新加載一遍
然后用df -Th和free -m分別查看文件系統和交換分區的掛載情況。
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th //可以看到下面文件系統已經加載成功了
文件系統類型容量已用 可用 已用% 掛載點
/dev/sda2 ext3 19G 2.7G 16G 15% /
/dev/sda1 ext3 99M 12M 82M 13% /boot
tmpfs tmpfs 1005M 0 1005M 0% /dev/shm
/dev/sda5 ext3 19G 173M 18G 1% /home
/dev/sdb1 ext3 19G 173M 18G 1% /data/tools
/dev/sdb2 ext3 19G 173M 18G 1% /data/soft
/dev/sdb6 ext3 9.2G 150M 8.6G 2% /data/game
[root@localhost ~]# free -m
//查看swap分區是否被掛載,可以看到和上邊第一步查詢的結果是一樣的,那么即說明沒有掛載,這時需要重新啟動才能掛載。
total used free shared buffers cached
Mem: 2008 910 1097 0 86 649
-/+buffers/cache: 175 1832
Swap: 2047 0 2047
總結:可以使用mount-a來重新加載fstab內的文件系統,但是通過free -m可以看到,交換分區是沒有加載成功的,若想要加載成功,則需要重新啟動。
------
綜合示例:遷移/home目錄:http://murongqingqqq.blog.51cto.com/2902694/1361937
六:擴展
1,swap分區的規划、掛載和自動掛載
如果在安裝系統時划分的swap分區過小,或者沒有划分swap分區,這時可以從新加磁盤或者現有磁盤剩余空間中划分一個分區,並格式化為swap分區,掛載上使用。
swap分區的查看方式:
第一種:cat /proc/meminfo
第二種:swapon -s
第三種:free -m
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 2008 893 1115 0 73 648
-/+ buffers/cache: 170 1837
Swap: 2047 0 2047 //可以看到交換分區的大小為2G
建立swap分區的方式:
使用fdisk命令划分一個分區,並指定其格式(注:用t選項)為82,保存(w)即可。
注:在磁盤分區新划分之后需要用partprobe命令來從新加載系統分區信息!!!
swap分區的格式化方式:
使用mkswap 新交換分區來格式化一個新建立的交換分區
手動啟用/關閉交換分區:
swapon/off 新交換分區
示例:新建swap的規划,掛載,自動掛載請查看:http://murongqingqqq.blog.51cto.com/2902694/1361934
2,掛載文件夾
用途:主要是隱藏源目錄的路徑,比如說將/usr/src/目錄掛載到/media/tools/src/目錄下做共享,那么其他用戶(如user1)在訪問/usr/src/目錄下資源的時候,可以直接進入
/media/tools/src/下直接訪問資源,保證了/usr/src/目錄的安全性。
注:在掛載的時候需要有目標文件夾/media/tools/src,如果沒有需要先創建;而且保證目標文件夾不被其他文件系統或文件夾占用掛載。如果有,則需先卸載。
掛載文件夾的時候需要mount命令的- -bind參數:
示例:將/usr/src/文件夾掛載到/data/tools/src/目錄下:
思路:
第一步:創建目錄/data/tools/src/目錄
第二步:將/usr/src/文件夾掛載到/data/tools/src/目錄下
第三步:驗證是否掛載成功
第四步:使用user1用戶登錄系統,進入/data/tools/src/目錄訪問資源。
具體操作:
[root@localhost ~]# mkdir -p /data/tools/src
[root@localhost ~]# ls /usr/src/
debug kernels
[root@localhost ~]# mount --bind /usr/src/ /data/tools/src/
[root@localhost ~]# mount | grep src
/usr/src on/data/tools/src type none (rw,bind)
[root@localhost ~]# ls /data/tools/src/
debug kernels
[root@localhost ~]# su - user1
[user1@localhost ~]$cd /data/tools/src/
[user1@localhostsrc]$ ls //成功訪問
debug kernels
[user1@localhostsrc]$
3,autofs觸發掛載
觸發掛載,像/misc/cd目錄即為觸發掛載目錄;
觸發掛載:在misc目錄里,用ls命令無法查看到里面有任何文件或目錄,但是可以用cd命令切換到cd這個目錄中去,當用cd切換到cd目錄的時候,那么,光盤上的目錄將會自動掛載到/misc/cd目錄中,這就是觸發掛載。
觸發掛載的配置文件:/etc/auto.master和/etc/xxx(這個文件根據/etc/auto.master文件里面的內容來寫)
/etc/auto.master文件的內容:
第一段:表示掛載點父目錄
第二段:掛載配置文件xxx
/etc/xxx(這個文件為/etc/auto.master文件里面的第二段定義的掛載配置文件)文件內容:
第一段:掛載點子目錄
第二段:掛載參數
第三段: :設備名(注:設備名前加“:”)
示例:將/dev/sdb1文件系統觸發掛載到/abc/tools目錄
第一步:創建/abc文件夾:mkdir /abc
第二步:為/etc/auto.master的內容增加一行
vim /etc/auto.master
增加一行:/abc /etc/auto.abc
第三步:根據/etc/auto.master文件內容,編輯配置文件/etc/auto.abc文件(新建)
vim /etc/auto.abc
添加內容:tools -fstype=ext3 :/dev/sdb1
第四步:重新加載服務:server autofs reload
第五步:用cd /abc/tools命令看是否能進入該目錄,不出意外可以進入。
4, NTFS分區的創建,掛載,使用
注:linux系統默認是不支持NTFS格式的分區的,想要使其支持NTFS格式的分區,需要安裝NTFS-3G軟件。
下載NTFS-3G源碼包的方式
2,wget http://www.ntfs-3g.org/ntfs-3g-1.1120.tgz
示例:
安裝ntfs-3g源碼包
將/dev/sda5磁盤分區格式化為NTFS分區,並用ntfs-3g來加載NTFS分區。
步驟:
第一步:解壓源碼包
tar zxvfntfs-3g_ntfsprogs-2013.1.13.tgz -C/usr/src/
第二步:編譯安裝(注:編譯安裝之前需要先安裝gcc工具)
cd /usr/src/ntfs-3g_ntfsprogs-2013.1.13/
./configure--prefix=/opt/ntfs
make
make install
第三步:使用fdisk將/dev/sda5的分區類型改為7,即HPFS/NTFS格式並格式化
[root@localhost /]# fdisk /dev/sda
The number ofcylinders for this disk is set to 10443.
There is nothingwrong with that, but this is larger than 1024,
and could in certainsetups cause problems with:
1) software thatruns at boot time (e.g., old versions of LILO)
2) booting andpartitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m forhelp): t //t為修改分區類型
Partition number(1-5): 5 //sda5為第五個分區
Hex code (type L tolist codes): 7 //指定為7,如果不知道可輸入L查看詳細信息
Command (m forhelp): w //w為保存退出
The partition tablehas been altered!
Calling ioctl() tore-read partition table.
WARNING: Re-readingthe partition table failed with error 16: 設備或資源忙.
The kernel stilluses the old table.
The new table willbe used at the next reboot.
Syncing disks.
[root@localhost /]# mkfs.ntfs /dev/sda5 //將/dev/sda5分區格式化為ntfs格式
[root@localhost /]# fdisk -l /dev/sda | grep NTFS //查看NTFS分區
/dev/sda5 2825 5257 19543041 7 HPFS/NTFS
第四步:臨時裝載NTFS分區
[root@localhost /]# ntfs-3g /dev/sda5 /data/ntfs/ //裝載ntfs分區
[root@localhost /]# mount | grep sda5
/dev/sda5on /data/ntfs type fuseblk(rw,allow_other,blksize=4096)
[root@localhost /]#
注:臨時掛載成功,這一步為止,已經完成了NTFS格式分區的臨時掛載。
第五步:如果需要設置開機自動掛載該NTFS分區,需要在/etc/fstab文件里面增加內容
格式為:
[root@localhost /]# cat /etc/fstab | grep sda5
/dev/sda5 /data/ntfs ntfs-3g defaults 0 0
[root@localhost /]#
第六步:驗證
[root@localhost /]# umount /data/ntfs/ //卸載掛載點
[root@localhost /]# mount | grep sda5 //查看是否卸載成功
[root@localhost /]# mount -a //加載所有fstab已配置的文件系統
注:如果用mount -a能夠加載/dea/sda5的話,那么重啟肯定能加載。
[root@localhost /]# mount | grep sda5 //可以看到,掛載成功了!
/dev/sda5on /data/ntfs type fuseblk (rw,allow_other,blksize=4096)
[root@localhost /]#
注:掛載NTFS格式u盤的時候,由於系統默認不識別NTFS 格式的文件系統,即使是安裝了ntfs-3g軟件,也無法識別,這時,只能通過手動掛載,一般u盤在linux系統中被識別的文件系統為/dev/sdh*設備,也可能是/dev/sd*,使用ntfs-3g /dev/sd* 掛載目錄掛載即可。