日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

掛載

指的就是將設(shè)備文件中的頂級目錄連接到 linux 根目錄下的某一目錄(最好是空目錄),訪問此目錄就等同于訪問設(shè)備文件。

Linux 系統(tǒng)中“一切皆文件”,所有文件都放置在以根目錄為樹根的樹形目錄結(jié)構(gòu)中。在 inux 看來,任何硬件設(shè)備也都是文件,它們各有自己的一套文件系統(tǒng)(文件目錄結(jié)構(gòu))。

因此產(chǎn)生的問題是,當在 Linux 系統(tǒng)中使用這些硬件設(shè)備時,只有將Linux本身的文件目錄與硬件設(shè)備的文件目錄合二為一,硬件設(shè)備才能為我們所用。合二為一的過程稱為“掛載”。

如果不掛載,通過Linux系統(tǒng)中的圖形界面系統(tǒng)可以查看找到硬件設(shè)備,但命令行方式無法找到。

并不是根目錄下任何一個目錄都可以作為掛載點,由于掛載操作會使得原有目錄中文件被隱藏,因此根目錄以及系統(tǒng)原有目錄都不要作為掛載點,會造成系統(tǒng)異常甚至崩潰,掛載點最好是新建的空目錄。

例如:

我們想通過命令行訪問某個 U 盤中的數(shù)據(jù),圖 1 所示為 U 盤文件目錄結(jié)構(gòu)和 Linux 系統(tǒng)中的文件目錄結(jié)構(gòu)。

什么是掛載,Linux掛載如何實現(xiàn)詳解

 

可以看到,目前 U 盤和 Linux 系統(tǒng)文件分屬兩個文件系統(tǒng),還無法使用命令行找到 U 盤文件,需要將兩個文件系統(tǒng)進行掛載。

如何把U盤文件掛載到系統(tǒng)文件中?

1、我們在文件根目錄下新建一個目錄 /sdb-u,通過掛載命令將 U 盤文件系統(tǒng)掛載到此目錄,掛載效果如圖 2 所示。

什么是掛載,Linux掛載如何實現(xiàn)詳解

 

2、實現(xiàn)命令

3、可以看到,U 盤文件系統(tǒng)已經(jīng)成為 Linux 文件系統(tǒng)目錄的一部分,此時訪問 /sdb-u/ 就等同于訪問 U 盤

根目錄下的 /dev/ 目錄文件負責(zé)所有的硬件設(shè)備文件,事實上,當 U 盤插入 Linux 后,系統(tǒng)也確實會給 U 盤分配一個目錄文件(比如 sdb1),就位于 /dev/ 目錄下(/dev/sdb1),但無法通過 /dev/sdb1/ 直接訪問 U 盤數(shù)據(jù),訪問此目錄只會提供給你此設(shè)備的一些基本信息(比如容量)。

總之,Linux 系統(tǒng)使用任何硬件設(shè)備,都必須將設(shè)備文件與已有目錄文件進行掛載。

Linux命令擴展:

1、df 命令

用于顯示 Linux 系統(tǒng)中各文件系統(tǒng)的硬盤使用情況,包括文件系統(tǒng)所在硬盤分區(qū)的總?cè)萘俊⒁咽褂玫娜萘俊⑹S嗳萘康取?/p>

df 命令的基本格式為:

[root@localhost ~]# df [選項] [目錄或文件名]

df命令常用選項及作用

-a: 顯示所有文件系統(tǒng)信息,包括系統(tǒng)特有的 /proc、/sysfs 等文件系統(tǒng);

-m: 以 MB 為單位顯示容量;

-k: 以 KB 為單位顯示容量,默認以 KB 為單位;

-h: 使用人們習(xí)慣的 KB、MB 或 GB 等單位自行顯示容量;

-T: 顯示該分區(qū)的文件系統(tǒng)名稱;

-i: 不用硬盤容量顯示,而是以含有 inode 的數(shù)量來顯示。

【例 1】

[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hdc2 9920624 3823112 5585444 41% /
/dev/hdc3 4956316 141376 4559108 4% /home
/dev/hdc1 101086 11126 84741 12% /boot
tmpfs 371332 0 371332 0% /dev/shm

不使用任何選項的 df 命令,默認會將系統(tǒng)內(nèi)所有的文件系統(tǒng)信息,以 KB 為單位顯示出來。本例中,由 df 命令顯示出的各列信息的含義分別是:

  • Filesystem:表示該文件系統(tǒng)位于哪個分區(qū),因此該列顯示的是設(shè)備名稱;
  • 1K-blocks:此列表示文件系統(tǒng)的總大小,默認以 KB 為單位;
  • Used:表示用掉的硬盤空間大小;
  • Available:表示剩余的硬盤空間大小;
  • Use%:硬盤空間使用率。如果使用率高達 90% 以上,就需要額外注意,因為容量不足,會嚴重影響系統(tǒng)的正常運行;
  • Mounted on:文件系統(tǒng)的掛載點,也就是硬盤掛載的目錄位置。

【例 2】

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdc2 9.5G 3.7G 5.4G 41% /
/dev/hdc3 4.8G 139M 4.4G 4% /home
/dev/hdc1 99M 11M 83M 12% /boot
tmpfs 363M 0 363M 0% /dev/shm

這里使用了 -h 選項,因此文件系統(tǒng)的各種容量數(shù)據(jù),會以人們習(xí)慣的單位(通常使用 GB 或 MB)顯示出來。

【例 3】

[root@localhost ~]# df -h /etc
Filesystem Size Used Avail Use% Mounted on
/dev/hdc2 9.5G 3.7G 5.4G 41% /

這里在 df 命令后添加了目錄名,在這種情況下,df 命令會自動分析該目錄所在的分區(qū),并將所在分區(qū)的有關(guān)信息顯示出來。由此,我們就可以知道,該目錄下還可以使用多少容量。

【例 4】

[root@localhost ~]# df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/hdc2 ext3 9920624 3823112 5585444 41% /
proc proc 0 0 0 - /proc
sysfs sysfs 0 0 0 - /sys
devpts devpts 0 0 0 - /dev/pts
/dev/hdc3 ext3 4956316 141376 4559108 4% /home
/dev/hdc1 ext3 101086 11126 84741 12% /boot
tmpfs tmpfs 371332 0 371332 0% /dev/shm
none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs

使用 -a 選項,會將很多特殊的文件系統(tǒng)顯示出來,這些文件系統(tǒng)包含的大多是系統(tǒng)數(shù)據(jù),存在于內(nèi)存中,不會占用硬盤空間,因此你會看到,它們所占據(jù)的硬盤總?cè)萘繛?0。

2、du 命令

是統(tǒng)計目錄或文件所占磁盤空間大小的命令。

需要注意的是,使用"ls -r"命令是可以看到文件的大小的。但是大家會發(fā)現(xiàn),在使用"ls -r"命令査看目錄大小時,目錄的大小多數(shù)是 4KB,這是因為目錄下的子目錄名和子文件名是保存到父目錄的 block(默認大小為 4KB)中的,如果父目錄下的子目錄和子文件并不多,一個 block 就能放下,那么這個父目錄就只占用了一個 block 大小。

在統(tǒng)計目錄時,不是想看父目錄下的子目錄名和子文件名到底占用了多少空間,而是想看父目錄下的子目錄和子文件的總磁盤占用量大小,這時就需要使用 du 命令才能統(tǒng)計目錄的真正磁盤占用量大小。

du 命令的格式如下:

[root@localhost ~]# du [選項] [目錄或文件名]

選項:

  • -a:顯示每個子文件的磁盤占用量。默認只統(tǒng)計子目錄的磁盤占用量
  • -h:使用習(xí)慣單位顯示磁盤占用量,如 KB、MB 或 GB 等;
  • -s:統(tǒng)計總磁盤占用量,而不列出子目錄和子文件的磁盤占用量

【例 1】

[root@localhost ~]# du
#統(tǒng)計當前目錄的總磁盤占用量大小,同時會統(tǒng)計當前目錄下所有子目錄的磁盤占用量大小,不統(tǒng)計子文件
#磁盤占用量的大小。默認單位為KB
20 ./.gnupg
#統(tǒng)計每個子目錄的大小
24 ./yum.bak
8 ./dtest
28 ./sh
188
#統(tǒng)計當前目錄總大小

【例 2】

[root@localhost ~]# du -a
#統(tǒng)計當前目錄的總大小,同時會統(tǒng)計當前目錄下所有子文件和子目錄磁盤占用量的大小。默認單位為 KB
4 ./.bashjogout
36 ./install.log
4 ./.bash_profile
4 ./.cshrc
…省略部分輸出…
188

【例 3】

[root@localhost ~]# du -sh
#只統(tǒng)計磁盤占用量總的大小,同時使用習(xí)慣單位顯示
188K .

du命令和df命令的區(qū)別

有時我們會發(fā)現(xiàn),使用 du 命令和 df 命令去統(tǒng)計分區(qū)的使用情況時,得到的數(shù)據(jù)是不一樣的。那是因為df命令是從文件系統(tǒng)的角度考慮的,通過文件系統(tǒng)中未分配的空間來確定文件系統(tǒng)中已經(jīng)分配的空間大小。也就是說,在使用 df 命令統(tǒng)計分區(qū)時,不僅要考慮文件占用的空間,還要統(tǒng)計被命令或程序占用的空間(最常見的就是文件已經(jīng)刪除,但是程序并沒有釋放空間)。

而 du 命令是面向文件的,只會計算文件或目錄占用的磁盤空間。也就是說,df 命令統(tǒng)計的分區(qū)更準確,是真正的空閑空間。

3、mount命令

文件系統(tǒng)掛載

硬件設(shè)備必須掛載之后才能使用,只不過,有些硬件設(shè)備(比如硬盤分區(qū))在每次系統(tǒng)啟動時會自動掛載,而有些(比如 U 盤、光盤)則需要手動進行掛載。

掛載指的是將硬件設(shè)備的文件系統(tǒng)和 Linux 系統(tǒng)中的文件系統(tǒng),通過指定目錄(作為掛載點)進行關(guān)聯(lián)。而要將文件系統(tǒng)掛載到 Linux 系統(tǒng)上,就需要使用 mount 掛載命令。

mount 命令的常用格式有以下幾種:

[root@localhost ~]# mount [-l]

單純使用 mount 命令,會顯示出系統(tǒng)中已掛載的設(shè)備信息,使用 -l 選項,會額外顯示出卷標名稱(讀者可自行運行,查看輸出結(jié)果);

[root@localhost ~]# mount -a

-a 選項的含義是自動檢查 /etc/fstab 文件中有無疏漏被掛載的設(shè)備文件,如果有,則進行自動掛載操作。這里簡單介紹一下 /etc/fstab 文件,此文件是自動掛載文件,系統(tǒng)開機時會主動讀取 /etc/fstab 這個文件中的內(nèi)容,根據(jù)該文件的配置,系統(tǒng)會自動掛載指定設(shè)備。

[root@localhost ~]# mount [-t 系統(tǒng)類型] [-L 卷標名] [-o 特殊選項] [-n] 設(shè)備文件名 掛載點

各選項的含義分別是:

  • -t 系統(tǒng)類型:指定欲掛載的文件系統(tǒng)類型。Linux 常見的支持類型有 EXT2、EXT3、EXT4、iso9660(光盤格式)、vfat、reiserfs 等。如果不指定具體類型,掛載時 Linux 會自動檢測。
  • -L 卷標名:除了使用設(shè)備文件名(例如 /dev/hdc6)之外,還可以利用文件系統(tǒng)的卷標名稱進行掛載。
  • -n:在默認情況下,系統(tǒng)會將實際掛載的情況實時寫入 /etc/mtab 文件中,但在某些場景下(例如單人維護模式),為了避免出現(xiàn)問題,會刻意不寫入,此時就需要使用這個選項;
  • -o 特殊選項:可以指定掛載的額外選項,比如讀寫權(quán)限、同步/異步等,如果不指定,則使用默認值(defaults)。具體的特殊選項參見表 1;

mount 命令選項及功能

rw/ro :是否對掛載的文件系統(tǒng)擁有讀寫權(quán)限,rw 為默認值,表示擁有讀寫權(quán)限;ro 表示只讀權(quán)限。

async/sync : 此文件系統(tǒng)是否使用同步寫入(sync)或異步(async)的內(nèi)存機制,默認為異步 async。

dev/nodev 是否允許從該文件系統(tǒng)的 block 文件中提取數(shù)據(jù),為了保證數(shù)據(jù)安裝,默認是 nodev。

auto/noauto :是否允許此文件系統(tǒng)被以 mount -a 的方式進行自動掛載,默認是 auto。

suid/nosuid :設(shè)定文件系統(tǒng)是否擁有 SetUID 和 SetGID 權(quán)限,默認是擁有。

exec/noexec 設(shè)定在文件系統(tǒng)中是否允許執(zhí)行可執(zhí)行文件,默認是允許。

user/nouser 設(shè)定此文件系統(tǒng)是否允許讓普通用戶使用 mount 執(zhí)行實現(xiàn)掛載,默認是不允許(nouser),僅有 root 可以。

defaults 定義默認值,相當于 rw、suid、dev、exec、auto、nouser、async 這 7 個選項。

remount重新掛載已掛載的文件系統(tǒng),一般用于指定修改特殊權(quán)限。

【例 1】

[root@localhost ~]# mount
#查看系統(tǒng)中已經(jīng)掛載的文件系統(tǒng),注意有虛擬文件系統(tǒng)
/dev/sda3 on / type ext4 (rw) <--含義是,將 /dev/sda3 分區(qū)掛載到了 / 目錄上,文件系統(tǒng)是 ext4,具有讀寫權(quán)限
proc on /proc type proc (rw)
sysfe 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)
none on /proc/sys/fe/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfe/rpc_pipefs type rpc_pipefs (rw)

【例 2】

修改特殊權(quán)限。/boot 分區(qū)已經(jīng)被掛載了,而且采用的是 defaults 選項。這里我們重新掛載分區(qū),并采用 noexec 權(quán)限禁止執(zhí)行文件執(zhí)行,看看會出現(xiàn)什么情況(注意不要用 / 分區(qū)做實驗,否則系統(tǒng)命令也就不能執(zhí)行了。

[root@localhost ~]# mount -o remount noexec /boot
#重新掛載 /boot 分區(qū),并使用 noexec 權(quán)限
[root@localhost sh]# cd /boot
#寫一個 shell 腳本,看是否會運行
[root@localhost boot]#vi hello.sh
#!/bin/bash
echo "hello!!"
[root@localhost boot]# chmod 755 hello.sh
[root@localhost boot]# ./hello.sh
-bash:./hello.sh:權(quán)限不夠
#雖然賦予了hello.sh執(zhí)行權(quán)限,但是仍然無法執(zhí)行
[root@localhost boot]# mount -o remount exec /boot
#記得改回來,否則會影響系統(tǒng)啟動

【例 3】掛載分區(qū)

[root@localhost ~]# mkdir /mnt/disk1
#建立掛載點目錄
[root@localhost ~]# mount /dev/sdb1 /mnt/disk1
#掛載分區(qū)

硬盤分區(qū)(設(shè)備)掛載和卸載(使用 umount 命令)的概念源自 UNIX,UNIX 系統(tǒng)一般是作為服務(wù)器使用的,系統(tǒng)安全非常重要,特別是在網(wǎng)絡(luò)上,最簡單有效的方法就是“不使用的硬盤分區(qū)(設(shè)備)不掛載”,因為沒有掛載的硬盤分區(qū)是無法訪問的,這樣系統(tǒng)也就更安全了。

另外,這樣也可以減少掛載的硬盤分區(qū)數(shù)量,相應(yīng)地,也就可以減少系統(tǒng)維護文件的規(guī)模,當然也就減少了系統(tǒng)的開銷,即提高了系統(tǒng)的效率。

4、umount 命令

命令的基本格式如下:

[root@localhost ~]# umount 設(shè)備文件名或掛載點

注意,卸載命令后面既可以加設(shè)備文件名,也可以加掛載點,不過只能二選一,比如:

[root@localhost ~]# umount /mnt/usb
#卸載U盤
[root@localhost ~]# umount /mnt/cdrom
#卸載光盤
[root@localhost ~]# umount /dev/sr0
#命令加設(shè)備文件名同樣是可以卸載的

如果加了兩個(如下所示),從理論上分析,會對光驅(qū)卸載兩次,當然,卸載第二次的時候就會報錯。

[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/

卸載掛載異常的情況

[root@localhost ~]# cd /mnt/cdrom/
#進入光盤掛載點
[root@localhost cdrom]# umount /mnt/cdrom/
umount: /mnt/cdrom: device is busy.
#報錯,設(shè)備正忙

這種報錯是因為我們已經(jīng)進入了掛載點,因此,如果要卸載某硬件設(shè)備,在執(zhí)行 umount 命令之前,用戶須退出掛載目錄。

卸載硬件設(shè)備成功與否,除了執(zhí)行 umount 命令不報錯之外,還可以使用 df 命令或 mount -l 來查看目標設(shè)備是否還掛載在系統(tǒng)中。

分享到:
標簽:Linux 掛載
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定