主頁 > 作業系統 > Linux筆記:磁盤磁區和掛載

Linux筆記:磁盤磁區和掛載

2020-09-22 09:20:30 作業系統

Linux中的所有設備都必須掛載之后才能使用,即必須給它分配“盤符”(即掛載點,就是系統中的某個空目錄)給它才能使用,Windows系統中一般是自動分配盤符,所以掛載的概念在Windows中是沒有的,比如你插入了一個U盤,Windows就會自動給它一個盤符(名稱)來連接U盤,但是Linux中必須手動掛載某個設備,并給它分配一個掛載點(目錄名),即連接設備,掛載(連接)成功后才能使用,

 

一、磁盤磁區
理解磁區:磁盤的各個磁區,可以理解為一個柜子的不同抽屜,而設備檔案名則代表不同的抽屜,如/dev/sda1表示此磁區的設備檔案名,通常我們講某個設備檔案,其實就是說它代表的磁區或者它代表的硬碟,而不會將它作為一個單純的檔案來看待,其中/dev目錄下存放的是對應的硬體設備,sd為設備型別,表示SATA磁盤,a表示磁盤編號,1表示此磁盤的磁區號,
Windows磁區:Windows中磁盤的使用一般是經過磁區(將一個大的硬碟分成多個小的邏輯磁區),格式化(指定檔案系統,而此時會清空磁盤內的資料,注意格式化的目的是重新指定檔案系統而不是清空資料),然后給磁區指定盤符(如C盤、D盤等),在Linux中,沒有盤符的說法,從磁區到給此磁區指定盤符的程序稱之為掛載,而對應的盤符則稱之為掛載點,比如上述的/dev/sda1我可以指定它的掛載點為/test,就相當于在Windows中指定了這塊磁區為test盤(就像C盤、D盤一樣),
Linux磁區:在Linux中,相比于Windows的三個步驟,磁盤磁區這一步會比Windows多一個內容,就是磁區時,需要給對應磁區指定一個設備檔案名,如/dev/sda1、/dev/sda2、/dev/sda3等,表示磁盤/dev/sda下的各個磁區由不同的檔案來管理,然后接下來也是格式化和分配掛載點(即盤符,就是對應的目錄名),
Linux常用磁區:

  • /(根磁區):此為必須磁區,即必須給這個目錄一個磁區,
  • swap磁區(交換磁區):這也是一個必須磁區,大小為記憶體的2倍,但是也不能超過2GB,此磁區可以理解為虛擬記憶體,即記憶體不夠時,可以使用此磁區作為記憶體使用,
  • /boot:系統啟動目錄,建議此目錄單獨分一個區作為啟動磁區(就像Windows中的C盤為系統啟動盤一樣),一般為200MB,

Linux的檔案系統雖然是由根目錄到一級目錄,然后到二級目錄,然后一直往下擴散延伸(不像Windows那樣C盤和D盤等盤是平級的),但是目錄中的某一個空目錄是可以單獨拿出來給它磁區的,比如根目錄下的/boot通常就單獨分一個區出來作為系統啟動運行的專用磁區,如/dev/sda1(對應的設備檔案),而根目錄/則使用另外一個磁區/dev/sda2(對應的設備檔案),

 

二、手動磁區新硬碟
注意使用命令手動掛載的方式,在系統重啟之后就會失效,想要掛載永久生效,還需要將對應的掛載配置寫入/etc/fstab檔案(見之后的“磁區自動掛載”),以下步驟按順序執行,
fdisk -l:查看硬碟資訊,每個硬碟都會單獨顯示一個“Disk”,然后在下面列出已磁區的“Device”資訊,如果列出的資訊只有“Disk”而沒有對應的“Device”資訊,則表示該硬碟還沒有進行磁區,
fdisk /dev/sdb:給硬碟磁區,引數/dev/sdb就是上一步查詢出來的硬碟設備的名稱(注意不要加編號,只有磁區之后系統才會自動分配編號,沒有磁區之前是沒有編號的),執行此命令后會要求按順序執行以下的命令:

  • m:表示查看磁區命令的幫助資訊(這一步一般不用),
  • n:新建一個磁區,
  • p:新建一個主磁區,(顯示的提示為p primary partition (1-4),)
  • 1:設定磁區號(建議根據已存在磁區號從低到高按順序指定,此時顯示的提示為Partition number (1-4)),
  • 【回車】:指定從哪個柱面開始磁區,默認從第一個,建議就從第1個開始,不要從其他位置指定,此時顯示的提示為First cylinder (1-1305, default 1),表示此硬碟有1305個柱面可用于磁區,默認從第1個柱面開始磁區,
  • 【回車】:指定此磁區的結束柱面,默認為全部柱面,也可以根據提示指定固定的大小,
  • p:查看下磁區結果,(這一步也可以不用執行,)
  • w:保存退出,
  • 理解柱面:柱面可以理解為五子棋或圍棋的棋盤上的格子,整個棋盤就是硬碟,一個硬碟可以按固定大小分為若干個格子(柱面),磁區時,你需要指定使用哪些格子來作為你要建立的磁區,但這些格子你只能按照編號連續地來使用,如可以使用1到500的格子作為一個磁區,而不能使用1、4和9等不連續的格子合在一起作為一個磁區,

partprobe:重新讀取磁區表,如果上一步w之后提示需要重啟才能生效,就可以執行這一步,
mkfs -t ext4 /dev/sdb1:根據指定的檔案系統格式化磁區,
mkdir /disk1:創建掛載點,即創建一個空目錄,也可以使用已有的任何一個空目錄,
mount /dev/sdb1 /disk1/:掛載設備/dev/sdb1到指定掛載點/disk1/,
mount或df:查看是否掛載成功,(注意fdisk命令只能查看是否磁區成功分配,但是不能查看掛載結果,)

 

三、磁區自動掛載
系統在啟動時,會依據/etc/fstab檔案中的配置資訊進行自動掛載,所以可以選擇手動掛載之后將掛載資訊配置在此檔案中,也可以配置好此檔案后重啟系統,但需要注意的是,如果此檔案寫錯了就可能會影響到系統的啟動,所以出了掛載報錯的問題需要查看和修復此檔案,
其中/、/boot、/home、swap、/dev/shm(tmpfs)、/dev/pts(devpts)、/sys(sysfs)、/proc(proc)等是系統默認的一些磁區和掛載點,不能修改它們,
組態檔中需要配置的六個欄位:

  • 第一欄位:磁區設備檔案名(這種方式就不能改變磁區設備的順序,即該設備檔案名不能在某次重啟或其他操作后映射到了別的磁區)或UUID(硬碟通用唯一識別碼,使用UUID就不用擔心映射錯磁區的問題了), UUID可以通過“dumpe2fs -h 設備檔案名”查看Filesystem UUID的值,
  • 第二欄位:掛載點,
  • 第三欄位:默認的檔案系統,
  • 第四欄位:-o掛載引數,使用默認defaults即可,
  • 第五欄位:指定磁區是否被dump備份,0代表不備份,1代表每天備份,2代表不定期備份,磁區的備份都保存在磁區目錄下的lost+found檔案中,
  • 第六欄位:指定磁區是否被fsck檢測,0代表不檢測,其他數字代表檢測的優先級,1的優先級是高于2的,并且我們自己添加的磁區應該是大于等于2的,

mount -a:配置完成后應該執行這個命令掛載一遍,如果有報錯資訊,就解決了再重啟,不然以重啟的方式來掛載,導致系統崩潰了之后就不容易定位問題了,至少解決的時候會比較麻煩,
mount -o remount,rw /:這個命令用于/etc/fstab的修復,當系統因為掛載報錯后,且/etc/fstab這個檔案是只讀的,無法去修改檔案以修復問題,此時可以使用這個命令重新掛載一次,并讓它具有讀寫的權限,

 

四、相關命令

df/du命令
df [選項] [掛載點]:查看系統磁區的占用情況,
選項:

  • -a:顯示所有的檔案系統資訊,包括特殊檔案系統,如/proc、/sysfs等,
  • -h:使用習慣單位顯示容量,如KB/MB/GB等,
  • -T:顯示檔案系統型別,
  • -m:以MB為單位顯示容量,
  • -k:以KB為單位顯示容量,也是默認的顯示單位,

du [選項] [目錄名或檔案名]:查看檔案或目錄的空間占用大小,最常用的命令為“du -sh 目錄名”,用于查看某個目錄的占用空間總大小,但是du命令一般用來查看目錄的占用大小,檔案的占用大小直接使用ll -h命令即可查看,
選項:

  • -a:顯示每個子目錄和子檔案的磁盤占用量,默認只統計子目錄本身的磁盤占用量,
  • -h:使用習慣單位顯示磁盤占用量,如KB/MB/GB等,
  • -s:統計總占用量,而不列出子目錄和子檔案的占用量,

df和du命令的區別:

  • df命令是從檔案系統角度考慮,不光要考慮檔案占用的空間,還要統計被命令或程式占用的空間(最常見的情況就是洗掉的檔案并沒有得到釋放,所以服務器應該定期進行重啟),
  • du命令是面向檔案的,只會計算檔案或目錄占用的空間,

 

mount/umount命令
mount [-l]:查詢系統中已經掛載的設備,-l會顯示卷標名稱,
mount -a:依據組態檔/etc/fstab的內容進行自動掛載,
mount [-t 檔案系統] [-L 卷標名] [-o 特殊選項] 設備檔案名 掛載點:連接設備到指定的掛載點,
選項:

  • -t:指定檔案系統型別,可以是ext3/ext4/iso9660等,
  • -L:掛載指定卷標的磁區,而不是安裝設備檔案名掛載,
  • -o:可以指定掛載的額外選項,選項內容較多,可以查看相關資料,需要注意這個mount特殊選項都是針對的磁區,

umount 設備檔案名或者掛載點:卸載設備,只有手動卸載設備后,這個設備才能“彈出”,否則就會一直是“使用中”的狀態,

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/103642.html

標籤:Linux

上一篇:用戶管理

下一篇:求助。windows server2008R2 改裝linux問題。

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more