Linux入門基礎:文件系統
Linux文件系統結構
/bin 存放二進制文件(可執行命令rm,cd,cp等),所有用戶都有權限
/dev (device設備的縮寫)存放設備文件
在Linux中,所有的硬件設備都被抽象成一個文件
/boot 存放內核與啟動程序相關文件
最主要的是文件vmlinuz-3.2.0-23-generic-pae,是操作系統的內核
還有所有跟引導和系統啟動相關的東西
/etc 幾乎所有的操作系統相關的配置文件。多數是以.conf .cnf結尾的
/home 用戶家目錄
/lib 存放系統庫文件
/media 掛載U盤,光盤等自動掛載,在這裡,有些系統沒有
/mnt 也是掛載,所有系統一定有,以前都是掛載這裡
/opt 通常用來安裝一些大軟件。但放在哪裡不是強制的,約定俗成在這裡。
/proc 不存在硬盤上,只存在於內存中的文件系統,是虛擬的文件系統。保存操作系統的實時信息
ll查看相關文件。例如顯示cpuinfo, meminfo可以查看相關信息.
數字的文件夾是進程信息
/sbin 存放特權級二進制文件(特權級可執行命令,而/bin是所有人都有權限)
/sys 是系統底層的東西
/tmp 臨時的目錄,會自動刪除
/usr 一般存放默認安裝程序(大型的軟件是在/opt),
/var 一般存放經常變化的數據,如服務數據、日志文件等
/root 特權用戶(root)家目錄
文件系統
操作系統通過文件系統管理文件及數據, 磁盤或分區需要創建文件系統之後才能夠為操作系統使用,創建文件系統的過程又稱為格式化.
沒有文件系統的設備又稱之為裸(raw)設備
常見的文件系統由fat32, NTFS, ext2, ext3, ext4, xfs, HFS等
文件系統之間的區別: 日志, 支持的分區大小, 支持的單個文件大小, 性能等
windows下的主流文件系統是: NTFS
Linux的主流文件系統是: ext3, ext4
不同的文件系統性能是有區別的
Linux支持的一些文件系統:
ext2
ext3
ext4
fat(msdos)
vfat
nfs
iso9660
proc
gfs
jfs
命令mke2fs用來創建文件系統
$ mke2fs -t ext4 /dev/sda3
常用參數:
-b blocksize 指定文件系統塊的大小
-c 建立文件系統時檢查壞損塊
-L label 指定卷標
-j 建立文件系統日志(ext3,ext4默認是帶日志的,不需要帶這個參數)
命令mkfs
也可用於創建文件系統,相較於mke2fs簡單,但支持的參數較少,不能進行精確控制
$ mkfs.ext3 /dev/sda3
$ mkfs.ext4 /dev/sda4
$ mkfs.vfat /dev/sda3
命令dumpe2fs
可以用來查看分區的文件系統信息
$ dumpe2fs /dev/sda2
journal日志
帶日志的文件系統(ext3, ext4)擁有較強的穩定性, 在出現錯誤時可進行恢復
使用帶日志的文件系統,文件系統會使用一個叫做"兩階段提交"的方式進行磁盤操作,當進行磁盤操作時,文件系統進行以下操作:
1. 文件系統將准備執行的事務的具體內容寫入日志
2. 文件系統進行操作
3. 操作成功後,將事務的具體內容從日志中刪除
這樣做的好處是,當事務執行的時候如果出現意外(如斷電或磁盤故障), 可以通過查詢日志進行恢復操作.缺點是會喪失一定的性能(額外的日志讀寫操作)
命令e2label
查看和設置文件系統的標簽
$ e2label /dev/sda2 顯示sda2的系統標簽
$ e2label /dev/sda2 SHUANGDE 把sda2標簽設置為SHUANGDE , 標簽一般都用大寫字母組成
命令fsck
用來檢查並修復損壞的文件系統
$ fsck /dev/sda2 檢查sda2. .要檢查一個文件系統,必須要先卸載那個文件系統
使用-y參數不提示而直接進行修復
默認fsck會自動判斷文件系統類型, 如果文件系統損壞較嚴重, 最好用-t參數指定文件系統類型
對於識別為文件的損壞數據(文件系統無記錄), fsck會將該文件放入lost + found目錄. 每個格式化的磁盤都會有lost + found目錄, 一般這個目錄都是空的
系統啟動時會對磁盤進行fsck操作