掛載
掛載是指將一個設備(通常是存儲設備)掛接到一個已存在的目錄上。 我們要訪問存儲設備中的文件,必須將文件所在的分區(已有文件系統)掛載到一個已存在的目錄上, 然后通過訪問這個目錄來訪問存儲設備。
掛載條件
1、掛載點必須是一個目錄。
2、一個分區掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載后這個目錄下以前的內容將隱藏不可用。對于其他操作系統建立的文件系統的掛載也是這樣。
掛載方法:mount DEVICE MOUNT_POINT
mount:顯示當前已掛載的所有設備
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要掛載的設備;以方式都可以!
(1) 設備文件:例如/dev/sda5
(2) 卷標:-L 'LABEL', 例如-L 'MYDATA'
(3) UUID, -U 'UUID':例如-U '0c50523c-43f1-45e7-85c0-a126711d406e'
(4) 偽文件系統名稱:proc, sysfs, devtmpfs, configfs
dir:掛載點
事先存在且沒有進程訪問的目錄;建議使用空目錄
進程正在使用中的設備無法被卸載
-t vsftype:指定要掛載的設備上的文件系統類型常用的文件系統有ext2, ext3, ext4 iso9660, msdos,ntfs
一般它會自動識別,但如果要寫入/etc/fstab中就要指定文件系統了
-r: readonly,只讀掛載 -o ro 同義
-w: read and write, 讀寫掛載 -o rw 同義
-n: 不更新/etc/mtab,
-a:自動掛載所有支持自動掛載的設備定義在了/etc/fstab文件中,且掛載選項中有auto功能
-L 'LABEL': 以卷標指定掛載設備
-U 'UUID': 以UUID指定要掛載的設備
-B, –bind: 綁定目錄到另一個目錄上
-o options:(掛載文件系統的選項),多個選項使用逗號分隔
async:異步模式
sync:同步模式,內存更改時,同時寫磁盤
atime/noatime:訪問時間戳,包含目錄和文件
diratime/nodiratime:目錄的訪問時間戳
auto/noauto:是否支持自動掛載==是否支持-a選項
exec/noexec:是否支持將文件系統上運行應用程序。默認為exec
dev/nodev:是否支持在此文件系統上使用設備文件
suid/nosuid:不否支持suid和sgid權限
remount:重新掛載
ro:只讀
rw:讀寫
user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載
acl:啟用此文件系統上的acl功能
Defaults:相當于rw, suid, dev, exec, auto, nouser, async
[root@Cloud /]#mkdir /media/sdb1 #創建空目當掛載點,掛載點一般在/media和/mnt目錄 [root@Cloud /]#mount /dev/sdb1 /media/sdb1 #把/dev/sdb1掛載到/media/sdb1上 [root@Cloud /]#cd /media/sdb1 [root@Cloud /media/sdb1]#ls #掛載成功會創建lost+found目錄 lost+found [root@Cloud /media/sdb1]#mkdir abc #使用/dev/sdb1分區 [root@Cloud /media/sdb1]#touch file #使用/dev/sdb1分區 [root@Cloud /media/sdb1]#ls#顯示創建成功 abc file lost+found [root@Cloud /media/sdb1]#ll total 20 drwxr-xr-x 2 root root 4096 Jul 31 03:15 abc -rw-r--r-- 1 root root 0 Jul 31 03:15 file drwx------ 2 root root 16384 Jul 31 00:47 lost+found [root@Cloud /media/sdb1]#mkdir /media/sdb2 #創建空目錄來掛載 [root@Cloud /media/sdb1]#mount -r /dev/sdb2 /media/sdb2 #只讀掛載,多用來掛載光盤 [root@Cloud /media/sdb1]#cd ../sdb2 [root@Cloud /media/sdb2]#ls lost+found [root@Cloud /media/sdb2]#touch file #無法創建! touch: cannot touch `file': Read-only file system
一個使用技巧:
可以實現將目錄綁定至另一個目錄上,作為其臨時訪問入口;
[root@localhost /]#mkdir mountpoint #創建掛載點 [root@localhost /]#ll mountpoint #創建成功 total 0 [root@localhost /]#mount --bind /home /mountpoint #綁定目錄 [root@localhost /]#ll /home/ /mountpoint/ #查看顯示bind成功,大小一樣 /home/: total 0 drwx------ 5 mage mage 121 Sep 1 11:45 mage drwx------. 3 mageedu mageedu 74 Jul 26 16:09 mageedu drwx------ 3 magge magge 74 Sep 1 13:37 magge drwx------ 3 maggea maggea 74 Sep 1 13:37 maggea drwx------ 3 user1 user1 74 Aug 30 14:54 user1 /mountpoint/: total 0 drwx------ 5 mage mage 121 Sep 1 11:45 mage drwx------. 3 mageedu mageedu 74 Jul 26 16:09 mageedu drwx------ 3 magge magge 74 Sep 1 13:37 magge drwx------ 3 maggea maggea 74 Sep 1 13:37 maggea drwx------ 3 user1 user1 74 Aug 30 14:54 user1
查看掛載情況:
#findmnt MOUNT_POINT
[root@Cloud /media/sdb2]#findmnt /media/sdb1 TARGET SOURCE FSTYPE OPTIONS /media/sdb1 /dev/sdb1 ext3 rw,relatime,errors=continue,barrier=1,data
查看正在訪問指定文件系統的進程:
#lsof MOUNT_POINT
#fuser -v MOUNT_POINT
終止所有在正訪問指定的文件系統的進程:
[
root@Cloud /media/sdb1]#lsof /dev/sdb1 #命令要在掛載點目錄下使用 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 2222 root cwd DIR 8,17 4096 2 /media/sdb1 lsof 2658 root cwd DIR 8,17 4096 2 /media/sdb1 lsof 2659 root cwd DIR 8,17 4096 2 /media/sdb1
[root@Cloud /media/sdb1]#fuser -v /media/sdb1 #同上 USER PID ACCESS COMMAND /media/sdb1: root 2222 ..c.. bash
# fuser -km MOUNT_POINT
終止所有在正訪問指定的文件系統的進程
[root@Cloud /media/sdb1]#fuser -km /media/sdb1 #結束進程,并斷開連接 /media/sdb1: 2222c
? 卸載:
# umount DEVICE
# umount MOUNT_POINT
注:正在被進程訪問的掛載點無法被卸載
[root@Cloud ~]#mount 查看掛載 /dev/mapper/vg0-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) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/vg0-usr on /usr type ext4 (rw) /dev/mapper/vg0-var on /var type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sdb1 on /media/sdb1 type ext3 (rw) #/dev/sdb1已掛載 /dev/sdb2 on /media/sdb2 type ext4 (ro) #/dev/sdb2已掛載 [root@Cloud ~]#umount /dev/sdb1 #卸載 指定掛載設備的方式 [root@Cloud ~]#umount /media/sdb2 #卸載 指定掛載點的方式 [root@Cloud ~]#mount /dev/mapper/vg0-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) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/vg0-usr on /usr type ext4 (rw) /dev/mapper/vg0-var on /var type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) #已取消掛載!
查看內核追蹤到的已掛載的所有設備:
cat /proc/mounts
[root@Cloud /media/sdb2]#cat /proc/mounts #查看內核追蹤到的已掛載的所有設備 rootfs / rootfs rw 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 devtmpfs /dev devtmpfs rw,relatime,size=938840k,nr_inodes=234710,mode=755 0 0 devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /dev/shm tmpfs rw,relatime 0 0 /dev/mapper/vg0-root / ext4 rw,relatime,barrier=1,data=ordered 0 0 /proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0 /dev/sda1 /boot ext4 rw,relatime,barrier=1,data=ordered 0 0 /dev/mapper/vg0-usr /usr ext4 rw,relatime,barrier=1,data=ordered 0 0 /dev/mapper/vg0-var /var ext4 rw,relatime,barrier=1,data=ordered 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0 /etc/auto.misc /misc autofs rw,relatime,fd=7,pgrp=1932,timeout=300,minproto=5,maxproto=5,indirect 0 0 -hosts /net autofs rw,relatime,fd=13,pgrp=1932,timeout=300,minproto=5,maxproto=5,indirect 0 0 /dev/sdb1 /media/sdb1 ext3 rw,relatime,errors=continue,barrier=1,data=ordered 0 0 /dev/sdb2 /media/sdb2 ext4 ro,relatime,barrier=1,data=ordered 0 0
[root@Cloud /media/sdb2]#mount #查看當前系統掛載的所有掛載信息 /dev/mapper/vg0-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) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/vg0-usr on /usr type ext4 (rw) /dev/mapper/vg0-var on /var type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sdb1 on /media/sdb1 type ext3 (rw) /dev/sdb2 on /media/sdb2 type ext4 (ro)
[root@Cloud /media/sdb2]#cat /etc/mtab #查看/etc/fstab中的掛載信息 /dev/mapper/vg0-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 0 0 /dev/sda1 /boot ext4 rw 0 0 /dev/mapper/vg0-usr /usr ext4 rw 0 0 /dev/mapper/vg0-var /var ext4 rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 /dev/sdb1 /media/sdb1 ext3 rw 0 0 /dev/sdb2 /media/sdb2 ext4 ro 0 0
除了手動掛載還可以自動掛載 ,只要把你需要掛載的路徑寫入/etc/fstab中再使用mount -a 就可以直接掛載上。
[root@Cloud ~]#vim /etc/fstab
/dev/mapper/vg0-root / ext4 defaults 1 1
UUID=86a42a62-9313-4445-a9d3-89017b8b3eee /boot ext4 defaults 1 2
/dev/mapper/vg0-usr /usr ext4 defaults 1 2
/dev/mapper/vg0-var /var ext4 defaults 1 2
/dev/mapper/vg0-swap swap swap defaults 0 0
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
/dev/cdrom /media iso9660 defaults 0 0
/etc/fstab 每行定義一個要掛載的文件系統;
? 要掛載的設備或偽文件系統
? 掛載點
? 文件系統類型
? 掛載選項
? 轉儲頻率
? 自檢次序
? 要掛載的設備或偽文件系統:
設備文件、LABEL(LABEL="")、UUID(UUID="")、偽文件系統名稱(proc,
sysfs)
? 掛載選項: defaults默認權限有:rw, suid, dev, exec, auto, nouser, and async.
? 轉儲頻率: 0:不做備份
1:每天轉儲
2:每隔一天轉儲
? 自檢次序: 0:不自檢
1:首先自檢;一般只有rootfs才用1
[root@localhost /run/user/0]#vim /etc/fstab #自動掛載 權限以,分隔 # /etc/fstab # Created by anaconda on Tue Jul 26 08:01:18 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=62e9e57b-3452-4314-8567-85566ca642dc / xfs defaults 0 0 UUID=bb3ff6b4-e9c3-4090-b968-5affdb57782e /boot xfs defaults 0 0 UUID=366cf2a1-0923-4d99-bc20-35d93082ac3a /usr xfs defaults 0 0 UUID=58be63b5-585a-49e7-a8c2-b9b49cf44860 swap swap defaults 0 0 LABEL=MYDATA /MYDATA ext4 defaults,noexec,noatime 0 0 #以,分隔 /dev/sdb2 swap swap defaults 0 0
交換分區
?交換分區是系統RAM的補充
?基本設置包括:
?創建交換分區或者文件
?使用mkswap寫入特殊簽名
?在/etc/fstab文件中添加適當的條目
?使用swapon -a 激活交換空間
啟用:swapon
swapon[OPTION]… [DEVICE]
-a:激活所有的交換分區;
-p PRIORITY:指定優先級
/etc/fstab:pri=value
?禁用:swapoff[OPTION]… [DEVICE]
[root@localhost /]#blkid /dev/sdb2 #顯示/dev/sdb2為swap文件系統 /dev/sdb2: UUID="f9d7f3dd-8d0e-484f-b2b0-b2ffad755b31" TYPE="swap" [root@localhost /]#free -h #現在的swap分區大小為2G total used free shared buff/cache available Mem: 1.9G 119M 1.7G 13M 152M 1.7G Swap: 2.0G 0B 2.0G [root@localhost /]#swapon /dev/sdb2 #啟用swap [root@localhost /]#free -h #成功咯 total used free shared buff/cache available Mem: 1.9G 119M 1.7G 13M 152M 1.7G Swap: 3.0G 0B 3.0G
關于查看磁盤和分區命令 free 、du、 df、
內存空間使用狀態:
free [OPTION]
-m: 以MB為單位
-g: 以GB為單位
-h:人性化顯示
[root@localhost /]#free #默認顯示 total used free shared buff/cache available Mem: 2033556 122220 1754992 13356 156344 1757476 Swap: 3146744 0 3146744 [root@localhost /]#free -h #人性化顯示 total used free shared buff/cache available Mem: 1.9G 119M 1.7G 13M 152M 1.7G Swap: 3.0G 0B 3.0G [root@localhost /]#free -m #以M單位顯示 total used free shared buff/cache available Mem: 1985 119 1713 13 152 1716 Swap: 3072 0 3072
文件系統空間占用等信息的查看工具:
df[OPTION]… [FILE]…
-H 以1000計算
-T 文件系統類型
-h: 人性化顯示
-i:inode計數
-P: 以Posix兼容的格式輸出
[root@localhost /]#df 默認輸出
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 41922560 221652 41700908 1% / devtmpfs 1002256 0 1002256 0% /dev tmpfs 1016776 0 1016776 0% /dev/shm tmpfs 1016776 13344 1003432 2% /run tmpfs 1016776 0 1016776 0% /sys/fs/cgroup /dev/sda3 20961280 2692500 18268780 13% /usr /dev/sdb1 10254840 12310 10024624 1% /MYDATA /dev/sda1 496300 140496 355804 29% /boot tmpfs 203356 4 203352 1% /run/user/0 [root@localhost /]#df -i #顯示inode節點的使用率 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda2 41943040 6582 41936458 1% / devtmpfs 250564 399 250165 1% /dev tmpfs 254194 1 254193 1% /dev/shm tmpfs 254194 522 253672 1% /run tmpfs 254194 13 254181 1% /sys/fs/cgroup /dev/sda3 20971520 88746 20882774 1% /usr /dev/sdb1 655360 12 655348 1% /MYDATA /dev/sda1 499712 329 499383 1% /boot tmpfs 254194 2 254192 1% /run/user/0 [root@localhost /]#df -h #人性化顯示 Filesystem Size Used Avail Use% Mounted on /dev/sda2 40G 217M 40G 1% / devtmpfs 979M 0 979M 0% /dev tmpfs 993M 0 993M 0% /dev/shm tmpfs 993M 14M 980M 2% /run tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda3 20G 2.6G 18G 13% /usr /dev/sdb1 9.8G 13M 9.6G 1% /MYDATA /dev/sda1 485M 138M 348M 29% /boot tmpfs 199M 4.0K 199M 1% /run/user/0
查看某目錄總體空間占用狀態:
du [OPTION]… DIR
-h: human-readable :人性化咯
-s:summary:總輸出
[root@localhost ~]#du -h /boot #人性化顯示數據帶下 4.0K/boot/grub 0/boot/grub2/themes/system 0/boot/grub2/themes 2.4M/boot/grub2/i386-pc 3.3M/boot/grub2/locale 2.5M/boot/grub2/fonts 8.1M/boot/grub2 113M/boot [root@localhost ~]#du -sh /boot #目錄總大小,不展開 113M/boot
原創文章,作者:ladsdm,如若轉載,請注明出處:http://www.www58058.com/43832