一.linux歷史介紹
1.什么是Linux操作系統(tǒng)
2.linux應(yīng)用場(chǎng)景
3.linux歷史 (GNU)
1)copyleft 無版權(quán)
2)open source free 開源不等于免費(fèi)
3)GPL協(xié)議 通用公共許可協(xié)議
4.linux發(fā)行版本
1)企業(yè)版: linux內(nèi)核 + redhat工具 = 操作系統(tǒng)
2)社區(qū)版: CentOS? ? ? --->有任何問題自行解決
5.到底要不要考證書?? (華為證書)
1)RHCSA
2)RHCE
3)RHCA
二.安裝linux系統(tǒng)
1.直接在物理機(jī)上安裝 (不采取)
2.VMware 虛擬化產(chǎn)品 (收費(fèi))
3.安裝CentOS7 系統(tǒng)? ? 手動(dòng)安裝
4.自動(dòng)化裝機(jī)? -->網(wǎng)絡(luò)形式-->cobbler
5.使用Xshell遠(yuǎn)程連接系統(tǒng)
三.linuxBash基礎(chǔ)
1.什么是bash shell
命令解釋器
2.bash能做什么
3.bash使用方式
1)單條命令? ? ? 效率低下
2)腳本方式? ? ? 效率高
4.bash 的提示符
root? ? ? ? ? ? ? ? ? ?當(dāng)前登錄系統(tǒng)的用戶
oldboy? ? ? ? ? ? ? 當(dāng)前系統(tǒng)的主機(jī)名稱
#? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)前使用的是超級(jí)管理員
$? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)前使用的是普通用戶
5.bash基礎(chǔ)語法
命令? ? ? ? 打針
選項(xiàng)? ? ? ?重點(diǎn)還是輕點(diǎn)
參數(shù)? ? ? ? 往哪里打
6.bash 補(bǔ)全方式
命令補(bǔ)全
路徑補(bǔ)全
選項(xiàng)補(bǔ)全
7.bash 快捷鍵 ctrl+a\e\u\k\l\r\z\c\d
8.bash 歷史記錄? history
9.bash 別名操作? alias unalias
10.bash 命令執(zhí)行流程
1)檢查命令是否通過絕對(duì)路徑執(zhí)行
2)檢查命令是否存在別名
3)檢查是bash內(nèi)核自帶還是后期新增開發(fā)的
4)外置命令需要檢查hash緩存
5)讀取$PATH變量,通過PATH路徑,查詢是否存在該命令
6)如果不存在最后提示 command not found? (真找不到|寫錯(cuò)了|)
11.bash幫助方式 man help
四.linux目錄結(jié)構(gòu)
1.linux系統(tǒng)組織結(jié)構(gòu)
2.定位文件所在路徑
1)絕對(duì)路徑
2)相對(duì)路徑
3).和..? 區(qū)別
3.基礎(chǔ)命令 cd pwd ls
五.linux文件管理
1.文件管理? mkdir/touch/tree/cp/mv/rm
2.文件查看? cat tac/head\tail/less\more
3.文件篩選?
grep -i \ -v \-n \-ABC ^ $
egrep=grep -E
4.文件處理?
cut 取列
sed? ? 替換 |? 匹配?
awk? 取列? |? 匹配
5.文件排序?
sort\uniq 篩選需要的目標(biāo)后進(jìn)行統(tǒng)計(jì)
wc? 直接統(tǒng)計(jì)文件的行數(shù)
6.上傳下載?
wget\curl
rz\sz\xftp
六.linux文件編輯
編輯工具三種模式
普通模式? gg\G\D\dd\yy\p\\u\r
編輯模式? i\a\o\O
命令模式 :? :wq :x :set nu :%s###g
視圖模式 ctrl+v? shift+v
七.linux用戶管理
1.什么是用戶
2.用戶有什么用
登錄系統(tǒng)
每個(gè)進(jìn)程都需要一個(gè)對(duì)應(yīng)的用戶
3.用戶相關(guān)的配置文件
/etc/passwd
/etc/shadow
4.用戶管理相關(guān)的命令
useradd
usermod
userdel
id
passwd
5.用戶創(chuàng)建的流程
/etc/login.defs
/etc/default/useradd
6.什么是組? 邏輯概念
7.組的配置文件
/etc/group
/etc/gshadow
8.組的基本操作
groupadd
groupmod
groupdel
9.普通用戶在操作一些指令時(shí)無權(quán)限
升官 su
提權(quán)? ? sudo? (借用root身份在操作)
sudo配置
八.linux權(quán)限管理
1.什么是權(quán)限
限制用戶能夠以什么樣的方式訪問一個(gè)文件
2.權(quán)限與用戶的關(guān)系
3.權(quán)限中的rwx有什么用
r? ? ? ? 讀? ? ? ? ? ? ? ? ? ? 4
w? ? ? ?寫? ? ? ? ? ? ? ? ? ? 2
x? ? ? ? 執(zhí)行? ? ? ? ? ? ? ? 1
文件:? 600? 644? 640
目錄:? 755? ? <--- 命令
4.修改權(quán)限? chmod \ -R
5.變更文件的屬主和屬組?? chown\chgrp
6.對(duì)一個(gè)目錄下的文件進(jìn)行操作, 取決于這個(gè)目錄下文件本身的屬性.
7.但是如果要?jiǎng)h除該文件,則需要查看該文件的上級(jí)目錄是否存在w權(quán)限位
8.特殊權(quán)限
suid 4000
sgid 2000
sbit? 1000
9.默認(rèn)權(quán)限umask
表示要減去的權(quán)限
為什么默認(rèn)的目錄是755,文件是644
777 -022 =? 755
666 - 022 = 644
九.linux輸入輸出
1.標(biāo)準(zhǔn)輸入? ? ? ? ? ? 0? ? ? ? ? ? ? ? ?--->/dev/stdin
2.標(biāo)準(zhǔn)輸出? ? ? ? ? ? 1? ? ? ? ? ? ? ? ---->/dev/stout
3.錯(cuò)誤輸出? ? ? ? ? ? 2? ? ? ? ? ? ? ----->/dev/stderr
4.管道技術(shù)? ? ? ? ? ? |? ? ? ? ? ? ? ?tee
十.linux文件查找
1.為什么要使用查找
2.查找的語法? ?find? 位置? 條件? 動(dòng)作
名稱 -name\-iname
大小 -size
類型 -type|f\d\l\b\c
時(shí)間 -mtime? +7 -7? 7
用戶 -user -group -nouser -nogroup
動(dòng)作
1)-delete 刪除文件
?2) -exec rm -f {} \;? ? 可以執(zhí)行任何command
3)xargs? ? ? ? ? ? ? ? ? ? ? ? 將查找的結(jié)果作為后者命令的參數(shù)
3.邏輯運(yùn)算符?
-a 兩個(gè)條件同時(shí)滿足,默認(rèn)?
-o? 兩個(gè)條件滿足一個(gè)即可? ? ??
!? ? 該條件取反? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
十一.linux打包管理
gzip 讓一個(gè)文件快速失效( 注釋 )
壓縮 gzip name
解壓 gzip -d?
查看 zcat
zip? 為了能讓windows和linux互通
zip -r 壓縮包名稱 需要壓縮的內(nèi)容
unzip? 壓縮包名稱? ? -d? 指定解壓的位置
tar? 通常開源的源碼包都是tar
打包并壓縮 tar czf 壓縮包名稱 需要壓縮的內(nèi)容
解壓壓縮包? ? tar xf? ? 壓縮包名稱
查看壓縮包? tar? tf? ? 壓縮包名稱
解壓至指定位置? ? tar xf? ? 壓縮包名稱? -C? 指定解壓的位置
find+tar組合方式
find ./ -type f -name "test-*" | xargs tar czf test.tar.gz
tar czf test2.tar.gz $(find ./ -type f -name "test-*")
十二.linux軟件管理
1.rpm包工具
安裝 -ivh
卸載 -e
升級(jí) -Uvh
查看 -qa\-qc\-ql\-qf
2.yum工具
安裝
卸載
升級(jí)
查看
搜索
3.倉庫
1)本地倉庫
2)共享倉庫
3)網(wǎng)絡(luò)倉庫
4.源碼工具
./configure自定義組件
make 根據(jù)Makefile進(jìn)行編譯
make install將安裝程序拷貝至指定位置
十三.linux磁盤管理
1.硬盤使用來存儲(chǔ)數(shù)據(jù)?怎么存?
2.存儲(chǔ)至盤面?
3.盤面:? 存儲(chǔ)數(shù)據(jù)?
4.磁道:
5.扇區(qū)
6.柱面:
7.磁盤接口類型 IDE\SCSCI\SATA\SAS\SSD(msata|m.2)
8.磁盤熱插拔? ? SATA\SAS都支持? IDE|SCSCI不支持
9.磁盤的轉(zhuǎn)速? 5400 7200 15000
10.基本的分區(qū)
1)fdisk\gdisk
2)mkfs
3)mount\umount
4)/etc/fstab? ? lsblkid
11.磁盤的陣列
1)RAID 0
2)RAID 1
3)RAID 5
4)RAID 10
十四.linux進(jìn)程管理
1.生命周期
2.查看進(jìn)程 ps\top
3.cpu使用率\內(nèi)核使用率\wait等待
4.硬中斷\軟中斷\st
5.管理進(jìn)程 kill\killall\pkill
6.進(jìn)程優(yōu)先級(jí)? nice renice
7.后臺(tái)進(jìn)程? screen
8.中斷
1).為什么要有中斷
提高系統(tǒng)處理的效率.
2).為什么要硬中斷,軟中斷
硬中斷, 硬件自身中斷請(qǐng)求,? 網(wǎng)卡中斷,接受網(wǎng)絡(luò)數(shù)據(jù)包存放至內(nèi)存,然后通知內(nèi)核,數(shù)據(jù)包接受完畢, 網(wǎng)卡回到原來的操作繼續(xù)處理任務(wù).
軟中斷,由內(nèi)核將內(nèi)存的數(shù)據(jù)包寫入硬盤.
9.平均負(fù)載?
1)單位時(shí)間的活躍進(jìn)程數(shù)
正在運(yùn)行
正在排隊(duì)
不可中斷
2)負(fù)載高于CPU有沒有關(guān)系? w\uptime\top\mpstat\pidstat
CPU密集型? 負(fù)載與cpu使用率一致? (打包? 視頻轉(zhuǎn)碼)
IO密集型? ? ? 負(fù)載高于cpu使用率沒關(guān)系? (數(shù)據(jù)庫服務(wù))
CPU多進(jìn)程? 大量的進(jìn)程會(huì)造成CPU使用率過高? (php-fpm進(jìn)程)
十五.linux系統(tǒng)服務(wù)
1.開機(jī)啟動(dòng)流程
1).BIOS檢查硬件信息
2).讀取磁盤的MBR
3).加載內(nèi)核Kernel? ? /boot/kernel
4).啟動(dòng)第一個(gè)進(jìn)程 systemd
5).systemd讀取運(yùn)行級(jí)別/etc/systemd/system/default.target
6).并行的加載服務(wù)( 被設(shè)定為開機(jī)自啟的服務(wù))
7).啟動(dòng)getty,等待用戶連接
8).用戶通過xshell遠(yuǎn)程登錄系統(tǒng)
2.系統(tǒng)運(yùn)行級(jí)別
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
systemctl get-default
systemctl set-default TARGET.target
3.systemd介紹和使用
1).啟動(dòng)服務(wù)塊
2).沒有腳本管理啟動(dòng)服務(wù)
3).關(guān)機(jī),只關(guān)閉已啟動(dòng)的程序
4).如何使用systemd? start|restart|reload|stop|status|enable|disable
4.單用戶模式? (面對(duì)實(shí)體硬件,直接登錄的一種超級(jí)用戶)
1).忘記密碼
2).修改錯(cuò)誤配置文件
3).誤修改sudo權(quán)限
5.救援模式? (系統(tǒng)無法啟動(dòng))
1).內(nèi)核誤刪除
2).grub引導(dǎo)丟失
3).系統(tǒng)奔潰,需要拷貝數(shù)據(jù)
十六.linux定時(shí)任務(wù)
1.crond定時(shí)任務(wù)
2.crond編寫方式 * * * * *? 分時(shí)日月周? * - / ,
3.crond編寫思路
4.crond故障面試?
1)誤刪可以通過/var/log/cron恢復(fù),非常的麻煩
2)crond存放的位置 /var/spool/cron/{Username}
十七.linux網(wǎng)絡(luò)管理
1.IP地址\子網(wǎng)掩碼\網(wǎng)關(guān)\DNS
2.OSI\TCP\靜態(tài)路由\iptables\arp\wireshark
3.linux配置網(wǎng)絡(luò)IP地址\掩碼\網(wǎng)關(guān)\DNS\路由
4.NAT SNAT\DNAT\端口映射\上網(wǎng)行為管理