目錄(持續更新)
基礎-第0章-安裝
基礎-第1章-基本操作
基礎-第2章-磁盤及文件系統管理
基礎-第3章-獲得幫助
基礎-第4章-用戶及權限基礎
基礎-第5章-網絡基本配置
基礎-第6章-管道,重定向及文本處理
基礎-第7章-系統啟動詳解
進階-第1章-日志服務
進階-第2章-DNS域名服務器
進階-第3章-FTP文件共享服務
進階-第4章-NFS文件共享服務
進階-第5章-SMB文件共享服務
進階-第6章-WEB服務Apache篇
進階-第7章-電子郵件服務
進階-第8章-Linux服務基礎及管理
高級-第1章-LVM邏輯卷
高級-第2章-高級權限ACL
高級-第3章-RAID提升速度及冗余
高級-第4章-高級網絡-網卡綁定,子端口
高級-第5章-SELinux安全系統基礎
高級-第6章-IPTable防火墻基礎
高級-第7章-Linux遠程管理-SSH、VNC
第2章-磁盤及文件系統管理
第一節 磁盤基本概念
單盤片 多盤片 每個盤配磁頭 轉速越高 性能越好 7200 5400
固態硬盤只是存儲芯片 速度快500M/S
-
機械硬盤基本概念
柱面 cylinder 所有盤片某一圈的集合 扇區 sector 中心到邊緣的扇形區 磁頭 head 每個磁頭大概512字節
-
磁盤在linux中表示
所有設備都被抽象為文件 保存在/dev下 設備名字一般為 hd[a-z] sd[a-z] (a-z為分區號) 如: hda,hdb,sda,sdb IDE設備的名稱為 hd[a-z],SATA,SCSI,SAS,USB 等設備名稱為sd[a-z] 硬盤1 /dec/sda 硬盤2 /dev/sdb 硬盤3 /dev/sdc
-
分區概念
將磁盤邏輯分區 方便管理 linux中是 設備名稱+分區號 硬盤1的第1分區 /dev/sda1 硬盤1的第2分區 /dev/sda2 硬盤2的第1分區 /dev/sdb1 硬盤2的第2分區 /dev/sdb2
-
主流分區機制為 MBR 和 GPT
MBR(Master Boot Record)是傳統的分區機制 應用于絕大多數使用BIOS的PC設備 EFI代替BIOS MBR支持32bit和64bit系統 MBR支持分區數量有限 MBR僅僅支持不超過2T的硬盤 ,超過2T的硬盤則只能用2T MBR共512字節 前446字節為引導代碼 接下來4×16字節為分區表 接下來兩個字節為 55h AAh MBR分區 主分區 最多四個主分區 擴展分區 擴展分區會占用一個主分區位置 用于承載邏輯分區 無法直接使用 邏輯分區 linux最多支持63個IDE分區和 15個SCSI分區 /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5------ /dev/sda6------ /dev/sda7 GPT(GUI Partition Table)是一個較新的分區機制 解決了MBR了很多缺點 支持超過2T的磁盤 向后兼容MBR 必須在支持UEFI的硬件上才能使用 必須用64bit系統 Mac和linux系統都能支持GPT分區格式 Windows7 64bit ,WindowsServer2008 64bit支持GPT
第二節 使用fdisk進行磁盤分區
-
FDISK分區工具來自IBM的老牌分區工具 支持大多系統
幾乎所有linux的發行版都有fdisk 包括linux rescue模式下也能使用 fdisk是個針對MBR的工具 如果需要用GPT則無法使用fdisk 大于2T的磁盤無法使用 fdisk只有超級用戶權限才能用 使用fdisk -l可以顯示所有磁盤的信息 使用fdisk /dev/sda可以列出所有安裝的磁盤及其分區信息 進入交互命令 m 幫助 n 創建分區 p 列出分區 t 修改號 w 保存修改 按下N創建分區 e 擴展分區 p 主分區 按下p創建主分區 輸入分區號 或輸入大小 +2G 按下N創建分區 e 擴展分區 p 主分區 按下e創建擴展分區 無需輸入 直接確認 按下N創建分區 l 邏輯分區 (永遠從5開始) p 主分區 按下l創建邏輯分區 輸入分區號 或輸入大小 +2G 按下T修改分區ID 輸入類型數字 L 列出類型 按83linux為正常分區 按82swap為交換分區 按下W保存寫入并退出
-
有時分區后需要用partprobe命令 讓內核更新分區信息
查看: /proc/partitions 查看分區信息
第三節 linux文件系統
需要創建文件系統才能用 過程稱為格式化 沒有經過此過程的為裸設備raw
-
常見的文件系統有fat32 NTFS ext3 ext4 xfs HFS 等
系統之間的區別 : 日志 支持分區大小 支持單個文件大小 win下主流為NTFS linux主流為ext4 linux支持的系統 ext nfs iso9660 gfs jfs vfat fat(msdos)
-
mke2fs 用來創建文件系統
mke2fs -t ext4 /dev/sda3 將第一塊硬盤的第三個主分區格式化為ext4文件格式 常用參數: -b +大小 指定文件系統塊大小 每次讀寫系統塊的大小 4K就是4096字節 -c 建立文件系統時檢查壞損快 -L label 指定卷標 磁盤取名 -j 建立文件系統日志 ext4帶日志 無需使用
-
mkfs亦可以創建文件系統 單相比mke2fs比較簡單 但是支持的參數比較少 不能精細化控制
mkfs.ext3 /dev/sda3 將第一塊硬盤的第三個主分區格式化為ext3文件格式 mkfs.ext4 /dev/sda3 將第一塊硬盤的第三個主分區格式化為ext4文件格式 mkfs.vfat /dev/sda3 將第一塊硬盤的第三個主分區格式化為vfat文件格式
-
dumpe2fs查看分區文件的系統信息
dumpe2fs /dev/sda2
-
日志
帶有日志的系統有較強的穩定性日志兩階段提交 將準備執行的事計入日志 然后操作 執行之后刪除
-
E2LABEL對文件系統打標簽
e2label /dev/sdb1 查看系統標簽 e2label /dev/sdb1 LINUX 打上LINUX標簽
-
FSCK用來檢查修復損壞的文件系統
fsck /dev/sdb1 檢查系統()檢查前需要卸載 使用 -y 參數不提示且修復 fsck自動判斷文件系統類型 如果損壞比較嚴重 建議加上 -t 參數 對于識別文件的損壞數據有些找不到記錄,將會計入lost+found目錄 系統啟動都校驗磁盤
第四節 linux文件系統掛載管理
磁盤創建好文件系統之后 掛載后才能使用
win和mac都是自動掛載 一旦創建好之后自動掛載
-
linux需要手工掛載
/dev/sda2 到 /mnt
-
mount掛載格式化的磁盤分區
mount /dev/sda1 /mnt/ 將第一塊磁盤的第一主分區掛載到 /mnt目錄下 -t 指定系統類型 默認自動識別 -o 指定掛載選項 ro rw 只讀 還是 讀寫 mount -o remount,ro /dev/sdb1 /mnt/ 將sdb1以只讀形式重新掛載到/mnt目錄 sync 代表不用緩存 將所有操作直接寫入磁盤 async 代表使用緩存 默認是async noatime 每次訪問文件是不更新文件訪問時間 atime 每次訪問文件是都更新文件訪問時間 remount 重新掛載文件系統 mount -o remount,sync /dev/sdb1 /mnt/ 將sdb1以不用緩存寫入形式重掛載到/mnt目錄 mount -o remount,ro,noatime /dev/sdb1 /mnt/ 將sdb1以 只讀形式 且 訪問時不更新文件時間形式 重新掛載到/mnt目錄
-
umount用來卸載已經掛載的文件系統 相當于win中的彈出
umount 文件系統/掛載點 umount /dev/sda3 即 umount /mnt/ 如果出現報錯,則說明文件系統正在被使用,無法卸載
-
可用fuser查看哪些進程在使用該文件系統
fuser -m /mnt
-
可用lsof查看哪些文件被打開了
lsof /mnt
-
自動掛載
配置文件/etc/fstab來定義需要自動掛載的文件系統 fstab中每一行代表一個掛載的配置 格式如下 /dev/sda3 /mnt ext4 defaults 0 0 要掛載的設備 掛載點 格式 掛載選項 dump和fsck相關選項 要掛載的設備也可以使用label進行識別 label可以取代第一路徑 label=卷標 /mnt ext4 defaults 0 0 要掛載的設備 掛載點 格式 掛載選項 dump和fsck相關選項 mount -a命令會掛載所有fstab中定義的自動掛載項