linux文件系統概念目錄結構

文件系統概念
一. 文件與目錄的定義
1. 文件系統:它是磁盤上有特定格式的一片區域,操作系統通過文件系統可以方便地查尋和訪問其中所包含的磁盤塊;
2. 文件:文件系統中存儲數據的一個命名的對象。
3. 目錄:其中包含許多文件項目的一類特殊文件。
4. 子目錄:被包含在另一個目錄中的目錄。
5. 文件名:用來標識文件的字符串,它保存在一個目錄文件項中。
6. 路徑名:由斜線字符(/)結合在一起的一個或多個文件名的集合。
二. 文件結構
1. 文件的成份:無論文件是一個程序、一個文檔、一個數據庫,或者是一個目錄,操作系統都會賦予文件相同的結構,具體信息如下:
① 索引節點:又稱 i 節點。
② 數據:文件的實際內容。
2. 命名文件:文件名保存在目錄文件中。
為方便管理文件,應遵循以下規則:
① 文件名應量簡單,并且應反映出文件內容。
② 除斜線(/)和空字符以外,文件名可以包含任意的 ASCII 字符;
③ 習慣上允許使用下線符(_)和句點(.)來區別文件的類型,使文件名更易讀;但是應避免使用以下字符,因為對系統的 shell 來說,它們有特殊的含義。這些字符是:
?????????? ; | <?? >?? `?? “?? ‘?? $?? !?? %?? &?? *?? ??? /?? (?? )?? [?? ]
④ 同類文件應使用同樣的后綴或擴展名。
⑤ Linux 系統區分文件名的大小寫.
⑥ 以圓點(.)開頭的文件名是隱含文件,默認方式下使用 ls 命令并不能把它們在屏幕上顯示出來。
3. 文件名擴展字符:為了能一次處理多個文件,shell 提供了幾個特別字符,稱為文件名擴展字符(也稱通配符)。文件名擴展字符主要有:
① 星號(*):與 0 個或多個任意的字符相匹配。
② 問號(?):只與一個任意的字符匹配。
③ 方括號([ ]):只與方括號中字符之一匹配,可用短橫代表一個范圍內的字符。
三. 文件類型
Linux 操作系統支持以下文件類型:普通文件、目錄文件、設備文件和符號鏈接文件。
1. 普通文件:又稱常規文件,包含各種長度的字符串。
2. 目錄文件:是一種特殊文件,利用它可以構成文件系統的分層樹形結構。
3. 設備文件:是一種特別文件,除了存放在文件 i 節點中的信息外,它們不包含食任何數據。
4. 符號鏈接文件:是一種特殊文件,它們提供對其他文件的參照。
目錄結構
一. 樹型目錄結構
1. Linux系統以文件目錄的方式來組織和管理系統中的所有文件。所謂文件目錄就是將所有文件的說明信息采用樹型結構組織起來,即常說的目錄。
二. 工作目錄、用戶主目錄與路徑
1. 工作目錄與用戶主目錄
用戶在登錄到 Linux 系統之后,所在的目錄稱為工作目錄。
2. 路徑
顧名思義,路徑是指從樹型目錄的某個目錄層次到某個文件的一條道路。路徑主要是由目錄名稱構成,中間用“/”分隔。
三. Linux 系統主要目錄說明
1. /: 根目錄,系統所有目錄均從根目錄開始;
2. /bin: bin是二進制(binary)的英文縮寫。在一般的系統中,用于存放 Linux 最常用的命令;
3. /boot: 引導核必的程序目錄。在使用 LILO 或 GRUB 引導 Linux 時,會用到這個目錄中的文件;
4. /dev: dev 是設備(device)的英文縮寫。這個目錄中包含了所有在 Linux 系統中使用的外部設備。但是這里并不是放的外部設備的驅動程序;
5. /etc: etc 是 etcetera 的縮寫。這個目錄包含了系統管理所需要的配置文件和子目錄,它是系統中最重要的目錄之一,用戶要用到的網絡配置文件、文件系統、X-Windows 系統配置文件、設備配置信息、設置用戶信息等都在這個目錄下;
6. /sbin: 這個目錄是用來存放系統管理員使用的系統管理程序,一般用戶沒有權限訪問;
7. /home: 用來存放用戶主目錄的地方。一般來說,“/home/用戶名” 就是該用戶的主目錄;
8. /lib: lib是庫(library)的英文縮寫。這個目錄是用來存放系統動態連接共享庫的。
9. /mnt: 這個目錄在一般情況下是空的。可以臨時將別的文件系統掛在這個目錄下;
10. /proc: 這個目錄是 Linux 提供的一個虛擬系統,該目錄下的文件并不存于硬盤中,而是由系統初啟的時候在內存中產生的。
11. /root: 這個目錄是超級用戶 root 默認的主目錄,一般用戶沒有訪問權限;
12. /tmp: 用來存放不同程序執行時產生的臨時文件;
13. /usr: 是 user 的縮寫,Linux 系統中占用空間最大的目錄,用戶的很多應用程序和文件幾乎都存放在這個目錄中.
14. /var: 主要存放一些系統記錄文件和配置文件,通常/var下面的文件是提供給系統管理員對系統的用戶注冊、系統負載、安全性方面的查詢。

?

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

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

相關文章

JDK源碼解析之 java.lang.Class

Java程序在運行時&#xff0c;Java運行時系統一直對所有的對象進行所謂的運行時類型標識。 這項信息紀錄了每個對象所屬的類。虛擬機通常使用運行時類型信息選準正確方法去執行&#xff0c;用來保存這些類型信息的類是Class類。Class類封裝一個對象和接口運行時的狀態&#xff…

Linux Vi常用技巧

VI常用技巧VI命令可以說是Unix/Linux世界里最常用的編輯文件的命令了&#xff0c;但是因為它的命令集眾多&#xff0c;很多人都不習慣使用它&#xff0c;其實您只需要掌握基本命令&#xff0c;然后加以靈活運用&#xff0c;就會發現它的優勢&#xff0c;并會逐漸喜歡使用這種方…

JDK源碼解析之 java.lang.ClassLoader

Class代表它的作用對象是類&#xff0c;Loader代表它的功能是加載&#xff0c;那么ClassLoader就是把一個以.class結尾的文件以JVM能識別的存儲形式加載到內存中。 一、核心方法 1、loadClass方法 protected Class<?> loadClass(String name, boolean resolve) throws…

Linux Vi的使用

一、插入文本┌──┬────────────┐│命令│描述 │├──┼────────────┤│i │在當前字符前插入文本 │├──┼────────────┤│I │在行首插入文本 │├──┼────────────┤│a │在當前字符后添加文本 │├──┼──…

Hive-beeline服務

Hive客戶端工具后續使用了Beeline 替代HiveCLI &#xff0c;并且后續版本也會廢棄掉HiveCLI 客戶端工具,Beeline是 Hive 0.11版本引入的新命令行客戶端工具,它是基于SQLLine CLI的JDBC客戶端。 Beeline支持嵌入模式(embedded mode)和遠程模式(remote mode)。在嵌入式模式下&am…

用戶賬號管理基本概念

什么是用戶賬號管理用戶賬號一般包括普通用戶賬號、管理賬號和系統賬號。為了鑒別用戶身份以及加強系統安全&#xff0c;系統為每個使用它的人分配了一個賬號&#xff0c;這就是普通用戶賬號。每個人擁有一個獨立的普通用戶賬號&#xff0c;每個賬號有不同的用戶名和密碼。用戶…

JDK源碼解析之 Java.lang.Compiler

Compiler類提供支持Java到本機代碼編譯器和相關服務。在設計上&#xff0c;它作為一個占位符在JIT編譯器實現。 一、源碼部分 public final class Compiler {private Compiler() {} // dont make instancesprivate static native void initialize();private st…

shell的基本概念

Shell就像一個殼層&#xff0c;這個殼層介于用戶和操作系統之間&#xff0c;負責將用戶的命令解釋為操作系統可以接收的低級語言&#xff0c;并將操作系統響應的信息以用戶可以了解的方式來顯示。 從用戶登陸到注銷期間&#xff0c;用戶輸入的每個命令都會經過解譯及…

JDK源碼解析之 java.lang.System

一個和系統環境進行交互的類. System不允許被實例化, 而且是一個final類 一、不能實例化 private System() { }二、成員變量 public final static InputStream in null; //這是“標準”輸入流。 public final static PrintStream out null; //這是“標準”輸出流。 public …

詳解MySQL中DROP,TRUNCATE 和DELETE的區別

注意:這里說的delete是指不帶where子句的delete語句 相同點: truncate和不帶where子句的delete, 以及drop都會刪除表內的數據 不同點: 1. truncate和 delete只刪除數據不刪除表的結構(定義) drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index…

JDK源碼解析之 Java.lang.Package

如果我們在Class對象上調用getPackage方法&#xff0c;就可以得到描述該類所在包的Package對象(Package類是在java.lang中定義的)。我們也可以用包名通過調用靜態方法getPackage或者調用靜態方法getPackages(該方法返回由系統中所有已知包構成的數組)來獲得Package對象。getNam…

Mysql中limit的用法詳解

在我們使用查詢語句的時候&#xff0c;經常要返回前幾條或者中間某幾行數據&#xff0c;這個時候怎么辦呢&#xff1f;不用擔心&#xff0c;mysql已經為我們提供了這樣一個功能。SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于強制 SE…

Docker入門-簡介

獨具魅力的Docker作為一門新技術&#xff0c;它的出現有可能引起其所在領域大范圍的波動甚至是重新洗牌。根據業內專業人士的看法&#xff0c;不論如何&#xff0c;Docker的出現&#xff0c;已經成為云服務市場中一枚極具意義的戰略性棋子。從2013年開始在國內發力&#xff0c;…

Mysql中limit的優化

在一些情況中&#xff0c;當你使用LIMIT row_count而不使用HAVING時&#xff0c;MySQL將以不同方式處理查詢。 如果你用LIMIT只選擇一些行&#xff0c;當MySQL選擇做完整的表掃描時&#xff0c;它將在一些情況下使用索引。 如果你使用LIMIT row_count與ORD…

Docker入門-架構

Docker 包括三個基本概念: 鏡像&#xff08;Image&#xff09;&#xff1a;Docker 鏡像&#xff08;Image&#xff09;&#xff0c;就相當于是一個 root 文件系統。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 文件系統。容器&#xff08;Cont…

MYSQL出錯代碼列表大全(中文)

mysql出錯了,以前往往靠猜.現在有了這張表,一查就出來了. 1005&#xff1a;創建表失敗1006&#xff1a;創建數據庫失敗1007&#xff1a;數據庫已存在&#xff0c;創建數據庫失敗1008&#xff1a;數據庫不存在&#xff0c;刪除數據庫失敗1009&#xff1a;不能刪除數據庫文件導致…

Docker入門-安裝

Centos7下安裝Docker docker官方說至少Linux 內核3.8 以上&#xff0c;建議3.10以上&#xff08;ubuntu下要linux內核3.8以上&#xff0c; RHEL/Centos 的內核修補過&#xff0c; centos6.5的版本就可以&#xff09; 1、把yum包更新到最新&#xff1a;yum update 2、安裝需要的…

Docker原理之Namespaces

命名空間&#xff08;namespaces&#xff09;是 Linux 為我們提供的用于分離進程樹、網絡接口、掛載點以及進程間通信等資源的方法。 一、Namespaces 在日常使用 Linux 或者 macOS 時&#xff0c;我們并沒有運行多個完全分離的服務器的需要&#xff0c;但是如果我們在服務器上啟…

mysql 快速插入(insert)多條記錄

方法1: INSERT INTO table(col_1, col_2,col_3) VALUES(1,11,111); INSERT INTO table(col_1, col_2,col_3)   VALUES(2,22,222); INSERT INTO table(col_1, col_2,col_3)   VALUES(3,33,333); 有沒有更快捷的辦法呢?答案是有(見方法2) 方法2: INSERT INTO table(col…

Docker原理之CGroups

控制組&#xff08;cgroups&#xff09;是 Linux 內核的一個特性&#xff0c;主要用來對共享資源進行隔離、限制、審計 等。只有能控制分配到容器的資源&#xff0c;才能避免當多個容器同時運行時的對系統資源的競爭。控制組技術最早是由 Google 的程序員 2006 年起提出&#x…