Linux文件系統全網精講:設備識別、掛載卸載、磁盤排查一站式實戰
Linux文件系統全網精講設備識別、掛載卸載、磁盤排查一站式實戰在Linux運維工作中文件系統與磁盤管理是最基礎、最高頻的核心操作。磁盤爆滿排查、U盤/光盤掛載、大文件定位、本地YUM倉庫搭建日常90%的存儲類問題都離不開文件系統基礎能力。本文從零梳理Linux文件系統完整知識體系搭配真實可落地的實操命令、故障解決方案、經典運維案例適合新手學習、老手復盤可直接用于生產環境參考。一、Linux存儲核心塊設備與文件系統1. 塊設備基礎認知Linux所有存儲設備硬盤、U盤、光盤、虛擬機磁盤均以塊設備形式管理所有設備文件統一存放于/dev目錄由系統自動創建生成。核心使用規則塊設備必須先格式化創建文件系統、再掛載到系統目錄才能正常讀寫使用。生產環境中幾乎不會直接使用整塊磁盤通常會劃分多個分區。不同分區可配置不同文件系統、獨立存儲數據實現空間隔離避免單個分區占滿導致整個系統故障。2. 主流塊設備命名規范必記Linux嚴格按照設備接口類型命名熟記命名規則可快速區分設備類型排查故障事半功倍設備接口類型設備命名示例適用場景SATA/SAS/USB/SCSI/dev/sda、/dev/sdb物理機械硬盤、普通SSD、U盤virtio-blk/dev/vda、/dev/vdbKVM虛擬化虛擬機磁盤NVMe SSD/dev/nvme0n1、nvme0n1p1高速固態硬盤p后綴代表分區SD/MMC/eMMC/dev/mmcblk0、mmcblk1內存卡、嵌入式設備存儲3. 分區命名規則在磁盤設備名后追加數字即為對應分區規則統一普通磁盤/dev/sda1第一塊硬盤第一個分區、/dev/vda2虛擬機磁盤第二個分區NVMe磁盤/dev/nvme0n1p1、/dev/nvme0n1p2二、文件系統核心原理文件系統是操作系統管理磁盤數據的規則與數據結構決定文件的存儲、讀取、寫入、權限管理方式。Linux 所有文件遵循唯一樹形層級結構以根目錄/為頂層起點。關鍵特性裸磁盤/分區無文件系統無法直接使用必須掛載到空目錄掛載點融入系統目錄樹后才可讀寫。日常運維核心使用場景磁盤空間占用排查、爆滿故障處理超大文件定位、磁盤空間清理外接設備U盤/光盤掛載適配磁盤故障風險排查、數據分區管理三、磁盤與文件系統查看核心命令1. lsblk樹形查看整塊設備架構最常用的存儲架構排查命令可樹形展示磁盤、分區、LVM邏輯卷的層級、大小、掛載狀態一目了然。[rootserver ~18:25:32]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda8:00200G0disk ├─sda18:101G0part /boot └─sda28:20199G0part ├─centos-root253:0050G0lvm / ├─centos-swap253:103.9G0lvm[SWAP]└─centos-home253:20145.1G0lvm /home sr011:014.4G0rom核心字段解析NAME塊設備名稱MAJ:MIN設備唯一主次編號系統識別標識RM是否為可移動設備1是0否SIZE設備總容量RO是否為只讀設備1只讀0可讀寫TYPE設備類型disk整塊磁盤、part分區、lvm邏輯卷、rom光驅MOUNTPOINT掛載路徑無內容代表未掛載2. df查看文件系統空間使用率聚焦已掛載文件系統統計總容量、已用、可用空間、占用百分比適合排查磁盤爆滿問題。高頻參數df默認1KB單位展示原始數據df -h人性化單位MB/GB1024進制可讀性最強df -H1000進制適配廠商硬盤標稱容量df -T額外顯示文件系統類型xfs/ext4/iso9660df -i查看 inode 使用量磁盤空間充足但無法新建文件優先排查 inode 滿示例單獨查看boot分區狀態df -hT /boot[rootserver ~18:39:16]# df -hT /boot文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/sda1 xfs 1014M 174M 841M18% /boot3. du精準統計文件/目錄磁盤占用df看整體du看細節專門統計單個文件、目錄的真實磁盤占用是清理大文件的核心命令。高頻參數du遞歸展示所有子目錄占用明細du -s只展示匯總總大小屏蔽明細du -h人性化單位展示du -sk 路徑 | sort -rn按容量從大到小排序磁盤排查萬能組合4. 實戰演練逐層定位4G超大文件模擬生產環境磁盤爆滿場景從根目錄逐層排查精準定位異常大文件。步驟1生成4G測試空文件[rootserver ~18:44:39]# dd if/dev/zero of/usr/share/doc/dhclient-4.2.5/bigfile-4G bs1M count4096記錄了40960 的讀入 記錄了40960 的寫出4294967296字節(4.3GB)已復制12.0437 秒357 MB/秒命令釋義從空設備/dev/zero讀取空數據每次寫入1M共4096次生成真實占用4GB的測試文件。步驟2逐層目錄排查大文件# 查看根目錄一級目錄占用反向排序同時過濾錯文件只顯示前5行[rootserver ~18:51:33]# du -sk /* 2/dev/null | sort -rn | head -n 5# 逐層深入定位[rootserver ~18:52:24]# du -sk /usr/* 2/dev/null | sort -rn | head -n 55622080/usr/share1213888/usr/lib64868848/usr/lib145644/usr/bin66684/usr/sbin[rootserver ~18:52:52]# du -sk /usr/share/* 2/dev/null | sort -rn | head -n 54280320/usr/share/doc442224/usr/share/locale213252/usr/share/help122840/usr/share/fonts83908/usr/share/icons[rootserver ~18:53:22]# du -sk /usr/share/doc/* 2/dev/null | sort -rn | head -n 54194316/usr/share/doc/dhclient-4.2.51216/usr/share/doc/postfix-2.10.11192/usr/share/doc/python-kitchen-1.1.11060/usr/share/doc/pam-1.1.8968/usr/share/doc/opus-1.0.2# 精準鎖定目標文件[rootserver ~18:53:48]# du -sk /usr/share/doc/dhclient-4.2.5/* 2/dev/null | sort -rn | head -n 54194304/usr/share/doc/dhclient-4.2.5/bigfile-4G4/usr/share/doc/dhclient-4.2.5/README.dhclient.d4/usr/share/doc/dhclient-4.2.5/dhclient.conf.example4/usr/share/doc/dhclient-4.2.5/dhclient6.conf.example步驟3快速檢索大文件高效方案[rootserver ~18:57:48]# find / -size 1024M 2/dev/null-r--------.1root root1407374862663687月3018:58 /proc/kcore -rw-r--r--.1root root42447715817月2210:46 /root/CentOS-7-x86_64-DVD-2207-02.iso -rw-r--r--.1root root42949672967月3018:45 /usr/share/doc/dhclient-4.2.5/bigfile-4G全局檢索大于1024M的文件過濾權限報錯快速定位異常文件。四、文件系統掛載與卸載生產必備1. 核心流程及用法裸磁盤/分區格式化 → 掛載至空目錄 → 正常讀寫使用 → 用完卸載斷開關聯。基礎語法mount[-t 文件系統][-o 選項]設備源 掛載點-tvfstype指明文件系統類型-ooptions指明掛載選項設備源/dev/sdb1、UUID、LABEL、NFS 地址掛載點必須是已存在空目錄卸載umount 掛載點 / umount /dev/sdb12. 完整掛載實操新增磁盤# 1. 查看新增磁盤[rootserver ~19:07:12]# lsblk /dev/sdbNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb8:160100G0disk# 2. 格式化xfs文件系統CentOS7默認[rootserver ~19:07:23]# mkfs.xfs /dev/sdbmeta-data/dev/sdbisize512agcount4,agsize6553600blkssectsz512attr2,projid32bit1crc1finobt0,sparse0databsize4096blocks26214400,imaxpct25sunit0swidth0blks namingversion2bsize4096ascii-ci0ftype1loginternal logbsize4096blocks12800,version2sectsz512sunit0blks, lazy-count1realtimenoneextsz4096blocks0,rtextents0# 3. 創建掛載點并掛載[rootserver ~19:08:15]# mkdir /data# 設備名掛載[rootserver ~19:09:28]# mount /dev/sdb /data/# UUID掛載生產推薦穩定性更高# blkid可以查詢uuid和文件系統[rootserver ~19:09:43]# blkid /dev/sdb/dev/sdb:UUID017832e7-eec3-4b14-b110-2d6cef44ebdfTYPExfs[rootserver ~19:11:07]# mount UUID017832e7-eec3-4b14-b110-2d6cef44ebdf /data# 4. 驗證掛載成功[rootserver ~19:12:11]# df -h /dev/sdb文件系統 容量 已用 可用 已用% 掛載點 /dev/sdb 100G 33M 100G1% /data# 括號中屬性是文件系統當前支持的功能。[rootserver ~19:15:19]# mount | grep ^/dev/dev/mapper/centos-root on /typexfs(rw,relatime,seclabel,attr2,inode64,noquota)/dev/mapper/centos-home on /hometypexfs(rw,relatime,seclabel,attr2,inode64,noquota)/dev/sda1 on /boottypexfs(rw,relatime,seclabel,attr2,inode64,noquota)/dev/sdb on /datatypexfs(rw,relatime,seclabel,attr2,inode64,noquota)3. 卸載文件系統# 兩種卸載方式等效[rootserver ~19:15:41]# umount /data # 或用 umount /dev/sdb[rootserver ~19:16:12]# lsblk /dev/sdbNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb8:160100G0disk4. 故障解決設備忙碌無法卸載報錯target is busy當前終端或進程正在占用掛載目錄。# 創建卸載失敗環境[rootserver ~19:19:27]# mount /dev/sdb /data[rootserver ~19:20:38]# cd /data/[rootserver data19:20:51]#[rootserver data19:20:51]# umount /dataumount: /data目標忙。(有些情況下通過 lsof(8)或 fuser(1)可以 找到有關使用該設備的進程的有用信息)# 查看占用進程[rootserver data19:21:25]# lsof /dataCOMMAND PIDUSERFD TYPE DEVICE SIZE/OFF NODE NAMEbash1904root cwd DIR8,16664/datalsof2636root cwd DIR8,16664/datalsof2637root cwd DIR8,16664/data[rootserver data19:22:42]# fuser -m /data//data: 1904c# 退出目錄后重新卸載rootserver data19:28:55]# cd ~# 可以正常卸載[rootserver ~19:29:42]# df -h /data/文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 50G 13G 38G26% /5. lsof和fuser命令常用選項基礎用法和區別工具全稱核心定位安裝說明lsoflist open files列出已打開的文件全能工具文件、目錄、套接字、管道、端口都能查最小化 CentOS/Debian 默認不帶yum install lsof/apt install lsoffuserfile user查找使用某個文件 / 掛載點的進程輕量化專注反向查詢資源→進程屬于psmisc軟件包yum install psmiscllsof語法lsof[選項][目標]常用選項選項作用示例-i查詢網絡套接字端口lsof -i-i :端口查看占用指定端口的進程lsof -i :22-i TCP/UDP:端口指定協議端口lsof -i TCP:80-p PID根據進程號列出該進程打開所有文件lsof -p 1234-u 用戶名查詢某用戶所有進程打開文件lsof -u nginx文件/目錄查詢誰正在打開這個文件lsof /var/log/messagesD 目錄遞歸目錄查找目錄下所有被打開文件lsof D /mnt-d 描述符按文件描述符篩選如-d 22lsof -d deleted-d deleted?運維重點查詢已經 rm 刪除但句柄未釋放的文件磁盤空間不釋放經典場景lsof -d deleted-n不解析主機名加速查詢lsof -ni :3306-P端口不解析服務名直接顯示數字端口lsof -nPifuser語法fuser[選項]文件/掛載點/端口選項功能示例-m掛載點模式最常用后跟掛載目錄查找占用該文件系統所有進程fuser -m /mnt-n tcp/udp 端口查詢占用端口進程fuser -n tcp 80-vverbose 詳細輸出進程、用戶、命令fuser -vm /-k直接殺死占用資源的進程慎用高危fuser -k -m /mnt-i交互式殺死需要確認配合-kfuser -ki -m /mnt-4 / -6僅 ipv4 /ipv6 協議fuser -4 -n tcp 22五、特殊設備掛載實戰U盤本地YUM倉庫1. NTFS格式U盤掛載CentOS默認不兼容NTFS格式需安裝第三方驅動# 安裝依賴包[rootserver ~19:34:29]# yum install -y ntfs-3g# 指定使用 ntfs 內核驅動 進行掛載[rootserver ~19:54:20]# mount.ntfs /dev/sdc1 /mnt# 查看是否掛載成功[rootserver ~19:54:49]# ls -l /mnt總用量0drwxrwxrwx.1root root010月102025$RECYCLE.BIN drwxrwxrwx.1root root010月102025System Volume Information2. exFAT格式U盤掛載系統無默認驅動需編譯安裝依賴# 安裝依賴包[rootserver ~22:46:33]# yum install -y gcc fuse-devel make pkg-config# 下載源碼包[rootserver ~22:47:45]# wget https://www.laoma.cloud/class/course-materials/softwares/stage01/fuse-exfat-1.2.0.tar.gz# 解壓軟件包并進入軟件包目錄[rootserver ~22:49:01]# tar -xf fuse-exfat-1.2.0.tar.gz[rootserver ~22:50:03]# cd fuse-exfat-1.2.0/# 配置文件且編譯安裝[rootserver fuse-exfat-1.2.022:51:00]# ./configure[rootserver fuse-exfat-1.2.022:51:46]# make make install# 掛載exFAT格式的U盤假設U盤設備為/dev/sdc1[rootserver fuse-exfat-1.2.022:52:08]# mount.exfat /dev/sdc1 /mnt3. 光盤ISO搭建局域網本地YUM倉庫適用場景服務器無外網、內網批量部署環境提升安裝速度。服務端配置發布倉庫# 安裝并配置nginx開啟目錄瀏覽[rootserver ~22:53:55]# yum install -y nginx[rootserver ~22:56:01]# vim /etc/nginx/nginx.conf# 在http { 下面一行添加autoindex on;# 開機自啟同時啟動程序[rootserver ~22:58:20]# systemctl enable nginx --now# 掛載光盤至網站目錄[rootserver ~22:58:59]# mkdir /usr/share/nginx/html/dvd[rootserver ~23:00:14]# mount /dev/sr0 /usr/share/nginx/html/dvd# 關閉防火墻[rootserver ~23:00:40]# systemctl disable firewalld.service --now客戶端配置使用本地倉庫# 遷移默認外網倉庫[rootclient ~22:46:38]# mkdir /etc/yum.repos.d/old[rootclient ~23:01:26]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/old# 新建本地DVD倉庫[rootclient ~23:01:45]# vim /etc/yum.repos.d/dvd.repo[dvd]namedvd fromlocalserverbaseurlhttp://10.1.8.10/dvdgpgcheck0# 清理緩存、測試安裝[rootclient ~23:02:27]# yum clean all yum makecache# 查看倉庫同時測試安裝軟件[rootclient ~23:03:33]# yum groupinstall[rootclient ~23:05:31]# yum groupinstall -y Server with GUI注意該內網倉庫鏈接需保證服務端10.1.8.10地址正常、Nginx服務開啟否則會出現解析失敗。六、文件查找兩大神器locate vs find1. locate數據庫快速檢索基于系統預生成數據庫查找速度極快需手動更新數據庫同步新文件。常用選項用法選項全稱作用說明-b--basename僅匹配文件名基名忽略路徑部分例搜索test只會匹配/data/test不會匹配/data/test.txt之外路徑包含 test 的目錄-i--ignore-case忽略大小寫匹配大小寫不敏感-c--count不輸出文件路徑只輸出匹配到的總數量-r--regexp使用正則表達式作為匹配條件默認是通配符 glob 模式# 新安裝軟件必須同時更新文件數據庫不然新安裝的軟件文件無法搜索[rootserver ~23:13:54]# locate hpped.conf# 搜索未找到數據[rootserver ~23:14:25]# locate httpd.conf# 更新文件數據庫[rootserver ~23:14:38]# updatedb[rootserver ~23:15:30]# locate httpd.conf/etc/httpd/conf/httpd.conf /usr/lib/tmpfiles.d/httpd.conf2. find實時精準遍歷查找功能最全實時遍歷磁盤支持多條件組合匹配是生產環境首選查找命令。常用選項和用法選項含義示例-name 字符串按文件名匹配區分大小寫支持通配符* ?find /etc -name *.conf-iname 字符串按文件名忽略大小寫find /tmp -iname test*.log-type指定文件類型f 普通文件d 目錄l 軟鏈接b 塊設備c 字符設備p 管道s 套接字find / -type f-size按文件大小篩選單位k (KB)、M (MB)、G (GB)n大于 n-n小于 n直接 n 等于find /data -size 100M-user 用戶名匹配文件屬主find /home -user tom-group 組名匹配文件所屬組find /opt -group nginx-uid / -gid使用 UID/GID 數字匹配適合用戶已刪除find /tmp -uid 1000-perm按權限匹配find /usr/bin -perm 755-mtime修改時間文件內容變更單位天77 天前-77 天內find /var/log -mtime 30-atime訪問時間讀取文件find /tmp -atime -2-ctime屬性變更時間權限、屬主修改find /etc -ctime -1-mmin修改時間單位分鐘find /tmp -mmin -10-amin / -cmin訪問分鐘、屬性變更分鐘同上邏輯-maxdepth N限制搜索層級避免遞歸過深find /etc -maxdepth 1 -name *.conf-mindepth N從第 N 層目錄開始搜索find /data -mindepth 2 -type f-not / !取反條件不匹配find /tmp -type f -not -name *.txt-o條件或默認多個條件是與find /tmp -name *.log -o -name *.txt# 按文件名加-i忽略大小寫find/etc/-namepasswdfind/etc-inamepasswd# 從根目錄開始遞歸查找所有大小大于100MB的文件包含目錄、普通文件等所有類型find/-size100M# 當前目錄遞歸查找只篩選【普通文件】排除目錄、鏈接、設備文件find.-typef# 全盤搜索查找擁有SUID權限(4000)的文件find/-perm-4000# 全盤搜索匹配【不小于200M】的文件把錯誤信息權限不足等重定向到空設備屏蔽輸出find/!-size-200M2/dev/null# 全盤查找名稱為PASSWD的文件找到后直接刪除區分大小寫高危命令find/-namePASSWD-delete# 在/etc目錄下查找文件名為passwd找到后執行 ls -l 列出文件詳情find/etc-namepasswd-execls-l{}\;七、核心知識點總結Linux存儲層級物理磁盤 → 分區 → 文件系統 → 掛載點LVM邏輯卷可實現靈活擴容。df查整體使用率du查具體文件占用二者組合是磁盤運維核心手段。所有外接設備必須格式化掛載才可使用卸載前需確保無進程占用。Linux遵循KISS原則單命令功能單一多命令管道組合可完成復雜運維場景。特殊格式U盤NTFS/exFAT需安裝第三方驅動系統原生支持xfs、ext4等文件系統。

相關新聞

Dockerfile入門:構建鏡像的完整指南

Dockerfile入門:構建鏡像的完整指南

目錄 一、dockerfile簡介 什么是dockerfile? dockerfile是什么? 為什么要用dockerfile? Dockerfile、Docker鏡像和Docker容器的關系 二、DockerFile需要注意的編寫規范 三、Docekrfile指令解析 四、常用的Dockerfile指令詳解、格式與用法 4.1…

2026/8/1 7:08:39 閱讀更多
Dify開源LLMOps平臺:高效構建AI應用的實踐指南

Dify開源LLMOps平臺:高效構建AI應用的實踐指南

1. 項目概述:Dify作為開源LLMOps平臺的崛起在2023年AI智能體爆發式增長的背景下,Dify作為一款開源的LLMOps(大語言模型運維)平臺迅速進入開發者視野。這個由國內團隊開發的項目,本質上是一個面向生產環境的AI應用開發框…

2026/8/1 7:10:01 閱讀更多
Agent聯調崩了三次:Demo跑通后,權限和日志才是真門檻

Agent聯調崩了三次:Demo跑通后,權限和日志才是真門檻

這篇不先堆名詞。我們把《程序員職業規劃為什么越規劃越焦慮?問題可能不在路線》拆成幾級臺階,看完至少知道下一步該學什么、該練什么。摘要很多程序員最近在焦慮,不是因為沒有機會,而是因為機會來了接不住。今年我參與了一個內部…

2026/8/2 2:14:35 閱讀更多
大學畢業可考取的市場營銷專業實用證書指南

大學畢業可考取的市場營銷專業實用證書指南

在當今競爭激烈的就業市場中,持有專業證書已成為大學畢業生提升職場競爭力、深化專業能力的重要途徑。對于市場營銷專業的學生及從業者而言,選擇合適的證書不僅能夠系統化知識體系,更能有效增強求職與職業發展的優勢。以下為您推薦七個實用且…

2026/8/2 2:14:35 閱讀更多
Eywa異構智能體網絡:用專家模型協同降低大模型應用成本

Eywa異構智能體網絡:用專家模型協同降低大模型應用成本

1. 項目概述:當語言模型遇見領域專家最近在搞大模型應用落地的朋友,估計都面臨一個共同的痛點:成本。尤其是當你需要調用GPT-4、Claude-3這類頂級閉源模型時,每一次API調用都像是在燒錢。更頭疼的是,很多復雜的業務場景…

2026/8/2 2:04:35 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應用材料(Applied Materials)公司生產的一款用于半導體設備的I/O信號分配電路板。該型號(0100-02186)的核心特點如下:專用于Endura等半導體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/1 0:09:33 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機是日本日清(Nissei)品牌的一款工業用三相異步電機,適用于自動化設備及通用機械驅動。該型號(FFMN-32L-10-T0 40AX)的核心特點如下:三相交流異步電動機。額定…

2026/8/1 0:09:33 閱讀更多