Linux学习笔记(4) - 文件系统
4.1 什么是文件系統
文件系統表示存儲在計算機上的文件和目錄的數據結構,也可以用于存儲文件的分區或磁盤,操作系統通過文件系統可以方便地查詢和訪問其中所包含的磁盤塊。在Linux系統中,每個分區都是一個文件系統,都有自己的目錄層次結構。Linux最重要的特征之一就是支持多種文件系統,這樣它更加靈活,并可以和許多其他操作系統共存。
- 塊分配:當文件變大時,塊分配每一次都為這個文件分配磁盤空間
- 擴展分配:當某個文件的磁盤空間不夠時,一次性為它分配一連串連續的塊
Linux文件系統使用索引節點來記錄文件信息,索引節點作用類似于Windows操作系統中文件分配表。索引節點時一種數據結構,它包含了一個文件的長度、創建及修改時間、權限、所屬關系、磁盤中的位置等信息。Linux文件系統將文件索引節點號和文件名同時保存在目錄中。
文件系統類型包括
- ext2 早期Linux中常用的文件系統
- ext3 ext2的升級版,帶日志功能
- RAMFS 內存文件系統,速度很快
- NFS 網絡文件系統,由SUN發明,主要用于遠程文件共享
- MSDOS ms-dos文件系統
- VFAT Windows95/98操作系統采用的文件系統
- FAT Windows Xp操作系統采用的文件系統
- NTFS Windows NT/XP操作系統采用的文件系統
- HPFS OS/2操作系統采用的文件系統
- PROC 虛擬的進程文件系統
- ISO9660 大部分光盤用的文件系統
- ufsSun OS所用的文件系統
- HFS Macintosh機采用的文件系統
- NCPFS Novell服務器所采用的文件系統
- SMBFS Samba的共享文件系統
- XFS 由SGI開發的先進的日志文件系統,支持超大容量文件
- JFS IBM的AIX使用的日志文件系統
- ReiserFS 基于平衡樹結構的文件系統
4.2 常用的文件系統
ext2、ext3、ReiserFS
4.3 Linux目錄樹
在Linux系統中,目錄是文件系統中組織文件的形式。文件系統將文件組織在若干目錄和其子目錄中,最上層的目錄稱為根目錄(Root)目錄,用“/”表示,其他的所有目錄都是從根目錄出發而生成的。這種目錄結構類似于一個導致大的樹狀,所以又稱為“樹狀結構”。
4.3.1 文件系統層次結構
? 文件是Linux操作系統處理信息的基本單位。所有軟件都組織成文件形式。
1、文件的成分
無論文件是一個程序、文檔、數據庫,或者是目錄,操作系統都會賦予文件相同的結構:
2、文件命名
Linux的文件名幾乎可以由ASCII字符的任意組合構成,文件名最長可達255個字符。
Linux系統區分文件名的大小寫。
以圓點(.)開頭的文件名是隱含文件,默認方式下使用“ls"命令并不能把它們在屏幕上顯示出來。同樣,在默認情況下,shell通配符并不匹配這類文件名。
3、文件名擴展字符
- 星號(*)與0個或多個任意的字符相匹配,可以匹配當前目錄下的所有文件,但以圓點(.)開頭的隱含文件除外。
- 問號(?)只與一個任意的字符匹配,可以使用多個問號。
- 方括號([])只與方括號中字符之一匹配,可以用短橫線代表一個范圍內的字符、在方括號中如果以驚嘆號開始,表示不與驚嘆號后的字符匹配。
4.3.2 目錄結構
| 名稱 | 內容 |
| /bin | bin就是二進制英文縮寫。在這里存放linux常用操作命令的執行文件,如mv、ls、mkdir等。有時,這個目錄的內容和/usr/bin里面的內容一樣,它們都是放置一般用戶使用得到的執行文件 |
| /boot | 這個目錄下存放操作系統啟動時所要用到的程序。如啟動grub就會用得到其下的/boot/grub子目錄 |
| /dev | 該目錄中包含了所有Linux系統中使用的外部設備。要注意的是,這里存放的并不是外部設備的驅動程序,它實際上是一個訪問這些外部設備的端口。在Linux中,所有的設備都當作文件一樣進行操作,例如/dev/cdrom代表光驅,用戶可以方便地像訪問文件、目錄一樣對其進行訪問。 |
| /etc | 該目錄下存放了系統管理時要用到的各種配置文件和子目錄。如網絡配置文件、文件系統、X系統配置文件、設備配置信息設置用戶信息等都在這個目錄下。系統在啟動過程中需要讀取其參數進行相應的配置。 |
| /etc/rc.d | 該目錄主要存放Linux啟動和關閉時要用到的腳本文件 |
| /etc/rc.d/init | 該目錄存放所有Linux服務默認的啟動腳本文件 |
| /home | 該目錄是Linux系統中默認的用戶工作根目錄。執行adduser命令后,系統會在/home目錄下為對應賬戶建立一個同名的主目錄 |
| /lib | 該目錄是用來存放系統動態連接共享庫的。幾乎所有的應用程序都會用到這個目錄下的共享庫。因此,千萬不能輕易對這個目錄進行操作 |
| /lost+found | 該目錄在大多數情況下都是空的。只有當系統產生異常時,會將一些遺失的片段放在此目錄下 |
| /media | 該目錄下是光驅和軟驅的掛載點,Fedora Core 4系統已經可以自動掛載光驅和軟驅 |
| /misc | 該目錄下存放從DOS下進行安裝的實用工具,一般為空 |
| /mnt | 該目錄是軟驅、光驅、硬盤的掛載點,也可以臨時將別的文件系統掛載在此目錄下 |
| /proc | 該目錄是用于防止系統核心與執行程序所需的一些信息。而這些信息是在內存中由系統產生的,故不占用硬盤空間 |
| /root | 該目錄是超級用戶登錄時的主目錄 |
| /sbin | 該目錄用來存放系統管理員常用的系統管理程序 |
| /tmp | 該目錄用來存放不同程序執行時產生的臨時文件。一般Linux安裝軟件的默認安裝路徑就是這里 |
| /usr | 用戶的很多應用程序和文件都存放在這個目錄下,類似于Wiindows下的Program Files的目錄 |
| /usr/bin | 系統用戶使用的應用程序 |
| /usr/sbin | 超級用戶使用的比較高級的管理程序和系統守護程序 |
| /usr/src | 內核源代碼默認的放置目錄 |
| /srv | 該目錄存放一些服務啟動之后需要提取的數據 |
| /sys | 安裝Linux2.6內核中新出現的一個文件系統sysfs |
| sysfs | 文件系統集成了下面3種文件系統的信息:針對進程信息的proc文件系統、針對設備的devfs文件系統以及針對偽終端的devpts文件系統。該文件系統是內行設備樹的一個直觀反映。當一個內核對象被創建時,對應的文件和目錄也在內核子系統中被創建 |
| /var | 很多服務的日志信息存放在這里 |
4.3.3 目錄的常用操作命令
4.4 文件分類與權限
4.4.1 文件分類
Linux系統是一個典型的多用戶系統。為了保護系統的安全性,Linux系統對不同用戶訪問同一文件或目錄的權限做了不同的規定。
文件是Linux的核心,文件類型可以分為普通文件、目錄文件、連接文件和設備文件等多種,Linux與Windows一樣,都使用擴展名來區分文件類型。
第一個字符表示了該文件的文件類型:
- - ? 表示普通文件
- d ? 表示目錄
- l ? ?表示一個符號連接文件,實際上它指向另一個文件
- b ? 表示塊設備,如硬盤、光盤或U盤等
- c ? 表示外圍設備,是特殊類型的文件
- s ? 表示系統的套接字文件
- p ? 表示系統的管道文件
4.4.2 文件權限
?RWX
4.4.3 日志文件
? 日志文件是ext3文件系統的特點,Linux中日志文件以明文存儲,用戶可以直接打開查看。日志文件功能強大,用戶還可以編寫腳本來掃描這些日志,并基于它們的內容去執行某些功能。
/var/log/cron 該日志文件記錄守護進程cron所執行的動作,在整個記錄前面系統還自動添加了登錄用戶、登錄時間和PID,以及派生出進程的動作
/var/log/maillog ?該日志文件記錄了每一個發送到系統或從系統發出的電子郵件活動。該文件最大的缺點就是被記錄的入侵企圖和成功的入侵事件按會被淹沒在大量的正常記錄中。
/var/log/yun ? ? ?應用程序日志,該日志記錄了所有在系統中安裝的應用程序。格式為:日期、時間、應用程序。
/var/log/messages ? 該日志記錄了系統的安裝報錯信息,由syslog守護程序記錄,syslog守護程序接受來自庫、守護程序和內核的輸入,這個文件是查找引導期間的。該文件是系統出現故障并進行診斷時首要查看的文件。
/var/log/securee 系統安全日志,該日志記錄了系統安全的相關信息。
4.4.4 文件的常用操作命令
- find 在指定目錄中搜索文件,他的使用權限是所有用戶
- locate 用于查找文件
- whereis 在特定目錄中查找符合條件的文件
- which 在環境變量$PATH設置的目錄里炒找符合條件的文件
- touch 修改文件的存取和修改時間
- file 顯示文件或目錄的類型
- cp 復制文件或目錄到目標文件或目錄
- rm 刪除文件或目錄
- mv 移動或更名現有的文件或目錄
- cat 鏈接文件并打印到標準輸出設備上
- head 在屏幕上顯示指定文件的開頭若干行
- tail 在屏幕上顯示指定文件的末尾若干行
- more 如果文件太長,用cat命令只能看到文件
- less 用于分屏文件內容
- grep 在文本文件中查找指定模式大的單詞或單詞,并在標準輸出上顯示包括指定字符串模式的所有行
- wc 該命令統計出指定文件的字節數、字數、行數,并輸出結果。
?
轉載于:https://www.cnblogs.com/maybe1491/archive/2013/05/30/3063895.html
總結
以上是生活随笔為你收集整理的Linux学习笔记(4) - 文件系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓代码获取系统属性值
- 下一篇: 【转载】世界各地对BI的应用状况