Linux 掛載管理

来源:http://www.cnblogs.com/chenmh/archive/2016/01/04/5097530.html
-Advertisement-
Play Games

標簽:mount,umount概述在上一章增加linux操作系統空間中已經使用過了mount命令對分區進行掛載,這一章詳細介紹掛載管理,該命令涉及的知識點也挺多的而且也還比較重要,是需要掌握的一個命令。掛載分區mount基本語法mount [參數] /dev/sdb1(需要掛載的分區) /sdb1....


標簽:mount,umount

概述  

在上一章增加linux操作系統空間中已經使用過了mount命令對分區進行掛載,這一章詳細介紹掛載管理,該命令涉及的知識點也挺多的而且也還比較重要,是需要掌握的一個命令。

 

掛載分區

mount基本語法

mount [參數]  /dev/sdb1(需要掛載的分區) /sdb1(掛載目錄)

參數是可選的,也可以不帶參數,參數的使用方法(-o ro,sync,atime)。

參數:

-t:指定文件系統類型

mount -t ext4 /dev/sdb1 /sdb1

-o:指定掛載選項

    ro,rw:只讀或者讀寫的方式掛載,預設是rw.

    sync:不適用緩存,所有操作直接讀寫磁碟。

    async:適用緩存,預設方式。

    noatime:每次訪問文件時不更新文件的訪問時間。

    atime:每次訪問文件時更新文件的訪問時間,預設方式。

    user:任何用戶都可以掛載

    nouser:只有超級用戶才可以掛載

    auto:系統開機自動掛載

    noauto:系統開機不自動掛載

    remount:重新掛載文件系統。

 

查看當前已掛載的分區

mount

通過mount不帶參數命令可以查看當前系統的所有掛載分區情況,包括分區的掛載點、分區類型、參數等。

查看掛載分區下的文件
ls /sdb1

 每個掛載分區下麵都會有一個Lost+found文件夾,該文件夾用來存放文件的損壞數據,例如使用fsck檢查分區命令的錯誤信息就寫入該文件夾(命令:fsck /dev/sdb1)。

修改分區只讀  

mount -o remount,ro /dev/sdb1 /sdb1

 把sdb1修改為只讀後,使用touch無法創建文件。

不更新文件訪問時間

mount -o remount,rw,noatime /dev/sdb1 /sdb1

特別是對性能要求很高的系統中,可以將文件系統設為不更新訪問文件的時間,比如存放資料庫文件的分區,由於訪問非常頻繁,如果每次訪問都更新訪問時間對性能會造成一定的影響,這時我們可以將該分區設置成不更新訪問文件的時間來提高性能。

stat命令

可以使用stat命令查看文件的訪問時間

stat test

這裡是因為我後面對參數做過修改,加上noatime參數後確實不會對訪問時間進行修改,大家可以試一下;

不使用緩存

開啟緩存的目的是為了提高讀寫的性能,即你對一個數據的讀寫先讀寫緩存,因為緩存的讀寫速度要遠遠高於磁碟,這樣就會提高讀寫的性能,但是帶來性能的同時也會存在丟失修改的風險,當寫入緩存的時候突然斷電那麼這個時候緩存的數據就有可能會丟失了,造成沒有寫入磁碟。不過現在linux文件系統類型比如ext3,ext4預設都會記錄日誌,即分區中會存在128M大小的日誌空間用來記錄對磁碟的讀寫操作,這也是為了保證數據的丟失修改的一個措施。如果對數據要求很嚴格的系統可以不適用緩存,但是絕大多數情況下都是適用緩存,這也是linux預設的方式。

mount -o remount,rw,noatime,sync /dev/sdb1 /sdb1

卸載分區

umount語法

umount /dev/sdb1(分區)
或者
umount /sdb1(掛載點)

卸載sdb1分區

 卸載失敗,這裡提示設備繁忙

fuser命令

可以使用fuser命令查看文件系統占用的進程

fuser -m /sdb1(掛載點)
或者
fuser -m /dev/sdb1(分區)

 

可以看到2821進程正在占用。

lsof命令

查看正在被使用的文件,losf命令是list open file的縮寫。

lsof /sdb1(掛載點)

 

通過losf命令可以查看正在被使用的文件,可以看到是bash正在使用,因為當前我就是在sdb1文件夾下麵,當前的命令視窗正在使用,切換到別的目錄下麵

當切換到別的路徑下麵後,再使用umount命令就可以卸載分區,使用mount查看分區信息可以看到sdb1分區已經被卸載了.

修改配置文件

 mount掛載分區在系統重啟之後需要重新掛載,修改/etc/fstab文件可使掛載永久生效

vim /etc/fstab
# <file system>          <mount point>          <type>  <options>      <dump> <pass>
UUID=9905757a-a2a3-4a4a-abc7-ece61efeb531 /                       ext4    defaults        1 1
UUID=7981f23f-e636-474c-bf10-65adc5c56397 /boot                   ext4    defaults        1 2
UUID=d0000d2a-a161-4961-b843-d4ba060ad24c 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/sdb6               /sdb6                   ext4    sync,noatime    0 0 

file system:第一列是分區號

mount point:掛載點

type:文件類型

option:-o參數,defaults: rw, suid, dev, exec, auto, nouser, and async

 如果不使用default預設參數,那麼可以使用逗號分隔指定參數   
   ro,rw:只讀或者讀寫的方式掛載,預設是rw.

    sync:不適用緩存,所有操作直接讀寫磁碟。

    async:適用緩存,預設方式。

    noatime:每次訪問文件時不更新文件的訪問時間。

    atime:每次訪問文件時更新文件的訪問時間,預設方式。

    user:任何用戶都可以掛載

    nouser:只有超級用戶才可以掛載

    auto:系統開機自動掛載

    noauto:系統開機不自動掛載

dump:當其值設置為1時,將允許dump備份程式備份;設置為0時,忽略備份操作

pass:fsck磁碟檢查設置,其值是一個順序。當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1。其它分區從2開始,數字越小越先檢查,如果兩個分區的數字相同,則同時檢查。

通過mont和df命令查看到的邏輯分區名和配置文件中配置的邏輯分區名不一樣,但是二者的意思是一樣的,不要被誤解

 

補充

掛載ios鏡像文件

mount -o loop iso鏡像文件   掛載點

 例:

mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso  /iso

 使掛載立即生效

sync

總結

mount命令比較重要的知識點就是合理的使用參數,當然同樣要記住mount掛載在伺服器重新啟動後又需要重新掛載,如果想永久掛載還是需要去修改/etc/fstab文件,因為這些參數會對我們系統的性能造成影響。一天連續寫了兩篇文章真的很累,現在已經凌晨了,洗洗睡。 

 

 

備註:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明鏈接,否則保留追究責任的權利。

《歡迎交流討論》

 

 

 

---恢復內容結束---


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、第一個程式Hello World: 1、列印輸出Hello World: Python2列印方法: >>> print "hello world"hello world Python3列印方法: >>> print("hello world") hello world 註:Python3與Pyt...
  • GPIO庫的核心功能,當然就是操作GPIO了,GPIO就是“通用輸入/輸出”介面,比如點亮一個LED、繼電器等,或者通過iic spi 1-wire等協議,讀取、寫入數據,這都是GPIO的用處,可以說沒有GPIO,樹莓派只能當小電腦用,有了GPIO,就升級成一個控制器了。先來說說怎麼操作一個數字量(...
  • 對於我這樣的新人來說,因為是剛開始做項目,所以以前的技術不是用的很多,就比如springmvc來說,實際上使用的都是註解形式的,對於那些全部都是配置的來說,雖然也瞭解一些,但是實際上還是沒試用過的。 下麵就理一下註解的各種用法:@Controller:用於標識是處理器類;@RequestMappin...
  • 題目:Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the h...
  • 學過單片機的同學應該清楚,我們在編寫感測器驅動時,需要用到高精度的定時器、延時等功能,wiringpi提供了一組函數來實現這些功能,這些函數分別是:micros() #返回當前的微秒數,這個數在調用wiringPiSetup()後被清零並重新計時millis() #返回當前的毫秒數,同上,這個數在調...
  • 在應用Unix/Linux時,我們一般想讓某個程式在後臺運行,於是我們將常會用 & 在程式結尾來讓程式自動運行。比如我們要運行mysql在後臺: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程式並不想mysqld一樣,這樣我們就需要nohu...
  • 2月4日消息,微軟Windows 10消費者預覽版發佈後,許多Windows 7用戶都忍不住下載嘗鮮,但部分用戶升級前卻可能並未備份Windows 7。針對這種情況,微軟特地推出了一個Windows 7恢復網站,讓用戶能回到Windows 7。不過最新消息顯示,該Windows 7恢復網站目前無法....
  • 最新win7系統32位電腦城快速裝機穩定版 V2016年1月全能裝機版 V2016.1(32位)與之前的系統相比,更註重智能性,在安裝方式上也更加精簡,操作步驟簡便,更適合不會COMS設置和GHOST的用戶。最新更新的win7系統地址http://www.xitongma.com/Windows7/...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...