天天看點

Linux基礎(較全)Linux

Linux

0.目錄

文章目錄

  • Linux
    • 0.目錄
    • 1.Linux簡介
      • 1.1 Linux是什麼
      • 1.2 Linux發行版?
      • 1.3 LInux應用領域?
      • 1.4 Linux vs Windows?
    • 2.Linux安裝
      • 2.1 系統分區
      • 2.2 注意事項
    • 3.常用目錄結構
    • 4.常用指令
    • 5.VI編輯器
      • 5.1 編輯模式
        • 5.1.1 模式切換
        • 5.1.2 移動光标
        • 5.1.3 編輯
        • 5.1.4 退出
      • 5.2 輸入模式
      • 5.3 末行模式
    • 6.軟體安裝
      • 6.1 二進制包安裝
        • 6.1.1 RPM包安裝
        • 6.1.2 yum安裝
      • 6.2 源碼包安裝
    • 7.使用者管理
      • 7.1 使用者相關檔案
      • 7.2 使用者管理指令
      • 7.3 組管理指令
    • 8.權限管理(缺)
    • 9.檔案系統管理
      • 9.1 硬碟(缺)
      • 9.2 檔案系統
        • 9.2.1 linux檔案系統特性
        • 9.2.2 常見檔案系統
      • 9.3 指令
      • 9.4 手動建立分區
        • 9.4.1 MBR分區
        • 9.4.2 GPT分區
        • 9.4.3 swap分區
      • 9.5 磁盤配額
        • 9.5.1 依賴
        • 9.5.2 概念
        • 9.5.3 配額步驟
      • 9.6 LVM邏輯卷
        • 9.6.1 步驟
    • 10.啟動引導與修複
      • 10.1 系統運作級别
        • 10.1.1 開機執行檔案
      • 10.2 啟動引導程式
        • 10.2.1 grub引導程式
        • 10.2.2 /boot/grub目錄
        • 10.2.3 grub配置檔案
        • 10.2.4 grub加密
      • 10.3 系統修複模式
        • 10.3.1 單使用者模式
        • 10.3.2 CD光牒修複模式
    • 11.服務管理
      • 11.1 服務分類
      • 11.2 管理
        • 11.2.1 RPM包獨立服務
        • 11.2.2 基于xinetd服務
        • 11.2.3 源碼包服務
    • 12.系統管理
      • 12.1 程序管理
      • 12.2 工作管理
      • 12.3 資源檢視
      • 12.4 定時任務
    • 13.日志管理(缺)
      • 13.1 rsyslogd服務
      • 13.2 日志輪替

1.Linux簡介

1.1 Linux是什麼

  • Linux是一種自由和開放源碼的類UNIX作業系統,1991年由林納斯托瓦茲建立,主要受Minix和UNIX思想啟發。
  • Linux遵循GNU通用公共許可證(GPL),所有人都可以自由使用源代碼,也可以自由修改并重新發部
  • Linux是基于POSIX和UNIX的多使用者、多任務、支援多線程和多CPU的作業系統
  • Linux能運作主要的UNIX工具軟體、應用程式和網絡協定,繼承了UNIX以網絡為核心的設計思想。

1.2 Linux發行版?

LInux發行版簡單的來說就是将Linux核心和應用軟體做封裝

市場上主流的發行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等

1.3 LInux應用領域?

從嵌入式裝置到超級計算機、并到伺服器領域确定了地位、通常伺服器使用LAMP(Linux+Apache+Mysql+PHP)和LNMP(Linux+Nginx+Mysql+PHP)組合

目前,linux不僅在家庭中,企業中使用國家層面也在使用Linux

1.4 Linux vs Windows?

比較 Windows Linux
界面 界面統一,外殼程式固定所有 Windows 程式菜單幾乎一緻,快捷鍵也幾乎相同 圖形界面風格依釋出版不同而不同,可能互不相容。GNU/Linux 的終端機是從 UNIX 傳承下來,基本指令和操作方法也幾乎一緻。
驅動程式 驅動程式豐富,版本更新頻繁。預設安裝程式裡面一般包含有該版本釋出時流行的硬體驅動程式,之後所出的新硬體驅動依賴于硬體廠商提供。對于一些老硬體,如果沒有了原配的驅動有時很難支援。另外,有時硬體廠商未提供所需版本的 Windows 下的驅動,也會比較頭痛。 由志願者開發,由 Linux 核心開發小組釋出,很多硬體廠商基于版權考慮并未提供驅動程式,盡管多數無需手動安裝,但是涉及安裝則相對複雜,使得新使用者面對驅動程式問題(是否存在和安裝方法)會一籌莫展。但是在開源開發模式下,許多老硬體盡管在Windows下很難支援的也容易找到驅動。HP、Intel、AMD 等硬體廠商逐漸不同程度支援開源驅動,問題正在得到緩解。
使用 使用比較簡單,容易入門。圖形化界面對沒有計算機背景知識的使用者使用十分有利。 圖形界面使用簡單,容易入門。文字界面,需要學習才能掌握。
學習 系統構造複雜、變化頻繁,且知識、技能淘汰快,深入學習困難。 系統構造簡單、穩定,且知識、技能傳承性好,深入學習相對容易。
軟體 每一種特定功能可能都需要商業軟體的支援,需要購買相應的授權。 大部分軟體都可以自由擷取,同樣功能的軟體選擇較少。

2.Linux安裝

VMware虛拟機:www.vmware.com

VMware特點:

  • 不需要分區和重新開機即可同一PC上兩種作業系統
  • 本機和虛拟機可以網絡通信
  • 可以随時修改虛拟機配置

安裝步驟:

2.1 系統分區

  1. 分區表
    • MBR分區表
      • 最大2.1TB,4分區數
      • 主分區(最多四個)
      • 擴充分區(1個,不能寫資料)
      • 邏輯分區
    • GPT分區表
      • 最大9.4ZB,沒有限制分區數(理論)
  2. 格式化
    • 又稱邏輯格式化,是指使用者標明檔案系統(類型:ext4)
  3. 挂載

2.2 注意事項

  • linux嚴格區分大小寫
  • linux一切皆檔案
  • linux不靠擴充名區分檔案類型
  • linux所有儲存設備都必須挂載後才能使用
  • Windows程式不能直接在linux中使用

3.常用目錄結構

目錄 作用
/bin 存放系統指令的目錄
/sbin 存放系統指令的目錄
/boot 系統啟動目錄
/dev 裝置檔案目錄
/etc 配置檔案目錄
/home 普通使用者家目錄
/lib 系統調用的函數庫
/mnt 挂載目錄
/opt 軟體安裝目錄
/proc 虛拟檔案目錄(核心、程序、外部裝置狀态、網絡狀态)
/sys 虛拟檔案目錄(核心相關)
/root root家目錄
/tmp 臨時目錄
/usr 系統軟體資源目錄
/var 動态資料儲存目錄(緩存、日志、軟體運作檔案)

4.常用指令

指令 作用
目錄操作 ls 檢視檔案
cd 切換目錄
pwd 檢視目前目錄
mkdir 建立目錄
rmdir 删除目錄
檔案操作 touch 建立空檔案、修改中繼資料
stat 檢視詳細資訊
cat 檢視檔案内容
more 分屏檢視檔案内容
less 分行檢視檔案内容
head 檢視檔案頭部
tail 檢視檔案尾部
ln 軟連接配接
目錄檔案都可操作 rm 删除
cp 複制
mv 移動或者重命名
權限控制 chmod 修改權限
chown 修改檔案所有者和所屬組
chgrp 修改檔案所屬組
幫助指令 man 顯示聯機幫助手冊
info 完整的幫助資訊
help 檢視内置指令資訊
搜尋指令 whereis 搜尋系統指令(幫助文檔位置)
which 搜尋系統指令
locate 搜尋普通檔案
find 在目錄中搜尋檔案
grep 顯示比對的行
|管道 管道
文本操作 awk 比對截取
grep 比對
cut 截取
sed 截取
壓縮、解壓指令 zip 壓縮
unzip 解壓.zip
gzip 壓縮
gunzip 解壓.gz
bzip2 壓縮
bunzip2 解壓.bz2
tar -c 壓縮
tar -x 解壓.tar
tar -z .tar.gz
tar -j .tar.bz2
關機重新開機 sync 重新整理檔案系統緩沖區(資料同步)
shutdown 關機-h或重新開機-r
reboot 重新開機
halt 關機(不安全)
poweroff 關機(不安全)
init 關機或重新開機(不安全)
網絡指令 ifconfig 配置網絡接口
ping 通過ICMP網絡探測
netstat 檢視網絡狀态、檢視端口
write 向指定使用者發資訊
wall 向所有使用者發資訊(包括自己)
mail 給其他使用者發郵件
系統痕迹指令 w 顯示正在登陸的使用者資訊
who 顯示正在登陸的使用者資訊(簡單)
last 檢視所有登陸過的使用者資訊
lastlog 檢視最後登陸過的使用者資訊
lastb 檢視登陸錯誤資訊
挂載指令 mount 挂載
umount 解除安裝

5.VI編輯器

vi 、vim 打開檔案,進入編輯模式

三種模式:編輯模式、輸入模式、末行模式(有不同叫法)

5.1 編輯模式

5.1.1 模式切換

: 進入末行模式

i、a、o 進入輸入模式(前、後、下行)

I、A、O進入輸入模式(行首、行尾、上行)

5.1.2 移動光标

  • 字元間

    h: 左;j: 下;k: 上;l: 右

  • 單詞

    w: 移至下一個單詞的詞首

    e: 跳至目前或下一個單詞的詞尾

    b: 跳至目前或前一個單詞的詞首

  • 行内

    0: 絕對行首

    ^: 行首的第一個非空白字元

    $: 絕對行尾

  • 行間

    G:文章末尾

    3G:第3行

    gg:文章開頭

  • 翻屏

    ctrl:f,b

5.1.3 編輯

  • 删除&替換單個字元

    x:删除光标位置字元

    3x:删除光标開始3個字元

    r:替換光标位置字元

  • 删除指令 : d

    dw,dd

  • 複制粘貼&剪切

    yw,yy

    p

    P

  • 撤銷&重做

    u 撤銷

    ctrl+r 重做 撤銷的操作

    . 重複上一步的操作

5.1.4 退出

  • 直接退出

    ZZ:沒修改退出

  • 進入末行模式退出

    wq:儲存并退出

    q!:不儲存退出

5.2 輸入模式

  • 标準輸入
  • 模式切換

    Esc進入編輯模式

5.3 末行模式

  • 模式切換

    Esc Esc 進入編輯模式

  • 退出

    :q 退出 沒有動過檔案

    :wq 儲存并退出 動過了,不後悔

    :q! 不儲存并退出 動過了,後悔了

    :w 儲存

    :w! 強行儲存

    :wq --> :x

  • 進階操作

    :set 設定 set nu 設定行數

    / 查找

    s/// 查找并替換

6.軟體安裝

軟體包分為源碼包和二進制包

6.1 二進制包安裝

6.1.1 RPM包安裝

  • 指令

    安裝指令:rpm -ivh 包全名

    服務啟動:service 服務名 start

    更新指令:rpm -Uvh 包全名

    解除安裝指令:rpm -e 包名

  • 預設安裝位置

    /etc/ 配置檔案

    /usr/bin/ 可執行檔案

    /usr/lib/ 函數庫

    /usr/share/doc/ 使用手冊

    /usr/share/man/ 幫助檔案

6.1.2 yum安裝

  1. 安裝yum
  2. 安裝軟體:yum -y install 軟體名

6.2 源碼包安裝

安裝步驟

  1. 下載下傳軟體包
  2. 解壓縮
  3. 進入解壓目錄
  4. 編譯前準備
    ./configure
               
  5. 編譯
    make
               
  6. 編譯安裝
    make install
               

解除安裝:删除檔案目錄即可

7.使用者管理

7.1 使用者相關檔案

目錄 作用 說明
/etc/passwd 使用者資訊檔案 使用者名:密碼:使用者ID:組ID:使用者說明:使用者家目錄:使用者指令行
/etc/shadow 影子檔案 使用者名:加密密碼:更改時間:更改間隔:有效期:到期前警告天數:過期後寬限天數:失效時間:保留
/etc/group 組資訊檔案 組名:組密碼位:組内其他使用者(組)
/etc/gshadow 組影子檔案 儲存組密碼
/home/使用者名、/root 使用者家目錄
/var/spool/mail/使用者名 郵箱目錄
/etc/skel 使用者模版目錄

7.2 使用者管理指令

指令 作用
useradd 添加使用者
passwd 設定密碼
usermod 修改使用者
userdel 删除使用者
su 切換使用者

7.3 組管理指令

指令 作用
groupadd 添加使用者組
groupdel 删除使用者組
gpasswd 添加删除組成員
newgrp 改變有效組

8.權限管理(缺)

9.檔案系統管理

9.1 硬碟(缺)

9.2 檔案系統

9.2.1 linux檔案系統特性

super block(超級塊):記錄date block、inode的情況

date block(資料塊):資料實際存儲

inode(i節點):類似中繼資料

9.2.2 常見檔案系統

常見檔案系統 簡介
ext linux早期檔案系統
ext2 更新版(更大分區和檔案)
ext3 更新版(日志功能和可靠性)
ext4 CentOS6.x預設檔案系統(颠覆性)
xfs CentOS7.x預設檔案系統(XFS+LVM)
swap 交換分區檔案系統(暫時代替記憶體)
nfs 網絡檔案系統
iso9660 CD光牒标準檔案系統
fat Windows的fat16
vfat Windows的fat32
NTFS Windows的NTFS
ufs SunOS和Solaris
proc 基于記憶體的虛拟檔案系統
sysfs 基于記憶體的虛拟檔案系統
tmpfs 基于記憶體的虛拟檔案系統

9.3 指令

指令 作用
df 統計空間大小
du 統計檔案大小
fsck 檔案系統修複指令
dumpe2fs 顯示磁盤狀态
stat 顯示檔案狀态
file 判斷檔案類型
fdisk 分區指令
parted 分區指令
parkporbe 強制重讀分區檔案、重新挂載所有分區(幾乎不用)
mkfs 格式化(建立檔案系統)
free 檢視記憶體
swapon 增加swap分區容量

9.4 手動建立分區

9.4.1 MBR分區

fdisk /dev/sdb			#進入分區互動界面
	n					#建立分區
	p					#檢視分區
	m					#幫助
	l					#顯示檔案系統類型
	w					#儲存退出
mkfs -t ext4 /dev/sdb1	#格式化
mkdir /disk1			#建立挂點
mount /dev/sdb1 /disk1	#挂載
vi /etc/fstab			#自動挂載

#檢視
mount
fdisk -l
df

#修複權限
mount -o remount,rw /
           

9.4.2 GPT分區

parted /dev/sdb			#進入分區互動界面
	mklabel gpt			#修改類型
	mkpart				#建立分區
	mkfs				#建立檔案系統
	resize				#修改分區大小
	re					#删除分區
	print				#檢視分區
#挂載……
           

9.4.3 swap分區

fdisk /dev/sdb			#進入分區互動界面
	mkswap /dev/sdb1	#建立swap分區
swapon name				#增加分區
           

9.5 磁盤配額

9.5.1 依賴

  • 核心支援磁盤配額
    • grep CONFIG_QUOTA /boot/config-2.6.32-279.e16.i686
  • 已安裝quota
    • rpm -qa |grep quota

9.5.2 概念

  • 使用者配額群組配額
  • 磁盤容量限制和檔案個數限制
  • 軟限制和硬限制
  • 寬限時間

9.5.3 配額步驟

  1. 将分區挂載到目錄上
  2. 使用者、使用者組、目錄(條件)
  3. 開啟磁盤配額功能
    mount -o remount,usrquota /disk
               
    vi /etc/fstab
               
    • defaults,usrquota
                 
  4. 建立配額檔案(需關閉SELinux)
    quotacheck -avug
    quotacheck -avugm(跟目錄)
               
  5. 設定配額
    edquota -u username(進入指令行)
    edquota -p user1 -u user2(配額複制)
               
  6. 啟動關閉配額
    quotaon -avug /disk/
    quotaoff -avug /disk/
               
  7. 測試
    dd if=/dev/zero of=/disk/testfile bs=1M count=60
               
  8. 非互動式配額
    setquota -u 使用者 容量軟限制 容量硬限制
               

9.6 LVM邏輯卷

9.6.1 步驟

  1. 将實體硬碟分區(也可以整體分區)
    fdisk 
               
  2. 将分區建立實體卷(PV)
    pvcreate /dev/sdb
    pvscan
    pvdisplay
    pvremove
               
  3. 将實體卷整合為卷組(VG)
    vgcreate 選項 卷組名 實體卷名
    vgscan
               
  4. 把卷組劃分為邏輯卷(LV)
    lvcreate 選項 卷組名
               

10.啟動引導與修複

10.1 系統運作級别

檢視:runlevel

改變級别:init 級别

級别:

  • 0:關機
  • 1:單使用者模式
  • 2:不完全的指令行模式(無NFS)
  • 3:标準指令行模式
  • 4:系統保留
  • 5:圖形模式
  • 6:重新開機動

永久預設啟動級别設定:/etc/inittab

10.1.1 開機執行檔案

檔案:/etc/rc.d/rc.local

  • /var/lock/subsys/local 開機觸摸

10.2 啟動引導程式

10.2.1 grub引導程式

優點:更多的檔案系統、查找核心檔案、啟動時修改啟動選項、動态配置grub配置檔案

10.2.2 /boot/grub目錄

作用:

  • 加載系統核心
  • 選擇系統的菜單
  • 調用其他引導程式,實作多系統引導

10.2.3 grub配置檔案

前四行:

  • 預設啟動系統:0
  • 等待選擇時間:5
  • 背景檔案:
  • 隐藏按鈕

後每四行:可用系統

  • 标題
  • 啟動目錄:
  • 核心:
  • 虛拟檔案系統:

10.2.4 grub加密

  1. grub-md5-crypt
  2. 将秘鑰放在grub配置檔案背景檔案後
  3. 不能加lock

10.3 系統修複模式

10.3.1 單使用者模式

修改密碼:

  1. 啟動時按e,選中grub配置檔案核心,按e
  2. 在grub配置檔案核心加空格1,進入系統
  3. passwd root修改密碼

修改啟動級别:

  • 修改/etc/inittab

10.3.2 CD光牒修複模式

  1. CD光牒啟動
  2. chroot /mnt/sysimage
  3. 修複

11.服務管理

11.1 服務分類

  • RPM包安裝服務
    • 獨立服務
    • 基于xinetd服務
  • 源碼包安裝服務

11.2 管理

11.2.1 RPM包獨立服務

  • 啟動
    • 使用/etc/init.d目錄下啟動腳本啟動
      /etc/init.d/httpd start
                 
    • 使用service指令啟動
      service 獨立服務名 start|stop|restart
                 
  • 自啟動
    • chkconfig指令設定
      chkconfig --level 級别 服務名  on|off
                 
    • /etc/rc.d/rc.local檔案配置
      vi /etc/rc.d/rc.local
                 
    • ntsysv指令設定
      ntsysv --level 級别
                 

11.2.2 基于xinetd服務

  • 啟動
    • 配置/etc/xinetd.d/telnet
    service 獨立服務名 start|stop|restart
               
  • 自啟動
    • chkconfig指令設定
      chkconfig 服務名  on|off
                 

11.2.3 源碼包服務

  • 啟動
    • 使用/usr/local/服務/bin/…啟動腳本啟動
      /usr/local/服務/bin/... start
                 
  • 自啟動
    • /etc/rc.d/rc.local檔案配置
      vi /etc/rc.d/rc.local
                 
  • 配置指令識别
    • service指令識别:軟連接配接啟動腳本到/etc/init.d目錄下
    • chkconfig指令識别:啟動腳本前加入
      #chkconfig: 運作級别 啟動順序 關閉
      #description:說明
                 
      chkconfig --add 服務名
                 

12.系統管理

12.1 程序管理

ps 靜态檢視程序
top 動态檢視程序
pstree 檢視程序樹
kill 殺死程序
killall 殺死程序
pkill 殺死程序
           

12.2 工作管理

轉入背景:

  • &
  • ctrl+z

背景指令:

  • jobs -l 檢視
  • fg %工作号 恢複到前台
  • bg %工作号 背景暫停>背景執行

12.3 資源檢視

vmstat					監控系統資源

dmesg					開機時核心檢查

free					記憶體使用情況

/proc/cpuinfo			cpu資訊

w						已經登陸使用者資訊

who      				已經登陸使用者資訊

uptime					系統啟動時間和平均負載

uname					檢視系統與核心資訊
           

12.4 定時任務

at						一次性定時任務
crontab					循環定時任務
anacron					關機情況定時任務
           

13.日志管理(缺)

常見日志檔案目錄:/var/log/

13.1 rsyslogd服務

配置檔案:/etc/rsyslog.conf

13.2 日志輪替

@筆記分享