Linux概述

吐槽一下簡書居然不支持[TOC]...

Linux概述


Unix Linux
商業(yè)付費軟件 免費公開源代碼
多數(shù)是與硬件配套的 可運行在多種硬件平臺上
對硬件的要求更為苛刻 對硬件要求沒有Unix高
安裝復(fù)雜 安裝相對簡易
使用比較復(fù)雜 使用相比Unix要簡單
最穩(wěn)定 穩(wěn)定性次之

Linux結(jié)構(gòu)

  • 硬件
  • 內(nèi)核kernel
    • 操作系統(tǒng)的核心
    • 指揮調(diào)度linux機器的運行,直接控制計算機的資源
    • 保護用戶程序不受錯綜復(fù)雜的硬件世界的影響
  • 外殼shell
    • 是Linux的一個特殊程序,是用戶與內(nèi)核之間的命令解釋器
  • 應(yīng)用程序

Linux特點

  • 多任務(wù),多用戶:CPU時間分片,分給不同的進程;允許多個用戶同時登陸使用。
  • 管道,功能強大的shell: 管道-前一個程序的輸出作為后一個程序的輸入,shell是一種解釋型高級語言。
  • 安全保護機制,穩(wěn)定性好:防止系統(tǒng)及其數(shù)據(jù)未經(jīng)許可而被非法訪問,穩(wěn)定性Unix好于Linux,Linux好于Windows。
  • 用戶界面,強大的網(wǎng)絡(luò)支持:常用命令行的方式,同時提供圖形界面;TCP/IP協(xié)議就是Linux的缺省網(wǎng)絡(luò)協(xié)議。
  • 移植性好:源代碼用C語言寫成,便于移植到其它計算機上。

Linux文件和目錄管理


樹型結(jié)構(gòu)

/bin:存放的是構(gòu)建最小系統(tǒng)所需要的命令
/sbin:即為System bin,是與操作系統(tǒng)有關(guān)的命令
/boot:內(nèi)核與啟動文件
/dev:存放的是各種設(shè)備文件
/etc:存放的是系統(tǒng)軟件的啟動和配置文件
/home:用戶的主目錄
/root:超級用戶root的家目錄
/usr:非系統(tǒng)的程序和命令
/var:系統(tǒng)專用的數(shù)據(jù)和配置文件
/opt:可選的應(yīng)用軟件包
/tmp:臨時文件存放點

文件和目錄的基本操作

  • 顯示當(dāng)前的工作目錄:pwd
  • 變更工作目錄:cd cd后面不跟任何路徑,則是回到當(dāng)前目錄的家目錄。
  • 新增目錄:mkdir -m指定存取模式 -p建立目錄時建立其所有不存在的父目錄。
  • 刪除目錄:rmdir 刪除空目錄,如果刪除非空目錄,rm即可, –p刪除目錄及父目錄
  • 復(fù)制文件或目錄 :cp+源文件或目錄+目的文件或目錄
  • 移動文件或目錄:mv +源文件或目錄+目的文件或目錄
  • 刪除文件或目錄:rm+文件或目錄
  • 查找文件或目錄:find +路徑+參數(shù) -name以指定字符串開頭的文件名 -user 查找指定用戶所擁有的文件

查看文件內(nèi)容

  • cat:直接查閱文件內(nèi)容,不能翻頁
  • more:翻頁查看文件內(nèi)容
  • less:翻頁閱讀,和more類似。但操作按鍵比more更加彈性。
  • head:查看文檔的前面幾行內(nèi)容,默認為10行
  • tail:查看文件的后面幾行內(nèi)容,默認為10行

Linux 文件系統(tǒng)管理


存儲在介質(zhì)中數(shù)據(jù)的三個因素

  • 文件名:定位存儲的位置
  • 數(shù)據(jù):文件的具體內(nèi)容
  • 元數(shù)據(jù):文件有關(guān)的信息,例如文件的權(quán)限、所有者、文件的修改時間等

Linux支持的文件系統(tǒng)類型可查看/proc/filesystems

文件系統(tǒng)的分類

是否有日志

  • 傳統(tǒng)型文件系統(tǒng):寫入文件內(nèi)容的時候,先寫數(shù)據(jù),再寫元數(shù)據(jù)。例如 ext2
  • 日志型文件系統(tǒng):寫入文件內(nèi)容的時候,先寫日志記錄文件(更安全)。 ext3=ext2+日志 ReiserFS基于平衡樹,搜索快
    如何查找數(shù)據(jù)
  • 索引式文件系統(tǒng):文件屬性數(shù)據(jù)和實際內(nèi)容放在不同的區(qū)塊,例如Linux中默認的ext2中,文件屬性數(shù)據(jù)存放在inode,實際內(nèi)容放在block
  • 非索引式文件系統(tǒng):只有block,數(shù)據(jù)需要一個block接一個block讀?。ㄏ乱粋€block位置存放在上一個block中),效率低。 FAT

碎片整理:就是寫入的數(shù)據(jù)的block太過分散,此時讀取的效率會很低。磁盤整理的目的 就是將這些分散的block盡量的集中起來。

配置文件系統(tǒng)分區(qū)

創(chuàng)建分區(qū):fdisk+設(shè)備名,輸入完該命令之后,可以通過參數(shù)m查看按鍵操作說明,通過參數(shù)p可以得到本磁盤的相關(guān)信息,輸入n命令可以新建一個分區(qū)。使用完n之后,新建分區(qū)的步驟如下:

  1. 選擇分區(qū)類型
  2. 選擇分區(qū)開始的磁柱
  3. 決定分區(qū)的大小
  4. 保存新建的分區(qū)
  5. 通過重啟服務(wù)器或使用partprobe命令通知內(nèi)核

創(chuàng)建文件系統(tǒng):mkfs 參數(shù) 設(shè)備名,-t指定文件系統(tǒng)類型 -b指定block大小,單位bytes,ext2和ext3僅支持1024/2048/4096三種

掛載文件系統(tǒng):掛載的過程就是將文件系統(tǒng)和目錄樹上的某一個目錄結(jié)合。mount+設(shè)備名+掛載點 -t -b同上

管理Linux文件系統(tǒng)

查看分區(qū)使用情況:

  • df:查看文件系統(tǒng)的磁盤空間占用情況 –h以容易理解的格式打印出文件系統(tǒng)大小 –i顯示inode信息而非塊使用量。
  • du:查看文件或目錄的磁盤使用空間 –a顯示目錄下的每個文件所占的磁盤空間 –s只顯示大小的總和 -h以容易理解的格式輸出文件大小值

查看系統(tǒng)打開的文件:lsof

  • Isof filename顯示打開指定文件的所有進程
  • Isof –c string顯示以指定字符開頭的進程所有打開的文件
  • Isof –u username顯示所屬user相關(guān)進程打開的文件

修復(fù)文件系統(tǒng):

  • fsck檢查文件系統(tǒng)并嘗試修復(fù)錯誤。執(zhí)行fsck時,必須將要修復(fù)的設(shè)備進行 umount后,再執(zhí)行fsck命令。
  • e2fsck:檢查和修復(fù)ext2和ext3文件系統(tǒng)

Linux用戶和用戶組管理


  • 用戶ID信息文件 /etc/passwd
    • /etc/passwd的文件記錄的是單個用戶的登錄信息
    • 里面有兩條記錄:root和smc
    • 每一條記錄被冒號分割稱7個字段
    • 分別是 用戶名:密碼:UID:GID:用戶的描述:用戶加目錄:用戶的shell類型
  • 組ID信息文件 /etc/group
    • /etc/group記錄的是GID和用戶組組名的一個對應(yīng)關(guān)系

用戶管理常用命令

  • 用戶查詢常用命令:id(查詢當(dāng)前登錄用戶的GID、UID)、finger(查詢當(dāng)前用戶屬性信息,如家目錄和用戶類型)
  • 新增用戶
linux: ~ # useradd -d /home/ipcc -m -u 2000 -g mms -s /bin/csh ipcc
說明:useradd[參數(shù)] [用戶名] -d: 設(shè)置用戶的家目錄 -m: 設(shè)置的家目錄不存在時自動創(chuàng)建 -u: 設(shè)置用戶的UID -g: 設(shè)置初始GID或者組名 -s: 指定用戶的shell
如果沒有設(shè)定參數(shù),系統(tǒng)會自動讀取/etc/default/useradd配置文件,指定相關(guān)用戶組、shell等參數(shù)。
如果要查詢,可以輸入linux:~ # useradd -D讀取基本配置。
  • 刪除用戶
linux:~ # userdel ipcc //刪除ipcc用戶 
linux:~ # userdel -r iptv //刪除iptv用戶及其家目錄
  • 設(shè)置用戶密碼
linux:~ # passwd ipcc
  • 修改用戶屬性
usedmod [用戶名] -d: 修改用戶家目錄 -g: 修改初始用戶組

用戶組管理常用命令

  • 新增用戶組
linux:~ # groupadd ipcc //不指定GID
linux:~ # groupadd -g 2000 iptv //GID為2000
  • 刪除用戶組
linux:~ # groupdel iptv
  • 修改用戶組
linux:~ # groupmod -g 2500 -n ipcc1 ipcc //修改GID為2500,組名為ipcc1

Linux LVM配置


  • Logical Volume Manager
  • 建立在硬盤和分區(qū)之間的邏輯層
  • 提高磁盤分區(qū)管理的靈活性
    • 在傳統(tǒng)的存儲模型中,文件系統(tǒng)是直接構(gòu)建在物理分區(qū)之上的,物理分區(qū)的大小決定了其上文件系統(tǒng)的存儲容量,調(diào)整文件系統(tǒng)的存儲容量變得比較繁瑣
    • LVM設(shè)計的主要目標是實現(xiàn)文件系統(tǒng)存儲容量可擴展性,使對容量的調(diào)整更簡易

架構(gòu)

  • 物理分區(qū):pp-physical partition,可以是硬盤的分區(qū)或者是RAID分區(qū)

  • 物理卷:PV-physical volume,是pp的LVM抽象,維護了pp的結(jié)構(gòu)信息,是組成VG的基本邏輯單元,一般一個PV對應(yīng)一個PP

  • 物理擴展單元:PE-physical extends,每個PV都會以pe為基本單元劃分,是lvm的最小存儲單元

  • 卷組:vg-volume group,由一個或者數(shù)個PV組成,可以看做LVM組合起來的大磁盤

  • 邏輯擴展單元:LE-logical extends,組成LV的基本單元,一個LE對應(yīng)一個PE

  • 邏輯卷:LV-logical volume,建立在VG之上,文件系統(tǒng)之下,由若干個LE組成,文件系統(tǒng)是基于邏輯卷的

  • LVM是通過交換PE的方式來達到彈性變更文件系統(tǒng)的大小

  • 想擴增VG的容量則可以通過增加PV的方式

  • 一般LVM默認的pe的大小是4M,最多有65534個PE,所以LVM的VG最大為256G

  • LV和磁盤的dev/sda2分區(qū)類似,是用來格式化的單位。當(dāng)對LV進行寫入操作時LVM定位相應(yīng)的LE,通過PV頭部的映射表將數(shù)據(jù)寫入到相應(yīng)的PE上

  • LV實現(xiàn)的關(guān)鍵在于PE和LE之間建立的映射關(guān)系,不同的映射規(guī)則決定了不同的LVM存儲模型

優(yōu)勢

  • 文件系統(tǒng)可以跨多個磁盤
  • 動態(tài)地擴展文件系統(tǒng)大小
  • 增加新磁盤到LVM的存儲池中

注意要點

  • 按需分配文件系統(tǒng)的大小,多余的空間放在存儲池中
  • 把不同的數(shù)據(jù)放在不同的卷組中,在系統(tǒng)升級或者數(shù)據(jù)遷移的時候較為方便

LVM的配置流程

  • 物理分區(qū)階段
    • 通過fdisk將systernID修改為LVM標記
  • PV階段
    • 通過pvcreate將Linux分區(qū)處理成物理卷PV
  • VG階段(含有多個PE)
    • 通過vgcreate將創(chuàng)建好的物理卷處理成卷組vg
  • LV階段(可用于格式化)
    • 通過lvcreate將卷組分成若干個邏輯卷LV
  • 操作系統(tǒng)使用階段
    • 通過mkfs工具將LV格式化
    • 最后掛載格式化后的LV到文件系統(tǒng) mount

物理卷管理

  • pvcreate創(chuàng)建物理卷
    • 將普通的分區(qū)加上pv屬性
    • 例如將分區(qū)/dev/sda6創(chuàng)建為物理卷:pvcreate /dev/sda6
  • pvremove刪除物理卷(語法和pvcreate一致)
  • pvscan查看物理卷信息
  • pvdisplay查看各個物理卷的詳細參數(shù)

卷組管理命令

  • vgcreate 創(chuàng)建卷組
  • vgscan 查看卷組信息
  • vgdisplay 查看卷組的詳細參數(shù)
  • vgreduce 縮小卷組,把物理卷從卷組中刪除
  • vgextend 擴展卷組,把某個物理卷添加到卷組中
  • vgremove 刪除卷組

邏輯卷管理

  • lvcreate 創(chuàng)建邏輯卷
  • lvscan 查看邏輯卷的信息
  • lvdisplay查看邏輯卷的具體參數(shù)
  • lvextend增大邏輯卷的大小
  • lvreduce減小邏輯卷的大小
  • lvremove 刪除邏輯卷

管理文件系統(tǒng)空間

  • 增大文件系統(tǒng)空間
    • 先卸載邏輯卷
    • 然后通過vgentend,lvextend等命令增大lv的空間
    • 再使用resize2fs將邏輯卷容量增加
    • 最后將邏輯卷掛載到目錄樹
  • 縮小文件系統(tǒng)空間
    • 先卸載邏輯卷
    • 使用resize2fs將邏輯卷容量減小
    • 然后通過vgreduce,lvreduce等命令減小lv的空間
    • 最后將邏輯卷掛載到目錄樹

Linux 網(wǎng)絡(luò)管理

Linux 進程管理

Linux 系統(tǒng)監(jiān)控

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容