linux掛載的基本使用

掛載

  掛載是指將一個設備(通常是存儲設備)掛接到一個已存在的目錄上。 我們要訪問存儲設備中的文件,必須將文件所在的分區(已有文件系統)掛載到一個已存在的目錄上, 然后通過訪問這個目錄來訪問存儲設備。

掛載條件

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

(0)
ladsdmladsdm
上一篇 2016-09-07 14:45
下一篇 2016-09-07 15:06

相關推薦

  • shell中的引號用法

        SHELL引號  在shell里可以通過使用單引號,雙引號,反引號(TAB鍵上方的按鍵),反斜線來轉換某些shell元字符的含義。比如說,我們希望echo命令顯示出$本身字符的意義,而不是變量,我們需要使用某些功能來屏蔽$符號本身賦予的特殊含義,使其還原本身字面的意思。 主要講述四個比較特殊常用的符號。 1.反…

    2017-06-11
  • 20160907 centos啟動流程

    1、centos5,6啟動流程 centos系統啟動流程linux系統的組成部分:內核+根文件系統內核:進程管理,內存管理,網絡協議棧,文件系統,驅動程序,安全功能運行的系統環境可分為兩層:內核空間,用戶空間  用戶空間:應用程序(進程或線程)  內核空間:內核代碼(系統調用)    內核設計流派:   &n…

    Linux干貨 2016-09-13
  • 搭建簡單的ftp和http

    搭建簡單的ftp和http 我們主要嘗試光盤和編譯兩種方式安裝 ftp 首先我們先安裝ftp ftp可以用來做文件傳輸,也可以搭建ftp作為我我們的網絡yum源 首先我們要先把鏡像連接到我們的Linux中 進入/etc/yum.repos.d/創建一個.repo結尾的文件,在里面配置自己的yum源 [base] baseurl=file:///misc/cd…

    2017-06-15
  • keepalived配置

    前兩個配置做完實驗沒截圖,后面的實驗有圖片。 keepalived的的單獨設置 1.確保時間同步 ntpdate 10.1.0.1 2.保證/etc/hosts文件可以解析到 3.本機配置ssh-keygen -t rsa -P ''  ,然后ssh-copy-id -i .ssh/id_rsa.pub root@10.1.44…

    Linux干貨 2016-11-11
  • N22-第十一周作業

    第十一周作業 1、詳細描述一次加密通訊的過程,結合圖示最佳 (1)為了做到數據的安全,應該同時滿足 保密性 完整性 可用性 (2)假設A,B通信,A是客戶機,B是服務器 a、客戶端向服務器端發送自己支持的加密方式,并且向服務器端請求其CA頒發給的證書 b、服務器選擇共同支持的加密方式并發送自己的證書; c、客戶端收到其證書,并驗證證書,證書必須同時滿足以下條…

    Linux干貨 2016-12-06
  • N25—-第三周作業

    1、 列出當前系統上所有已登錄用戶的用戶名。只顯示一次    who | cut -d' ' -f1 | sort -u 2、 取出最后登錄到當前系統的用戶的相關信息。   last | h…

    Linux干貨 2016-12-19
欧美性久久久久