文件系統的掛載、usb設備光盤的使用

一、     文件系統的掛載mount:

1.       掛載命令mount使用:

(1)掛載: 將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為,掛載點下原有文件在掛載完成后會被臨時隱藏

(2) 卸載:為解除此關聯關系的過程,可使用設備,也可以使用掛載點

(3) 用法:

         mount 設備 掛載點

    設備類型:

        1) 可以使用設備文件如/dev/sda;

        2) 可以使用卷標如SDA_LABEL;

        3) 可以使用UUID;

        4) 偽文件系統;proc,sysfs……

        5) dd創建的image文件使用loop選項

        6) 目錄掛載至目錄,使用bind或-B,fstab配置文件分區類型為none

(4) mount 常用選項:

         -t  指定文件系統類型

         -r  只讀掛載

         -w 讀寫掛載

         -n 不更新/etc/mtab,通過mount看不到掛載的文件系統,只有cat /proc/mounts

                   才可以看到

         -a 自動掛載所有支持自動掛載的設備。定義在/etc/fstab中且支持auto功能

         -L 以卷標指定的設備掛載

         -U 以UUID指定的掛載設備

         -B –bind 綁定一個目錄到另一個目錄

[root@centos7 mnt]# mount -B /root/ /mnt/root

配置文件寫法:

[root@centos7 smb]# tail -n1 /etc/fstab
/root/        /mnt/root      none      bind,defaults   0 0
[root@centos7 mnt]# mount |grep "root"
/dev/sda2 on /mnt/root type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

掛載windows的共享文件夾:

[root@centos7 mnt]# mount -o username=administrator,password=admin -t cifs  //10.1.1.88/f   /mnt/smb

掛載loop設備:

[root@cnode6_8 /]# dd if=/dev/zero of=/testdir/loopdev bs=1M count=50 //dd創建一個文件
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 2.04763 s, 25.6 MB/s
[root@cnode6_8 /]# mkfs.ext4 /testdir/loopdev //將改文件格式化為ext4
mke2fs 1.41.12 (17-May-2010)
/testdir/loopdev is not a block special device.
Proceed anyway? (y,n) y   ====> 回答y開始格式化
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
12824 inodes, 51200 blocks
2560 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=52428800
7 block groups
8192 blocks per group, 8192 fragments per group
1832 inodes per group
Superblock backups stored on blocks:
         8193, 24577, 40961
 
Writing inode tables: done                           
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@cnode6_8 /]# mkdir /mnt/loopdev //創建掛載點
[root@cnode6_8 /]# mount  -o loop /testdir/loopdev /mnt/loopdev //手動掛載
[root@cnode6_8 /]# mount |grep loop //檢驗是否成功
/testdir/loopdev on /mnt/loopdev type ext4 (rw,loop=/dev/loop0)
[root@cnode6_8 /]# umount /mnt/loopdev //卸載,嘗試寫入文件永久掛載
[root@cnode6_8 /]# vim /etc/fstab
[root@cnode6_8 /]# tail -n1 /etc/fstab //配置文件添加的部分
/testdir/loopdev       /mnt/loopdev             ext4      loop,defaults  0 0
 [root@cnode6_8 /]# mount -a
[root@cnode6_8 /]# mount |grep loop //配置文件生效
/testdir/loopdev on /mnt/loopdev type ext4 (rw,loop=/dev/loop0)
[root@cnode6_8 /]# losetup -a 
/dev/loop0: [0803]:11 (/testdir/loopdev)

注釋:通過losetup查看loop設備與分區的關聯情況,也可以手工指定哪一個loop設備關聯某一個分區,losetup   /dev/loop2 /testdir/partfile就是關聯loop2和分區關聯??梢詫憀oop設備到目錄的掛載,分區其實是關聯了一個loop設備,在rhel6中有8個loop設備,在rhel7中是動態建立的

使用mknod創建block或者字符設備其中b是指block,7是loop設備的編號,67是第多少個loop設備,可以先查看一下系統的loop設備編號到多少

[root@cnode6_8 testdir]# mknod loopd b 7 67
[root@cnode6_8 testdir]# ll loopd
brw-r--r--. 1 root root 7, 67 Jul 27 19:46 loopd

-o 常用選項(多個選項之間用逗號分割,在配置文件/etc/fstabdefaults的位置寫)

       async:異步模式,加載到內存的文件修改之后不會立即同步到硬盤,能提高性能

       sync:同步模式,內存更改立即保存至文件,提高文件可靠性

       atime/moatime: 目錄訪問時間戳,例如web的目錄時間戳沒必要更新時可禁用

       auto/noauto: 是否支持自動掛載,automount -a 自動可掛載

       exec/noexec: 是否支持在文件系統上運行應用程序

       dev/nodev: 因為設備文件也是文件,dev表示支持在此目錄上建立dev設備

suid/nosuid: 是否支持suidsgid權限

remount :重新掛載

ro:只讀

rw:讀寫模式

user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載設備

defaults:相當于rwsuid,dev,exec,autonouser,async

2.        查看與卸載命令:因為一個文件系統有可能不止一個用戶訪問,所以有可能不能卸載

findmnt 查看掛載情況;

[root@cnode6_8 ~]# findmnt /
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/sda2 ext4   rw,relatime,seclabel,barrier=1,data=ordered
[root@cnode6_8 ~]# findmnt /dev/sda1
TARGET SOURCE    FSTYPE OPTIONS
/boot  /dev/sda1 ext4   rw,relatime,seclabel,barrier=1,data=ordered

 

lsof 或fuser -v 查看訪問指定文件系統的進程

[root@cnode6_8 ~]# [root@cnode6_8 ~]# lsof /root
014657 /root
lsof    3440 root  cwd    DIR    8,2     4096 3014657 /root
[root@cnode6_8 ~]# fuser -v /root
                     USER        PID ACCESS COMMAND
/root:               root       2292 ..c.. bash
                     root       3357 ..c.. bash


終止所有正在訪問指定文件系統的進程:fuser -km MOUNT_POINT

[root@cnode6_8 ~]# umount /testdir  //設備忙,無法卸載
umount: /testdir: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@cnode6_8 ~]# fuser -v /testdir //查看到user jack在使用
                     USER        PID ACCESS COMMAND
/testdir:            jack       3535 ..c.. bash
[root@cnode6_8 ~]# fuser -km /testdir //強制殺掉在使用分區的進程
/testdir:             3535c
[root@cnode6_8 ~]# umount /testdir
[root@cnode6_8 ~]#     //再次卸載已經成功

 

3.   永久掛載的配置文件/etc/fstab

/etc/fstab配置文件是在系統重啟時文件系統掛載要讀的配置文件,一旦寫錯可能致使操作系統無法啟動,所以操作一定要小心?。?!如在rhel6中掛載的設備名字寫錯,在檢測的選項又設置了開機檢測文件系統,那么此時在開機時將一直卡在輸入ctrl+D或者輸入root密碼繼續,此時可以輸入密碼重新掛載 / 文件系統,因為此時的 / 文件系統是只讀的,需要重新掛載為可讀可寫的,然后編輯/etc/fstab 文件修改開機檢測項為0,即不檢測,然后繼續,最后繼續(ctrl +D)繼續開機,等到開機檢查哪一項除了問題,修改即可。rhel7不需要重新掛載 / 文件系統,可以直接編輯文件過程與rhel6類似,如果任然無法啟動可以輸入root密碼,重新啟動(systemctl reboot

  /etc/fstab 文件格式:

fstab.bmp

(1)要掛載的設備或偽文件系統:可以是設備名,UUID,LABEL,偽文件系統,目錄等

(2) 掛載點:設備要掛載的目錄,一般要放在/mnt下面

(3)  文件系統類型:一般的文件系統類型,還有none(目錄)

(4)掛載選項default-o指定的各種項

(5)  轉儲頻率0表示不備份,1表示每天轉儲,2表示隔天轉儲

(6) 自檢次序0表示不自檢,1一般用來表示根文件系統自檢順序

4.       掛載的文件系統的查看:

df :查看文件系統的掛載情況,可以加-T選項,在設備名比較長可以對其顯示,方便編寫腳本對數據進行處理

du:查看目錄的大小情況

mount:可以查看到包括目錄等的掛載情況,但是在掛載時加-n就查看不到了

cat  /proc/mounts  可以看到系統實時文件系統生效的掛載項

free :可以看到所有內存交換分區信息

cat  /proc/swaps 可以看到交換分區信息,包括使用哪個分作作為交換分區

二、 usb設備和CD-ROM的使用

1. usb設備的使用:

usb設備使用時可事先查看當前系統的分區和磁盤信息,方便知道插入usb設備后多了那些設備便于管理,usb設備同其它分區一樣也需要掛載和卸載,數據寫完后可以多次輸入sync保證數據確實已經全部保存至usb設備

2. CD-ROM設備使用:

使用eject可以彈出光驅,eject -t彈入。linux中自帶打包iso后綴文件的工具,如果是文件可以直接使用cp命令目標文件帶有iso后綴即可,如果是目錄,可以使用mkisofs 打包。iso文件掛載后可以使用

[root@cnode6_8 image]# touch {a..f}.txt
[root@cnode6_8 image]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt
[root@cnode6_8 image]# cd ..
[root@cnode6_8 ~]# mkisofs -r -o img.iso  image  //給image目錄建立鏡像文件,-r遞歸,-o是輸入文件
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 631
Total directory bytes: 946
Path table size(bytes): 10
Max brk space used 0
175 extents written (0 MB)
[root@cnode6_8 ~]# ls
img.iso    image

原創文章,作者:jack_cui,如若轉載,請注明出處:http://www.www58058.com/41311

(0)
jack_cuijack_cui
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • diy自己的linux

    準備一臺liunx的機器,我用的是liunx虛擬機 單獨加載一塊硬盤,我加載了一塊20G的硬盤,然后用fdisk /dev/sdb進行分區,sdb1用來作為將來系統的/boot分區,所有100M就可以了,sdb2用來作為將來系統的/分區,我給了10G。然后將兩個分區格式化為ext4系統。 mkdir /mnt/boot mkdir /mnt/sdc2 mou…

    Linux干貨 2016-09-14
  • 網絡基礎知識

    網絡基礎知識: 網絡設備 TCP/IP協議 ARP協議 網絡設備:     HUB集線器: 工作在物理層,沒有學習能力,作用在于把各種節點匯聚在以它為中心的節點上,同時也有傳輸數據的作用,由于沒有學習能力,只能以廣播的形式將數據發送給與它相連的所有節點。 特點:共享帶寬,半雙工     &…

    Linux干貨 2016-09-02
  • LNAMP Shell 部署腳本

    LNAMP Shell 部署腳本 學習總結: 這個腳本,早期是出于對個人學習Shell的總結而寫,應該有些年頭了,目前也在一邊學馬哥視頻的基礎上陸續完善,10月初才完成LNAMP環境的分離式部署,并減少整個Shell腳本各部分的依賴關系。 我是網絡班13期高級班的學員,因個人做了幾年Linux運維,所以目前整個高級班的課程,我是跳著看了集群(LVS + Ke…

    Linux干貨 2015-10-27
  • 馬哥教育網絡第20期第八周課程練習

    1、 請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。在局域網內,大量主機之間的通信通過arp廣播來連接目的主機地址的,為減少在共享環境里的介質,網橋的作用是將廣播域劃分為多個小的沖突域,但廣播域沒有變。工作在OSI數據鏈路層,端口很少?;谲浖?梢蕴幚砩蠈邮聞铡?集線器:對接收到的信號進行再生整形放大,擴大網絡傳輸距離,工作在O…

    Linux干貨 2016-08-15
  • linux網絡管理(基礎-IP、MAC、TCP)

    linux網絡管理 計算機網絡 MACMAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制、介質訪問控制,或稱為物理地址、硬件地址,用來定義網絡設備的位置。在OSI模型中,第三層網絡層負責IP地址,第二層數據鏈路層則負責MAC地址。因此一個主機會有一個MAC地址,而每個網絡位置會有一個專屬于…

    Linux干貨 2016-09-09
  • Linux下的文件管理系統

    一、文件系統的FHS標準     因為Linux的屬于開源系統,開發人員多,為了統一開發標準,Linux有一個文件系統標準,也就是FHS(Filesystem HierarchyStandard)標準。有了這個標準,那些獨立的軟件開發商、系統開發人員以及系統的使用者就能方便的在系統上操作。 二、文件系統  &…

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