第二節:文件系統

理論知識

  1. 文件系統的基本概念:文件系統是操作系統中負責管理持久數據的子系統,它將數據組織成文件和目錄的形式,方便用戶存儲和訪問數據。
  2. Linux文件系統的類型:常見的 Linux 文件系統類型有 Ext2、Ext3、Ext4、XFS、Btrfs 等。Ext4 是目前使用最廣泛的文件系統,它具有高性能、可靠性和擴展性等優點。XFS 則在大文件和高并發場景下表現出色。
  3. 文件系統的掛載:在 Linux 系統中,文件系統需要掛載到某個目錄才能使用。掛載點是一個目錄,文件系統會被掛載到該目錄下。例如,將一個硬盤分區掛載到 /mnt 目錄:
sudo mount /dev/sdb1 /mnt
  1. 文件系統的卸載:使用 umount 命令可以卸載一個掛載的文件系統。例如,卸載 /mnt 目錄下的文件系統:
sudo umount /mnt
  1. 文件系統的格式化:在使用一個新的硬盤分區之前,需要對其進行格式化。使用 mkfs 命令可以格式化一個分區。例如,將 /dev/sdb1 分區格式化為 Ext4 文件系統:
sudo mkfs.ext4 /dev/sdb1
  1. 文件系統的inode:inode 是文件系統中用于存儲文件元信息的數據結構,每個文件都有一個唯一的 inode 編號。inode 包含了文件的大小、權限、創建時間、修改時間等信息。
  2. 文件系統的塊和扇區:磁盤的最小讀寫單位是扇區,通常為 512 字節。文件系統將多個扇區組合成一個塊,塊是文件系統的基本讀寫單位。常見的塊大小有 4KB、8KB 等。
  3. 文件系統的目錄結構:Linux 文件系統采用樹形目錄結構,根目錄為 /。所有的文件和目錄都位于根目錄下或其子目錄中。常見的目錄有 /bin(存放系統命令)、/etc(存放系統配置文件)、/home(存放用戶主目錄)等。
  4. 文件系統的軟鏈接和硬鏈接:軟鏈接是一個指向另一個文件或目錄的特殊文件,它類似于 Windows 系統中的快捷方式。硬鏈接則是多個文件名指向同一個 inode,它們共享同一個文件數據。
  5. 文件系統的權限管理:文件系統的權限分為讀(r)、寫(w)、執行(x)三種,分別對應不同的操作權限。權限可以針對文件所有者、所屬組和其他用戶進行設置。
  6. 文件系統的配額管理:配額管理可以限制用戶或組對文件系統的使用空間。通過設置配額,可以防止用戶濫用系統資源。
  7. 文件系統的備份和恢復:定期對文件系統進行備份是非常重要的,可以防止數據丟失。常見的備份工具包括 tarrsync 等。

實踐案例

  1. 查看文件的inode編號:使用 ls -i 命令可以查看文件的 inode 編號。例如:
ls -i test.txt
  1. 創建一個軟鏈接:使用 ln -s 命令可以創建一個軟鏈接。例如,創建一個指向 test.txt 文件的軟鏈接 test_link
ln -s test.txt test_link
  1. 創建一個硬鏈接:使用 ln 命令可以創建一個硬鏈接。例如,創建一個指向 test.txt 文件的硬鏈接 test_hard_link
ln test.txt test_hard_link
  1. 查看文件系統的掛載情況:使用 df -h 命令可以查看文件系統的掛載情況。例如:
df -h
  1. 掛載一個新的文件系統:假設 /dev/sdb1 是一個新的硬盤分區,將其掛載到 /mnt 目錄:
sudo mount /dev/sdb1 /mnt
  1. 卸載一個掛載的文件系統:卸載 /mnt 目錄下的文件系統:
sudo umount /mnt
  1. 格式化一個硬盤分區:將 /dev/sdb1 分區格式化為 Ext4 文件系統:
sudo mkfs.ext4 /dev/sdb1
  1. 修改文件的權限:使用 chmod 命令可以修改文件的權限。例如,將 test.txt 文件的所有者添加執行權限:
chmod u+x test.txt
  1. 修改文件的所有者和所屬組:使用 chown 命令可以修改文件的所有者和所屬組。例如,將 test.txt 文件的所有者改為 testuser,所屬組改為 testgroup
sudo chown testuser:testgroup test.txt
  1. 設置文件系統的配額:使用 quota 命令可以設置文件系統的配額。例如,為用戶 testuser 設置 /home 目錄的磁盤配額為 100MB:
sudo edquota -u testuser

在打開的文件中設置配額信息,保存并退出。
11. 備份一個目錄:使用 tar 命令可以備份一個目錄。例如,將 /home/testuser 目錄備份到 /backup 目錄:

sudo tar -cvzf /backup/testuser_backup.tar.gz /home/testuser
  1. 恢復一個備份文件:使用 tar 命令可以恢復一個備份文件。例如,將 /backup/testuser_backup.tar.gz 備份文件恢復到 /home/testuser 目錄:
sudo tar -xvzf /backup/testuser_backup.tar.gz -C /home

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78621.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78621.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78621.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python數據結構與算法(5)——動態規劃

Python數據結構與算法(5)——動態規劃 0. 學習目標1. 動態規劃的基本概念1.1 什么是動態規劃1.2 動態規劃的核心思想1.3 動態規劃的適用條件2. 動態規劃的實現思路2.1 自頂向下:備忘錄法 (Memoization)2.2 自底向上:表格法(Tabulation)3. 0/1 背包問題4. 最長公共子序列5…

【JAVA ee初階】多線程(3)

一、出現線程安全的原因 1.【根本原因】線程的調度執行時隨機的(搶占式執行)->罪魁禍首 2.多個線程同時修改同一個變量 如果是一個線程修改一個變量 或者 多個線程讀取同一個變量 或者 多個線程修改不同變量 這些都沒事。 3.修改操作不是原子的&a…

Halcon 3D 表面匹配基于形狀

文章目錄 prepare_object_model_3d 準備 3D 物體模型read_shape_model_3d — 讀取3D匹配模型create_shape_model_3d 準備要匹配的3D模型find_shape_model_3d ——發現匹配模型project_shape_model_3d 將三維形狀模型的邊緣投影到圖像坐標中。示例ignore_part_polarity&#xff…

【Linux】Java 開發者的 Linux 常用命令指南

Java 開發者的 Linux 常用命令指南 目錄標題 Java 開發者的 Linux 常用命令指南1. Linux 目錄結構2. 系統信息命令3. 服務管理系統服務防火墻管理 4. 文本編輯 (vi/vim)常用模式 5. 文件和目錄操作查看與導航創建與刪除查看文件內容查找文件 6. 用戶管理7. 壓縮和解壓8. 權限管…

每日c/c++題 備戰藍橋杯(P1252洛谷 馬拉松接力賽)

洛谷P1060 馬拉松接力賽題解:貪心算法在資源分配中的巧妙應用 題目描述 P1060 馬拉松接力賽是一道結合貪心策略與動態規劃思想的資源分配問題。題目要求將25公里的馬拉松接力賽合理分配給5名選手,使得總耗時最短。每位選手可跑1-10公里的整數距離&…

Nginx 中間件

Nginx(發音為 "engine-x")是一款開源的高性能 HTTP 服務器和反向代理服務器,最初由 Igor Sysoev 開發。 它以其高性能、穩定性、豐富的功能集和低資源消耗而聞名,廣泛應用于全球的 Web 服務架構中。 作為中間件&#…

Neo4j在win下安裝教程(docker環境)

1. 安裝命令 1.1 基于正式neo4j安裝–不用 docker run --name neo4j-container -p 7474:7474 -p 7687:7687 -d neo4j1.2 基于community安裝 需要部署兩個Neo4j,一個正式庫prod,一個測試庫dev。 neo4j默認監聽7474(HTTP-也就是瀏覽器端口&…

kylin v10 + argo + ascend 310p多機多卡 pytorch distributed 訓練

最近接了個模型訓練編排多機多卡的改造需求,要求使用argo dag task啟動多個節點,同時多個節點能實現 torch.distributed.launch 這樣多機多卡的訓練模式 簡述技術 torch.distributed.launch命令介紹 我們在訓練分布式時候,會使用到 torch.d…

[Mac] 使用homebrew安裝miniconda

使用虛擬環境可以對不同項目的依賴進行隔離。可以使用venv或者conda來創建和使用虛擬環境。 venv是Python內置的虛擬環境管理模塊,適合純Python項目以及快速輕量級的開發和部署。conda具備更強大的版本管理能力,但是占用較大的磁盤空間。 考慮到我基本不…

CMU-15445(1)——環境搭建

前言 最近在找完暑期實習之后,終于有了一些干項目外的空余時間學習新的知識,在這么多輪面試中,數據庫的考察非常多,但孱弱的數據庫基礎導致我有很多次面試被問住,因此我希望在學習CMU-15445(Fall 2024&…

CSS元素動畫篇:基于當前位置的變換動畫(四)

基于當前位置的變換動畫(四) 前言透明效果類元素動畫閃爍動畫效果效果預覽代碼實現 淡入動畫效果效果預覽代碼實現 淡出動畫效果效果預覽代碼實現 結語 前言 CSS元素動畫一般分為兩種:一種是元素基于當前位置的變換動畫,通過不明…

STM32驅動AD5318配置8通道DA詳細講解

目錄 1. AD5318 芯片特性 2、AD5318寄存器概述 3、SPI數據幀格式 3.1 控制位(Bit15) 3.2 地址位(Bit14-Bit12,3 位) 3.3 數據 / 控制碼(Bit11-Bit0) 4、控制功能寄存器(控制位 = 1 時激活) 4.1 參考與增益配置(MM = 00) 4.2. LDAC模式(MM = 01) 4.3 掉…

如何搭建spark yarn 模式的集群集群

以下是搭建Spark YARN模式集群的一般步驟: 準備工作 - 確保集群中各節點安裝了Java環境,并配置好 JAVA_HOME 環境變量。 - 各節點間能通過SSH免密登錄。 - 安裝并配置好Hadoop集群,YARN作為Hadoop的資源管理器,Spark YARN模式需要…

SpringMVC處理請求映射路徑和接收參數

目錄 springmvc處理請求映射路徑 案例:訪問 OrderController類的pirntUser方法報錯:java.lang.IllegalStateException:映射不明確 核心錯誤信息 springmvc接收參數 一 ,常見的字符串和數字類型的參數接收方式 1.1 請求路徑的…

在 Windows 系統上升級 Node.js

一、查詢電腦端已經安裝的 Node.js 版本 1、通過【winR】 鍵,輸入 cmd,點擊【確定】按鈕打開 cmd 窗口 2、命令行界面輸入 node -v 查看目前 Node.js 版本 3、命令行界面輸入 npm -v 查看目前 npm 版本 二、進入官網地址下載安裝包 1、官網地址&#x…

深入詳解人工智能數學基礎——概率論中的馬爾可夫鏈蒙特卡洛(MCMC)采樣

?? 博主簡介:CSDN博客專家、CSDN平臺優質創作者,高級開發工程師,數學專業,10年以上C/C++, C#, Java等多種編程語言開發經驗,擁有高級工程師證書;擅長C/C++、C#等開發語言,熟悉Java常用開發技術,能熟練應用常用數據庫SQL server,Oracle,mysql,postgresql等進行開發應用…

C++ 嵌套類 (詳解 一站式講解)

目錄 嵌套類 嵌套類的定義 嵌套類結構的訪問權限 pimpl模式(了解) 嵌套類 嵌套類的定義 首先介紹兩個概念: 類作用域(Class Scope) 類作用域是指在類定義內部的范圍。在這個作用域內定義的成員(包括…

tcp 和http 網絡知識

1. 請簡述TCP和HTTP的定義與基本概念 TCP:即傳輸控制協議(Transmission Control Protocol),是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。它為互聯網中的數據通信提供穩定的傳輸機制,在不可靠的IP層之上&a…

MySQL安裝的多個組件中無用組件卸載

在決定卸載MySQL的哪些組件前,需根據你的實際使用場景判斷。以下是各組件的主要功能及卸載建議: 1. 核心組件卸載建議 組件名稱作用是否可卸載MySQL Server數據庫服務核心,存儲數據、處理SQL請求的核心程序。不可卸載 (卸載會導致…

CosyVoice 技術全景解析:下一代語音生成模型的革命性突破

目錄 一、CosyVoice 模型概述 1. 背景與定位 二、技術架構與創新 1. 核心架構設計 2. 關鍵技術亮點 三、行業地位與競品對比 1. 市場定位分析 2. 競爭優勢 四、部署方案與硬件成本 1. 硬件需求 2. 優化技巧 五、優勢與挑戰 1. 核心優勢 2. 主要挑戰 六、開源生態…