在《關於磁盤分區的小腳本 》中提到了fstab文件,當時,僅僅分析了添加的內容(如下),今天需要進行仔細的分析一下該文件內容。
/dev/sda2 swap swap defaults 0 0
/dev/sda3 /data ext4 defaults 0 0
第一列: 爲需要掛載的文件系統或存儲設備
第二列: 掛載點
第三列:文件系統 或分區類型
第四列:掛載選項
auto: 系統自動掛載,fstab默認就是這個選項
ro: read-only
rw: read-write
defaults: rw, suid, dev, exec, auto, nouser, and async
第五列:爲dump選項,是否讓dump備份文件系統 0:忽略 1:備份
第六列:爲fsck選項,告訴fsck程序已什麼順序檢查文件系統,0:忽略
fstab文件的全部內容如下:
linux系統啓動的時候通過fstab中信息掛載各個分區,
在該文件中每一列的意義相同,但是爲啥第一列爲UUID呢,其實每個分區都有一個唯一的ID 即UUID,爲了安全最後使用UUID進行掛載,而不是使用第二行中/dev/sda5分區進行掛載,因爲在 添加一塊硬盤後,可能,分區名和真正的分區對應不上,這可能會數據的覆蓋,導致數據丟失,而使用UUID將避免了該類問題。
那麼如何獲取到分區的UUID呢?
1. ls -l /dev/disk/by-uuid/
2. blkid /dev/sda3
在fstab中存在着多個文件系統,下面就簡單的瞭解一下吧,省得以後見了面不認識。
tmpfs
tmpfs是基於內存的文件系統,美名其曰虛擬內存文件系統,即存儲於VM中。
VM = RM + SWAP tmpfs默認大小爲 RM的一半, 爲動態分配的,如:若/dev/shm下沒有文件,則大小爲0 ,若有100M的文件,剩餘空間還是可以被VM 分配給其他應用程序使用的。
tmpfs的用途:爲了進行告訴的操作,linux將程序的臨時文件放置到tmpfs中,利用其高速性來提高性能。
修改tmpfs大小的方法
一: 修改/etc/fstab文件,如:
tmpfs /dev/shm tmpfs defaults,size=600M 0 0
二:臨時修改,
mount -t tmpfs -o size= 600M tmpfs /dev/shm
tmpfs的優勢總結爲:1.動態文件系統大小 2.速度快 3. 重啓後不會保留
sysfs
sysfs基於內存的文件系統, 作用:將內核信息以文件的方式提供給用戶程序使用。該文件系統的目錄層次結構嚴格按照內核的數據結構組織。除了二進制文件外(只有特殊場合才使用),sysfs文件內容均以ASCII格式保存,且一個文件只保存一個數據,另外,一個文件不可大於一個內存頁(通常爲4096字節)。
待學習。。。
proc文件系統
/proc是一種僞文件系統(也即虛擬文件系統),存儲的是當前內核運行狀態的一系列特殊文件,用戶可以通過這些文件查看有關係統硬件及當前正在運行進程的信息,甚至可以通過更改其中某些文件來改變內核的運行狀態。
基於/proc文件系統如上所述的特殊性,其內的文件也常被稱作虛擬文件,並具有一些獨特的特點。例如,其中有些文件雖然使用查看命令查看時會返回大量信息,但文件本身的大小卻會顯示爲0字節。此外,這些特殊文件中大多數文件的時間及日期屬性通常爲當前系統時間和日期,這跟它們隨時會被刷新(存儲於RAM中)有關。
爲了查看及使用上的方便,這些文件通常會按照相關性進行分類存儲於不同的目錄甚至子目錄中,如/proc/scsi目錄中存儲的就是當前系統上所有SCSI設備的相關信息,/proc/N中存儲的則是系統當前正在運行的進程的相關信息,其中N爲正在運行的進程(可以想象得到,在某進程結束後其相關目錄則會消失)。
devpts系統
爲僞終端設備提供了接口。何爲僞終端??
僞終端(Pseudo Terminal)是成對的邏輯終端設備,例如/dev/ptyp3和/dev/ttyp3(或着在設備文件系統中分別是/dev/pty/m3和/dev/pty/s3)。它們與實際物理設備並不直接相關。如果一個程序把ttyp3看作是一個串行端口設備,則它對該端口的讀/寫操作會反映在該邏輯終端設備對的另一個上面(ttyp3)。而ttyp3則是另一個程序用於讀寫操作的邏輯設備。這樣,兩個程序就可以通過這種邏輯設備進行互相交流,而其中一個使用ttyp3的程序則認爲自己正在與一個串行端口進行通信。這很象是邏輯設備對之間的管道操作。對於ttyp3(s3),任何設計成使用一個串行端口設備的程序都可以使用該邏輯設備。但對於使用ptyp3的程序,則需要專門設計來使用ptyp3(m3)邏輯設備。例如,如果某人在網上使用telnet程序連接到你的計算機上,則telnet程序就可能會開始連接到設備ptyp2(m2)上(一個僞終端端口上)。此時一個getty程序就應該運行在對應的ttyp2(s2)端口上。當telnet從遠端獲取了一個字符時,該字符就會通過m2、s2傳遞給getty程序,而getty程序就會通過s2、m2和telnet程序往網絡上返回”login:”字符串信息。這樣,登錄程序與telnet程序就通過“僞終端”進行通信。通過使用適當的軟件,就可以把兩個甚至多個僞終端設備連接到同一個物理串行端口上。在使用設備文件系統(device
filesystem)之前,爲了得到大量的僞終端設備特殊文件,HP-UX AIX等使用了比較複雜的文件名命名方式。