運維,本質上是對網路、服務器、服務的生命周期各個階段的運營與維護,在成本、穩定性、效率上達成一致可接受的狀態,
首先了解一下運維的職責
- 產品上線
- 故障維護
- 版本更新迭代
- 保證質量
- 提高效率
- 降低成本:方案不同成本也不同
注:對于初創公司,運維部和系統部一般是合二為一的,相關作業由同一批人負責,界限可能不是很明顯,大型公司對運維作業的要求更高,需要有更精細的分工,因此機房/網路/作業系統相關的底層作業分離出來由專人負責,成為系統管理部,而上層和應用產品相關的作業則由運維負責,成為運維部,
下面比較一下開發(Java為例)與運維的區別
Java開發
- 需要較強的編碼能力
- 崗位需求量大
- 競爭對手大都985、211、雙一流畢業生,10個崗位有100人在投
- 應屆畢業生需要一定能力才可以達到10k,但增長空間大
運維
- 不要求過高的編碼能力(運維開發需要)
- 崗位較少
- Linux是邁進互聯網世界的大門
- 畢業后基本薪資10k
目前,運維人員接觸到的服務器系統大都是Linux和Windows
運維作業崗位
- 技術支持工程師(奇安信、綠盟、深信服、啟明星辰)
- 網路工程師(網管、騰訊)
- 系統運維工程師(Linux系統運維)
- 業務運維工程師
- 資料庫運維工程師(DBA)
- 云計算工程師(云計算)
- 運維開發工程師
- 滲透測驗工程師
什么是作業系統
用戶和硬體互動的中間層軟體
管理軟體、硬體的軟體
總而言之,作業系統是管理計算機硬體與軟體資源的計算機程式
Linux簡介
Unix和Linux代碼是由90%的C語言和10%的匯編語言組成
Linux的吉祥物是企鵝
Linux是一個內核,不是作業系統
Linux系統內核指的是一個由linus負責維護,提供硬體抽象層、硬碟以及檔案系統控制以及多任務功能的系統核心程式
Linux發行套件系統是我們常說的Linux系統,也就是Linux內核與各種常見的軟體的集合產品,
Linux核心概念:一切皆檔案
Linux檔案
檔案=元資料+真實內容
以.開頭命名的檔案是隱藏檔案
嚴格區分大小寫
可以使用出/以外的任意字符作為檔案名稱,建議避免去使用特殊字符
檔案名稱長度不超過255個字符
Linux歷史
1965年前后,貝爾實驗室(Bell)、麻省理工學院(MIT)以及通用電氣(GE)聯合創辦了multics計劃,為了開發多路資訊計算系統
1969年貝爾實驗室退出multics計劃
1970年Ken Thompson發布Unix系統,這一年被稱為計算機元年
后來AT&T機構分解,unix走向商業化,一份授權4萬美元
安德魯大學教授為了解決教學研究,自己開發了Minix,此系統只能用于教學
1991年Linus Torvalds(林納斯.托瓦茲)發布了Linux 0.02版
1994年Linux 1.0版發布
Linux優缺點
- 安全、穩定、花費少
- 多任務、多用戶
- 消耗資源少
- 內核小,支持多種電子產品
- 部分軟體不支持Linux
- 命令列對用戶使用不友好
常見的Linux系統
RHEL(紅帽企業系統):
全世界使用最廣泛的作業系統
CentOS(社區企業系統)
通過把RHEL系統重新編譯并發布給用戶免費使用的Linux系統,具有廣泛的使用人群,當前Centos已經被紅帽收編,
Fedora試驗田
用戶可以免費體驗最新的技識訓工具,這些工具技術成熟之后會被加入到RHEL中,
openSUSE
源自德國的著名Linux系統,在全球有著不錯的聲譽以及市場占有率
Gentoo(高度定制化)
高度自定制性,適合有經驗的人使用,
Debian(硬體架構支持優秀)
穩定性高、安全性強,對硬體支持優秀,
Ubuntu(個人桌面系統)
是一款派生自Debian,對新款硬體具有極強的兼容能力,并且與fedora都有著出色的Linux桌面系統,也可用于服務器領域,
Arch Linux(小而美)
小而美,高度自定義
Deepin(國產作業系統)
國產桌面系統
自由軟體運動與開源許可協議
自由軟體運動
Richard Stallman(理查德·斯托曼)是該運動的主要發起人以及精神領袖,
“自由軟體”(Free Software)表示的是那些賦予用戶運行、復制、分發、學習、修改并改進軟體這些自由的軟體,
自由軟體的意義,是為了使得用戶(包括個體和團體)可以控制程式為己所用,當用戶無法控制程式時,這樣的軟體就是“非自由”(Nonfree)或“專有”(Proprietary)的程式,
自由軟體運動人士認為自由軟體的精神應當貫徹到所有軟體:他們認為禁止計算機用戶行使這種自由是不道德的行為,Richard Stallman認為販賣不附帶源代碼的二進制軟體是十分不道德的,因為這樣阻止了軟體用戶學習以及幫助其他人的權利,然而目前還沒有如何實作自由軟體運動最終目標的共識,有些人認為應當使用法律手段強制軟體供應商提供源代碼;有些則認為應當通過抵制商業軟體來達到目的,還有一些人則認為時間將證明,自由軟體最終在質量上要比商業軟體略勝一籌,并會在自由市場上取得勝利,
開源軟體運動的支持者更注重軟體的使用性而不是它的道德問題,開源軟體支持者與自由軟體支持者的最大不同在于前者不像后者一樣盲目地反對及譴責商業軟體,開源軟體支持者中有許多程式員在使用開源軟體的同時撰寫商業軟體謀求生路,
知名自由軟體:Linux、PHP、MySQL、Notepad++、Firefox、Thunderbird
開源許可協議
開源共享精神
用戶具有使用自由、修改自由、重新發布自由、以及創建衍生品的自由,這正好符合黑客和極客對自由的追求,所以國內外開源社區的根基非常龐大,人氣也相當高,
開源軟體的特點:低風險、高品質、低成本、更透明
如果開源軟體為了單純追求“自由”的話,這將會影響程式員的創造激情,因此世界上有60多種開源組織認可的許可協議來保證開源作業者的群益,
GNU(GUN is not unix)、GPL(General Public License)通用公共許可協議
- 復制自由:允許把軟體復制到任何人的電腦中并且不限制復制的數量
- 傳播自由:許軟體以各種形式進行傳播
- 收費自由:允許在各種媒介上出售該軟體,但是必須提前讓買家知道這個軟體可以通過免費的方式獲得,
- 修改自由:允許開發人員增加或者洗掉軟體的功能,但是修改之后的軟體仍然遵從GPL協議,
BSD伯克利軟體發布協議
- 如果再發布的軟體中包含源代碼,則源代碼必須遵循BSD
- 如果再發布的軟體中只有二進制程式,則需要在相關檔案或著作權檔案中宣告原始代碼遵循了BSD
- 不允許使用原始軟體的名字、作者名字或機構名稱進行市場推廣,
安裝部署Linux
安裝:虛擬機
查看防火墻狀態:
systemctl status firewalld
查看防火墻放行的服務:
firewall-cmd --list-all
注:如果未放行ssh服務,需要手動放行或關閉防火墻
關閉防火墻:
systemctl stop firewalld.service
檢查sshd服務:
systemctl status sshd
檢查22埠:
ss -tanl | grep 22
查看ip地址:
ip a | grep global
SSH遠程連接
ssh username@hostname
ssh -p passwd username@hostname
初始化
- 關閉防火墻
systemctl stop firewalld.service
- 關閉SELinux
setenforce 0
getenforce
- 安裝vim、bash-completion
yum install -y vim bash-completion
- 關機打快照
Linux檔案系統
-
檔案=元資料+真實內容
以.開頭命名的檔案是隱藏檔案
嚴格區分大小寫
可以使用出/以外的任意字符作為檔案名稱,建議避免去使用特殊字符
檔案名稱長度不超過255個字符 -
檔案路徑:
絕對路徑:從根位置開始
相對路徑:相對當前位置 -
七大檔案型別
普通檔案型別:-或f
目錄檔案型別:d
塊設備檔案型別:b
字符設備檔案型別:c
套接字檔案型別:s
管道檔案型別:p
鏈接檔案型別:l -
查看檔案型別的三種方式
-
ls -l或ll:結果中的第一個字符代表的是檔案型別
-
file命令可以查看檔案型別
-
stat可以查看檔案型別等其他檔案屬性
-
Linux的FHS(檔案系統層次化標準)目錄結構
- bin:存放系統經常使用的命令,通常是二進制程式
- boot:啟動Linux時需要的部分核心組件
- dev:Linux的外部設備
- etc:系統管理所需的組態檔和子目錄
- home:用戶家目錄
- lib:程式運行所依賴的庫檔案(包括內核模塊)
- lib64:專用于x86_64系統上的輔助共享庫檔案存在位置
- media:自動識別的設備
- mnt:用戶臨時掛載別的檔案系統的位置
- opt:安裝額外的一些軟體
- proc:虛擬目錄,訪問該目錄來獲取系統資訊
- root:超級管理員的用戶家目錄
- run:存盤系統運行以來的資訊
- sbin:超級管理員所使用的命令
- srv:服務啟動后所需要的資料
- sys:子檔案系統,映射內核資訊
- tmp:臨時檔案
- usr:用戶的應用程式和相關檔案
- var:經常被修改的檔案
Linux內核版本
3.10.0-693.el7.x86_64
主版本.次版本.釋放版本-修改版本
- 次版本:如果是偶數,則為穩定版本,如果是奇數,則為開發版本,內核開發人員使用
- 釋放版本:為對此版本改動,加入一些新功能
- 修改版本:編譯次數,每編譯一次數量+1
bash相關特性
- 什么是shell?
shell程式找到輸入命令所對應的可以執行的程式或者代碼,并將分析后提供給內核分配資源將其運行起來,表現形式為一個或者多個行程 - bash是shell中的一種,也是CentOS7默認使用的shell
- shell中可以執行的命令:
內建命令:shell自帶
外部命令:某檔案系統路徑下有相對應的可執行的程式檔案
- type:可以查看命令型別,屬于內嵌自帶的或者是其他的型別
- whereis:查找到命令的相關檔案所在的位置
- which:查看命令所在位置

Linux命令
linux命令是對Linux系統進行管理的命令,對于Linux系統來說,無論是中央處理器、記憶體、磁盤驅動器、鍵盤、滑鼠,還是用戶等都是檔案,Linux系統管理的命令是它正常運行的核心,與DOS命令類似,linux命令在系統中有兩種型別:內置Shell命令和Linux命令,
-
命令格式
<命令> <引數> -
引數:
- 長引數:–,比如–help,
如果想要同時使用多個引數,可以通過空格的形式將多個長引數并列顯示 - 短引數-,比如ls -a,可以同時將多個短引數合并,比如ls -la
- 長引數:–,比如–help,
-
命令執行結果
- 成功:退出狀態碼為0
- 失敗:退出狀態為非0
-
取消命令執行:Ctrl+C
pwd命令
顯示當前所在位置
cd命令
cd - :進入到上一次目錄所在位置
cd :進入到用戶家目錄
別名
- 查看別名:alias
- 定義別名:alias [name] = [value]
- 取消別名:unalias
- 命令列只是針對當前行程有效,如果想要永久生效需要通過修改組態檔
對當前用戶有效:修改~/.bashrc組態檔,則可以永久生效
對全域用戶有效:修改/etc/bashrc組態檔- 注:如果想要立即生效,可以通過退出并重新登錄的方式,或者使用source ./bashrc或source /etc/bashrc命令使其生效
幫助來源
–help:命令列的長引數,查找自帶的引數解釋
使用man手冊,可以查看非常具體的手冊檔案
資訊葉,info
程式自身幫助檔案,由程式開發者所寫Readme
程式官方檔案
發行版官方檔案
百度經驗、百度百科、簡書、CSDN、博客園、菜鳥教程、編程獅、w3cschool
命令歷史
- 查看歷史命令:history
- 命令歷史檔案:~/.bash_history
登錄shell時會讀取命令歷史檔案,并且后續的操作命令會被追加到命令歷史檔案中 - history相關引數
-a:立刻追加本次會話命令歷史到~/.bash_history中
-d:洗掉歷史中指定的命令
-c:清空歷史命令 - 快捷鍵
- !#:呼叫歷史中第#條命令
- !string:呼叫歷史中最近一條以string開頭的命令
- !!:呼叫歷史中上一條命令
目錄管理命令
- mkdir:創建目錄
-p:遞回創建
-v:顯示創建程序
-m:指定權限 - rmdir:洗掉目錄
-p:遞回洗掉
-v:顯示洗掉程序
檔案查看命令
- cat:一次性查看檔案所有內容,缺點是查看較大檔案時會占用較大IO
- tac:與cat類似,但從檔案末尾開始查看
- more:一次性只加載部分內容,翻頁時才加載剩余內容,避免浪費IO資源
- less:與more類似,不同的是可以往回翻頁
- head:從檔案前面開始查看,默認前10行
-c:獲取前多少個位元組
-n:獲取前多少行 - tail:與head相反,從檔案末尾開始查看內容,默認后10行
-c:獲取后多少位元組
-n:獲取后多少行
-f:動態顯示檔案新追加內容,和tailf命令功能一樣
檔案時間戳
時間戳:從計算機元年(1970年)開始到現在的秒數
- atime:最近一次檔案被訪問的時間
- mtime:最近一次檔案內容被修改過的時間
- ctime:最近一次檔案屬性被修改的時間
可以使用touch命令去修改檔案的時間
-a:只更改atime
-m:只更改mtime
-t:指定更改時間
cp命令
- SRC為單個檔案時
DEST不存在,創建出DEST檔案,與SRC同名
DEST存在,覆寫舊檔案 - SRC為多個檔案時
DEST必須是一個目錄 - SRC為目錄:-r
DEST必須是目錄,如果不存在會創建出一個新的目錄;如果存在會被覆寫 - 常見引數
-i:互動式
-r/R:遞回復制目錄和檔案
-a:歸檔
-p:連同屬性
mv命令
常用選項
-i:互動式
-f:強制
rm命令
-i:互動式
-r:遞回洗掉
-f:強制洗掉
注:建議洗掉檔案時使用絕對路徑洗掉,使用相對路徑容易誤刪
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/59136.html
標籤:其他
