Linux和Unix作業系統(如macOS)中的檔案系統可以使用終端安裝、解除安裝和重新安裝。這是一個強大和多功能的工具這裡的一切你需要知道。
Linux、macOS和其他類似Unix的作業系統中的檔案系統不像Windows那樣為儲存裝置使用單獨的卷識別符號。Windows為每個卷分配一個驅動器號,如C:或D:,每個卷的檔案系統是位於該驅動器號下面的目錄樹。
在Linux中,檔案系統是一個多功能目錄樹。一個掛載的儲存裝置將其檔案系統嫁接到樹上,這樣它看起來就像是一個內聚檔案系統的一個組成部分。新安裝的檔案系統可以透過安裝它的目錄進行訪問。該目錄稱為該檔案系統的裝入點。
許多檔案系統在啟動時自動掛載,或者在執行時作為連線到計算機的儲存捲動態掛載。謹慎的系統管理員可以關閉執行時自動裝載功能,以便控制與系統的連線。
這意味著執行時連線的儲存裝置可能不會自動裝載,需要手動裝載。手動裝載檔案系統可以讓您決定該檔案系統,例如裝載點在哪裡,以及檔案系統是隻讀還是讀寫。
無論是出於必要還是出於選擇,mount、umount和remount命令都使您能夠控制Linux系統的這一重要方面。
Mount有很多選項,但是要列出計算機上所有掛載的檔案系統,根本不需要任何選項。只需鍵入mount並按回車鍵:
mount將在終端視窗中列出所有連線的檔案系統。
很難從大量的資料中找到你想要的東西。
您可以透過要求mount只列出您感興趣的檔案系統來最佳化輸出。t(type)選項告訴mount要報告的檔案系統型別。
mount -t tmpfs mount -t ext4例如,我們要求mount只列出tmpfs檔案系統。我們得到了更易於管理的輸出。
tmpfs檔案系統看起來好像是一個常規的、掛載的檔案系統,但實際上它儲存在易失性記憶體中tmp代表臨時的,而不是持久的儲存裝置上。
您需要用tmpfs引數替換您感興趣的檔案型別。
我們還發出了列出ext4檔案系統的命令。在這臺測試計算機上,有一個ext4檔案系統,它是在sda裝置上安裝的第一個儲存裝置,通常是主硬碟驅動器和/上安裝的,後者是檔案系統樹的根。
其他指標意味著:
相關:您應該使用哪個Linux檔案系統?
df命令還可以用來顯示安裝了哪些檔案系統以及它們的安裝點在哪裡。
不帶引數的df會給您帶來與mount相同的資訊過載問題。例如,在ubuntulinux中,有一個squashfs偽檔案系統,用於使用snap命令安裝的每個應用程式。誰想看看這些?
要強制df忽略它們或任何其他檔案系統型別,請使用-x(排除)選項:
df -x squashfs您可以很容易地看到檔案系統的名稱、它們的容量、已用空間和可用空間以及它們的裝載點。
相關:如何從Linux終端檢視可用磁碟空間和磁碟使用情況
在引導時掛載的所有檔案系統都在名為fstab的檔案中有條目,fstab是位於/etc中的檔案系統表。
您可以使用mount強制“重新整理”並重新裝載fstab中列出的所有檔案系統。在正常工作條件下,這是不需要的。如果您有多個檔案系統的問題,那麼它就有自己的問題了。
您需要使用sudo,因此係統會提示您輸入密碼。
sudo mount -a誠然,在一臺操作正確的電腦上,這是有點令人不安。
但是,在有檔案系統問題的計算機上,重新裝載可能會清除這些問題。如果沒有發生這種情況,那麼至少您將在螢幕和系統日誌中獲得診斷訊息,這些訊息將引導您查詢問題的原因。
相關:什麼是Linux fstab檔案,它是如何工作的?
很容易掛載ISO映像,以便您可以作為檔案系統的一部分訪問其內容。
這將適用於任何ISO映像。在這個例子中,我們碰巧使用了一個很小的核心linuxiso,因為它非常小巧,****也很快。(一個帶有GUI的小型Linux發行版,18 MB!你可能有比這個大的.mp3檔案。)
在與ISO映像相同的目錄中,發出以下命令。替換要裝入的ISO檔案的名稱。
sudo mount -t iso9660 -o loop TinyCore-current.iso /mnt因為我們需要使用sudo,所以你需要輸入密碼。
-t(type)選項告訴mount我們正在掛載什麼型別的檔案系統。它是一個ISO檔案,因此我們提供iso9660型別說明符。
-o(opti***)標誌用於向mount傳遞額外的引數。我們的引數是loop。
我們使用loop強制mount使用一個loop裝置檔案連線到ISO映像。一個迴圈裝置檔案允許一個檔案(比如ISO映像)被掛載和處理,就好像它是一個儲存裝置一樣。
裝置檔案是用作介面的特殊檔案,因此連線的裝置看起來就像是普通的檔案系統檔案。這是Linux中所有東西的一部分,是一種檔案設計理念。
有許多不同型別的裝置檔案。我們在前面看到過一個例子,我們注意到這個測試機器上唯一的ext4檔案系統掛載在/上,名為sda。
更準確地說,ext4檔案系統位於透過/dev/sda裝置檔案連線到檔案系統的儲存裝置上,該儲存裝置上的檔案系統安裝在/。
當然,我們必須提供ISO映像的名稱,並且我們需要讓mount知道我們希望將檔案系統裝載到哪裡。我們選擇了/mnt。
安裝ISO映像。終端視窗中會出現一個提示,提示ISO映像始終以只讀模式安裝。
現在它已經掛載,我們可以像檔案系統的任何其他部分一樣導航ISO映像中的目錄。讓我們列出ISO映像中的檔案。它安裝在/mnt記住。
ls /mnt ls /mnt/cde/要解除安裝裝載的檔案系統,請使用umount命令。請注意,“u”和“m”之間沒有“n”-命令是umount而不是“unmount”
您必須告訴umount您正在解除安裝哪個檔案系統。為此,請提供檔案系統的裝入點。
sudo umount /mnt沒有訊息就是好訊息。如果沒有什麼可報告的,那麼一切都很順利。
您可以建立和使用自己的裝載點。我們將建立一個名為isomnt的,並將我們的ISO映像安裝在上面。掛載點只是一個目錄。所以我們可以使用mkdir來建立新的掛載點。
sudo mkdir /media/dave/isomnt現在我們可以使用與以前相同的命令格式來掛載ISO映像。這次我們將不在/mnt上掛載它,而是在/media/dave/isomnt/上掛載它:
sudo mount -r -t iso9660 -o loop TinyCore-current.iso /media/dave/isomnt/我們現在可以從新的掛載點訪問掛載的檔案系統。
ls /media/dave/isomnt/cde/optional但是這些路徑越來越長。那很快就會讓人厭煩的。讓我們做點什麼。
可以將裝載點繫結到另一個目錄。然後可以透過原始裝載點或繫結到它的目錄來訪問裝載的檔案系統。
這是一個成功的例子。我們將在主目錄中建立一個名為iso的目錄。然後我們將ISO image/media/dave/isomnt的掛載點繫結到主目錄中的新ISO目錄。
我們可以透過原始掛載點/media/dave/isomnt和新的ISO目錄訪問ISO映像。-B(bind)選項需要裝載點的名稱和要將其繫結到的目錄的名稱。
mkdir iso sudo mount -B /media/dave/isomnt/ iso ls iso ls /media/dave/isomnt cd iso ls cd cde已將裝入點繫結到另一個目錄的檔案系統需要從其裝入點和繫結點解除安裝。
即使我們從檔案系統的原始裝載點解除安裝檔案系統,您仍然可以從其繫結目錄訪問檔案系統。檔案系統也必須從該目錄解除安裝。
sudo umount /media/dave/isomnt ls iso sudo umount iso ls iso軟盤驅動器(裡面有軟盤)是一種儲存裝置。這意味著sd(用於儲存裝置)裝置檔案將用於連線到物理裝置。我們必須確定哪個是下一個免費的sd裝置檔案。我們可以透過管道將df的輸出透過grep並查詢其中包含“sd”的條目來實現這一點。
df | grep /dev/sd在這臺計算機上,只有一個sd裝置檔案正在使用。這是/dev/sda。下一個釋出的sd裝置檔案將是/dev/sdb。這意味著當我們將軟盤驅動器連線到計算機時,Linux將使用/dev/sdb連線到軟盤驅動器。
我們將告訴mount將檔案系統掛載到軟盤驅動器的軟盤上,軟盤驅動器連線到/dev/sdb到/mnt掛載點。
將軟盤**軟盤驅動器,並將軟盤驅動器連線到計算機上的USB埠。發出以下命令:
sudo mount /dev/sdb /mnt我們可以使用mount的-l(label)選項來找出檔案系統中附加了什麼標籤(如果有的話)。標籤只不過是任意名稱。它們沒有功能用途。
我們使用-t(type)選項要求mount只報告vfat檔案系統。
mount -l -t vfat您將在清單末尾的方括號中找到標籤。這個軟碟機的標籤是NORTUN。
我們可以透過/mnt掛載點訪問軟盤驅動器。
cd /mnt ls ls -l AMATCH.C軟盤包含C語言原始碼檔案。其中一份檔案的日期戳顯示,上次修改日期是1992年10月。它可能比我們很多讀者都老。(不用說,諾頓作為一個標籤的意義在時間的迷霧中消失了。)
如果我們透過grep命令重複df管道以列出sd裝置檔案,我們將看到現在有兩個。
df | grep /dev/sd我們的軟盤驅動器在/dev/sdb上的顯示與我們預期的一樣。驅動器中軟盤上的檔案系統安裝在/mnt。
要解除安裝軟盤,我們使用umount並將裝置檔案作為引數傳遞給它。
sudo umount /dev/sdb如果您(或其他使用者)在嘗試解除安裝檔案系統時正在使用它,會發生什麼情況?解除安裝將失敗。
sudo umount /dev/sdb它失敗,因為使用者的當前工作目錄在他試圖解除安裝的檔案系統中。Linux足夠聰明,不會讓你把你坐的樹枝鋸斷。
要克服這個問題,請使用-l(lazy)選項。這會導致umount等待檔案系統能夠安全解除安裝。
sudo umount -l /dev/sdb ls cd ~ ls /mnt即使發出了umount命令,檔案系統仍然被掛載,使用者可以正常地列出檔案。
一旦使用者將目錄更改為主目錄,軟盤檔案系統就被釋放並解除安裝。嘗試列出/mnt中的檔案不會產生任何結果。
Samba是一組軟體服務,允許在Linux和Unix類作業系統以及Windows作業系統之間交換訪問網路共享。
設定Samba超出了本文的範圍。但是,如果您有權訪問提供給您的Samba共享,那麼這就是在Linux中裝載它的方式。
與測試機連線到同一網路的Raspberry Pi上有一個Samba共享。這是一個名為Backup的目錄,它將Samba名稱命名為“share”。共享目錄位於安裝在Pi上的隨身碟上。
使用者名稱是pi,樹莓pi的網路名是marineville.本地.
ssh [email protected] ls /media/pi/USB64/Backup exit使用者發出SSH命令並被提示輸入Raspberry Pi密碼。
它們提供密碼並經過身份驗證。終端視窗提示變為馬裡內維爾pi因為它和樹莓皮相連。
它們在/media/pi/USB64/Backup列出共享目錄的內容。內容有兩個目錄,一個叫dave,一個叫pat。所以現在我們知道在安裝Samba共享時會發生什麼。
它們鍵入exit以斷開與Raspberry Pi的連線,提示變回戴夫@howtogeek。
要使用Samba,必須安裝cifs-utils包。
如果您使用的是Ubuntu或其他基於Debian的發行版,請使用apt get將此軟體包安裝到您的系統上。在其他Linux發行版上,請改用Linux發行版的包管理工具。
sudo apt-get install cifs-utils安裝完成後,使用如下命令裝載共享,更改IP地址、共享名和裝載點(必須已經存在)以適應您的環境。
sudo mount -t cifs -o credentials=/etc/samba/creds,uid=1000,gid=1000 //192.168.4.13/share /media/dave/NAS我們來分解一下命令的各個部分。
透過訪問我們位於/media/dave/NAS的掛載點,我們可以透過網路訪問Raspberry Pi上的共享目錄。我們可以看到樹莓皮上的兩個資料夾叫戴夫和帕特。
cd /media/dave/NAS您可以使用dd命令建立一個映像檔案,然後使用mkfs在其中建立一個檔案系統。然後可以掛載該檔案系統。這是練習和實驗mount的好方法。
我們使用if(input file)選項告訴dd使用來自/dev/zero的零值流作為輸入檔案。
of(輸出檔案)是一個名為geek\u fs的新檔案。
我們使用bs(block size)選項請求1 MB的塊大小。
我們使用count選項告訴dd在輸出檔案中包含20個塊。
dd if=/dev/zero of./geek_fs bs=1M count=20為我們建立影象檔案。它只包含零值。
我們可以使用mkfs命令在geek\u fs檔案中建立一個工作檔案系統。t(type)選項允許我們選擇檔案系統型別。我們正在建立一個ext4系統。
mkfs -t ext4 ./geek_fs這是所有需要有一個工作的檔案系統。
讓我們把它掛載到/media/dave/geek上,然後使用chown設定所有者和組所有者,以允許訪問它。
sudo mount ./geek_fs /media/dave/geek sudo chown dave:users /media/dave/geek它有用嗎?讓我們換成新的檔案系統,複製一個檔案來檢視。
cd /media/dave/geek cp /etc/fstab . ls -l我們能夠將目錄更改為新的檔案系統,並且成功地複製了/etc/fstab檔案。起作用了!
如果我們使用mount列出掛載的檔案系統,但使用-t(type)選項將其輸出限制為ext4檔案系統,那麼我們將看到現在有兩個掛載的ext4檔案系統。
mount -t ext4重新裝載檔案系統使用-o重新裝載選項。通常是將檔案系統從只讀(測試)狀態更改為讀寫(生產)狀態。
我們再裝一次軟碟機。這次我們將使用-r(只讀)標誌。然後我們將透過grep進行管道裝載,並檢視軟盤檔案系統的詳細資訊。
sudo mount -r /dev/sdb /mnt mount | grep /mnt如您所見,突出顯示的ro表示檔案系統是以只讀方式裝載的。
使用帶有rw(讀寫)標誌的-o remount選項,我們可以在一個命令中解除安裝和重新裝載具有新設定的檔案系統。
sudo mount -o remount,rw /mnt透過grep重複mount的管道顯示ro已經被rw(突出顯示)所取代。檔案系統現在處於讀寫模式。
mount | grep /mnt您以前可以用一個命令解除安裝一個檔案系統並將其重新裝載到另一個裝載點上。
mount中的-M(move)選項專門允許您這樣做。但它不再適用於轉移到systemd的Linux發行版。這是大多數大牌。
如果我們試圖將檔案系統從/mnt移到./geek,它將失敗並給出如下所示的錯誤訊息。試圖列出檔案系統中的檔案。/geek不返回任何結果。
sudo mount -M /mnt ./geek ls ./geek解決方法是使用-B(bind)選項,我們之前使用該選項將原始裝載點繫結到新的裝載點。
sudo mount -B /mnt ./geek ls ./geek除了不釋放原來的掛載點,這將有同樣的實際結果。
使用--makeprivate選項可以強制在Linux的systemd版本上進行移動。這裡不介紹這種技術有兩個原因。
Devuan Linux使用SysV init not systemd。一臺計算機裝載了最新版本的Devuan並進行了測試。-M(move)選項在該系統上按預期工作。
除了-M(move)選項的systemd問題之外,您應該發現mount和umount的使用非常簡單。當您面對損壞的系統時,這些命令非常有用,您必須開始手動將檔案系統拼接起來。
在任何平臺上,加密都是每個人都應該認真對待的事情。你可能認為你在Linux上比在Windows甚至macOS上更安全。但是Linux真的像你想象的那樣安全嗎? ...
... 你最喜歡的DOS遊戲是什麼?如何在Linux上執行DOS?你認為我們會擺脫DOS嗎?請在下面的評論中告訴我們! ...
如果您希望更多地使用Linux終端,那麼學習如何手動裝載和解除安裝硬碟是一個簡單的開始。此外,如果你發現自己處於一種讓你遠離傳統桌面的境地,學習如何這樣做可能會節省很多時間和谷歌搜尋。 ...
...(可能是與數碼相機一起使用的裝置)時,系統會提示您如何繼續操作。為了方便起見,我喜歡將裝置開啟到檔案管理器中。 ...
如果使用Kodi,您可能已經知道如何收聽硬碟上託管的音樂檔案。但是如果你想聽聽科迪的Spotify怎麼辦? ...
... 下面介紹如何在Raspberry Pi上安裝Plex伺服器,配置它,並開始流式傳輸您喜愛的電影、電視節目、音樂、家庭照片和其他媒體檔案。 ...
...gle驅動檔案並不難,你只需要知道怎麼做就行了。下面是如何使用Gnome線上帳戶來實現這一點。 ...
...上有大量敏感資料的情況下完全禁用USB儲存裝置。下面是如何在Windows、Mac和Linux上做到這一點。 ...
... 但不一定要這樣。是時候學習如何只使用別名透過SSH高效登入、傳輸單個檔案或目錄、執行遠端SSH命令以及輕鬆地將遠端伺服器裝載到本地目錄了。 ...
...解除安裝加密的檔案系統,並進一步簡化過程。 相關:如何在Linux上建立別名和Shell函式