茫茫人海千千萬萬,感謝這一秒你看到這里,希望我的文章對你的有所幫助!
愿你在未來的日子,保持熱愛,奔赴山海!
Linux高級篇目錄
- 1. Linux的用戶管理
- 1.1 添加用戶
- 1.2 洗掉用戶
- 1.3 查詢用戶資訊
- 1.4 切換用戶
- 1.5 對組操作
- 2. Linux的檔案權限
- 2.1 查看資源的權限
- 2.2 添加權限語法
- 2.3 洗掉權限語法
- 2.4 修改權限語法
- 2.5 實作演示
- 3. Linux的行程管理
- 3.1 查看行程ps(process)
- 3.2 查看記憶體耗用
- 3.3 殺死行程
- 4. Linux的篩選過濾
- 4.1 grep
- 4.2 管道符|
- 5. Linux的crontab定時任務
- 5.1 配置定時任務
- 6. Linux的服務管理
- 6.1 服務管理
- 6.2 服務自啟動
- 6.3 演示效果
- 7. Linux的網路管理
- 7.1 網路管理——主機名管理
- 7.2 網路管理——網路服務管理
- 7.3 網路管理——網卡激活與關閉管理
- 7.3.1 那如何關閉網卡呢?
- 7.3.2 重新激活網卡
- 7.4 網路管理——配置靜態ip
- 7.4.1 ip配置的型別
- 7.4.2 查詢vmnet8網卡nat模式的網關資訊
- 7.4.3 配置靜態ip
- 7.5 網路管理——虛擬機快照
- 7.5.1 快照介紹
- 7.5.2 實作步驟
- 7.6 網路管理——克隆虛擬電腦
- 7.7 網路管理——查詢網路行程使用埠號
- 8. Linux的防火墻管理
- 8.1 作用1:開放埠允許外部連接
- 8.2 作用2:移出埠不允許外部連接
- 9. Linux的SSH有密登錄和免密登錄
- 9.1 登錄遠程服務器
- 9.2 對稱加密和非對稱加密
- 9.3 SSH免密登錄原理
- 9.4 實作免密登錄
- 10. Linux的專案部署安裝軟體
- 10.1 專案部署——軟體安裝命令rpm與yum
- 1. rpm
- 2. yum
- 3. rpm與yum的區別
- 10.2 專案部署——jdk安裝
- 10.3 專案部署——mysql安裝-啟動-遠程授權
- 1. 安裝步驟:
- 2. mysql虛擬機內登錄使用
- 3. mysql遠程登錄使用
- 10.4 專案部署——tomcat安裝及啟動
- 1. 安裝步驟
- 11. 完結撒花
1. Linux的用戶管理
- Linux系統是一個多用戶多任務的作業系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然后以這個賬號的身份進入系統
- Linux的用戶需要至少要屬于一個組,
- root 是超級管理員用戶,
1.1 添加用戶
命令:
useradd [選項] 用戶名:創建一個用戶
password 用戶名:給用戶名指定密碼
引數詳情介紹:
- -d :給新創建的用戶指定家目錄,
具體演示:


1.2 洗掉用戶
命令:
userdel [選項] 用戶名:洗掉一個用戶
引數詳情介紹:
- -r:洗掉用戶并會洗掉用戶家目錄
具體演示:

1.3 查詢用戶資訊
命令:
id 用戶名:查詢用戶資訊
具體演示:

1.4 切換用戶
在操作 Linux中,如果當前用戶的權限不夠,可以通過su-指令,切換到高權限用戶,比如root,
命令:
su - 用戶名:切換用戶
具體演示:

注意:
- 從權限高的用戶切換到權限低的用戶,不需要輸入密碼,反之需要,
- 當需要回傳到原來用戶時,使用exit指令
1.5 對組操作
命令:
groupadd 用戶組 :增加組
groupadd 用戶組 :洗掉組
useradd -g 用戶組 用戶名 :增加用戶時加組
usermod -g 用戶組 用戶名 : 修改用戶的組
具體演示:

2. Linux的檔案權限
在Linux中的每個用戶必須屬于一個組,不能獨立于組外,
在 Linux中每個檔案有所有者、所在組、其它組的概念,
- 所有者 :資源擁有者,又叫屬主, 使用u表示給擁有者設定權限
- 所在組 :擁有者所在的組,又叫屬組,使用g表示, 通過g給組員設定權限
- 其它組 : 其他組其他人,其他用戶,使用o標識, 通過o給其他人人員設定權限
- 使用a表示所有人(包含了上面用戶的3大類)
設定權限就是給這3大類人員設定檔案的操作權限,
2.1 查看資源的權限

這里代表root用戶hhh目錄具備的條件,那下面我們可以看看這些引數代表什么?
引數詳解:

第0位確定檔案型別(d,-,1,c,b),然后接下來幾位數字代表著每一類用戶都有3個權限,
第1-3位確定所有者(該檔案的所有者)擁有該檔案的權限,-User
第4-6位確定所屬組(同用戶組的)擁有該檔案的權限,-Group
第7-9位確定其他用戶擁有該檔案的權限–Other
其中引數rwx:
- r:讀取權限, 只讀 --> 可以使用4代表
- w: 寫入權限 , 可以編輯檔案 --> 可以使用2代表
- x: 執行權限, 由于某些檔案是可以執行的,如有有執行權限才可以執行 --> 可以使用1代表
2.2 添加權限語法
命令:
chmod 用戶或組+權限 目錄或檔案 :對指定的檔案或目錄,給用戶或組賦予權限,多種型別的用戶之間使用逗號分隔
chmod g+w hhh
2.3 洗掉權限語法
chmod 用戶或組-權限 目錄或檔案 :對指定的檔案或目錄,給用戶或組洗掉權限,多種型別的用戶之間使用逗號分隔
chmod g-w hhh
2.4 修改權限語法
chmod 用戶或組=權限 目錄或檔案 :對指定的檔案或目錄,給用戶或組修改權限,多種型別的用戶之間使用逗號分隔
chmod g=rw hhh
2.5 實作演示

使用數字權限設定:

3. Linux的行程管理
- 在 Linux中,每個執行的程式(代碼)都稱為一個行程,每一個行程都分配一個ID號
- 每一個行程,都會對應一個父行程,而這個父行程可以復制多個子行程,例如www服務器
- 每個行程都可能以兩種方式存在的,前臺與后臺,所謂前臺行程就是用戶目前的螢屏上可以進行操作的,后臺行程則是實際在操作,但由于螢屏上無法看到的行程,通常使用后臺方式執行
- 一般系統的服務都是以后臺行程的方式存在,而且都會常駐在系統中,直到關機才才結束
3.1 查看行程ps(process)
命令:
ps
ps -aux : 一般使用這個,
檔案可以1個或多個,
引數詳情:
- a :顯示當前用戶通過終端啟動的行程
- u:顯示當前用戶通過終端啟動的行程的詳細資訊
- x:顯示所有用戶的所有的行程
查看行程:

行程資訊的引數詳解:
| 列標題 | 說明 |
|---|---|
| %CPU | CPU(處理器)使用百分比 |
| %MEM | 真實記憶體使用百分比 |
| COMAND | 正被執行的命令的名稱 |
| COMMAND | 正被執行的命令的完整名稱 |
| PID | 行程ID |
| PPID | 父行程的行程ID |
| RSS | 記憶體駐留空間大小(記憶體管理) |
| START | 定時啟動的時間 |
| STAT | 狀態代碼(O,R,S,T,Z) |
| TIME | 積累CPU時間 |
| TTY | 控制終端的完整名稱(?表示沒有控制終端,該行程為守護行程) |
| USER | 用戶名 |
| VSZ | 虛擬大小(單位為KB) |
3.2 查看記憶體耗用
動態監控行程,
top與ps命令很相似,它們都用來顯示正在執行的行程,
top與ps最大的不同之處,在于top在執行一段時間可以更新正在運行的的行程,
命令
top:查看系統記憶體整體耗用, 系統負載,使用q退出,

3.3 殺死行程
若是某個行程執行一半需要停止時,或是已消了很大的系統資源時,此時可以考慮停止該行程使用kill命令來完成此項任務,
命令
kill [選項] 行程號:通過行程號殺死行程,
引數:
- -9 :表示強迫行程立即停止
用處:比如踢掉某個非法登錄用戶,或者強行關閉某個終端
4. Linux的篩選過濾
4.1 grep
grep可以是一種強大的文本搜索工具(檔案內容過濾器),它能使用字串搜索文本,并把匹配的行和行號列印出來,
也可以與管道符|一起做過濾篩選
引數介紹:
- n:搜索指定檔案中字串內容
- v:顯示不匹配的行
- i:忽略大小寫進行搜索
演示搜索:

4.2 管道符|
管道符一般與grep命令一起使用作為過濾篩選功能,
演示管道與grep搭配:

5. Linux的crontab定時任務
任務調度:是指系統在某個時間執行的特定的命令或程式,
任務調度分類:
? 1. 系統作業:有些重要的作業必須周而復始地執行,如病毒掃描等
2. 個別用戶作業:個別用戶可能希望執行某些程式,比如對 mysql資料庫的備份
crontab進行定時任務的設定,
命令引數:
- l:顯示當前用戶所有的定時任務機
- e:使用vim編輯當前用戶的定時任務,一行一個定時任務
- r:洗掉當前用戶的定時任務
演示:

5.1 配置定時任務
格式:分 時 日 月 周 命令
crontab定時命令只能最快按照分鐘去執行,不能安裝毫秒執行,如果需要按照毫秒執行可以使用java
含義:按照指定的時間執行命令, 就是定時任務
- minute:表示分鐘,從0-59的任何整數
- hour:表示小時,從0-23的任何整數
- day:表示日,從1-31的任何整數
- month:表示月,從0112的任何整數
- week:表示周,從0-7的任何整數,0或者7代表星期日,1-6代表周一到周六
- command:表示要執行的命令
特殊字符介紹:
星號* :代表所有可能的值,
逗號,:用逗號隔開的值指定某個時間點
短橫- :表示一個整數范圍
正斜杠/ :表示指定時間的間隔頻率
eg:
* * * * * command --> 每1分鐘執行
30 21 * * * command --> 每天的21點30分執行
3,15 * * * * command --> 每小時的第3和第15分鐘執行
6,12 3-4 * * * command --> 每天上午3點到4點的第6和第12分鐘執行
*/3 * * * * command --> 每隔三分鐘執行
輸出系統當前時間命令:
date
案例:每分鐘列印系統當前時間輸出到/root/mydate.log檔案中
實作步驟:
-
使用crontab -e 進入編輯當前用戶的定時任務編輯器
-
撰寫定時任務命令
-
>>代表追加輸出* * * * * date >> /root/mydate.log -
>代表覆寫輸出 -
觀察運行,看是否每分鐘進行列印.
6. Linux的服務管理
服務(service)本質就是行程,但是是運行在后臺的,通常都會監聽某個埠,等待其它程式的請求,比如(mysql,shd防火墻等),
6.1 服務管理
命令:
sysytemctl 【選項】 服務名
引數詳情介紹:
- start:啟動服務,
- stop:停止服務,
- status:查看服務的狀態,
- restart:重啟服務,
- reload:不停止定時器,重新加載新的組態檔,使其生效,
6.2 服務自啟動
命令相關:
- systemctI list-units service :查看服務運行狀態
- systemcti list-unit-files --type=service :查詢所有服務是的開機狀態
- systemctl enable 服務名:設定某個服務開機自啟動
- systemctl disable 服務名:設定某個服務器開機不自動啟動,
- systemctI is-enabled 服務名:查詢指定服務器開機啟動狀態
- systemctl list-unit-files 服務名.service:查詢指定服務器開機啟動狀態
注意:
服務默認狀態分類:
- enable : 開啟自啟動
- disable: 手動啟動
- daemon的默認狀態除了enable和disable之外,還有其他型別:
- static:這個服務不可以自己啟動,但是可能被其他的enable型別的服務喚醒(相依屬性的服務),
- mask:這個服務無論如何都不會被啟動!因為已經被強制注銷(非洗掉),可通過systemctl unmask方式改回原本狀態,
服務當前狀態分類
- active (running):表示正有一個或多個程式正在系統中執行,
- active (exited):表示僅執行一次就正常結束的服務,
- active (waiting):表示正在執行當中,不過還在等待其他的事情才能繼續處理,
- inactive:表示這個服務目前沒有運行,
6.3 演示效果


7. Linux的網路管理
7.1 網路管理——主機名管理
命令:
hostname:查看計算機的名字
hostnamectl set-hostname 名字:永久修改計算機名字,需要重啟或使用bash重繪
演示:

7.2 網路管理——網路服務管理
命令相關:
- systemctI start network:啟動網路服務
- systemctl stop network :停止網路服務
- systemctl restart network:重新啟動網路服務
- systemctl status network:查看網路服務的狀態
客戶端操作:

虛擬機服務器操作:

再回到客戶端操作:

7.3 網路管理——網卡激活與關閉管理
通過之前的學習,我們也了解了如何查看網卡串列
ifconfig
需要知道:所有linux系統的網卡都有對應的組態檔:/etc/sysconfig/network-scripts/目錄下,
7.3.1 那如何關閉網卡呢?
-
找到網卡組態檔ens33
cd /etc/sysconfig/network-scripts/
-
編輯網卡組態檔
vim ifcfg-ens33進入組態檔資訊,并修改配置ONBOOT,修改為關閉網卡
- ONBOOT屬性用于管理網卡的啟動或關閉
- ONBOOT=yes 代表激活網卡,啟動網卡
- ONBOOT=no 代表關閉網卡
ONBOOT=no
-
重啟網路服務才可以識別最新的修改
systemctl restart network
-
然后在虛擬機服務器中測驗是否可以聯網

7.3.2 重新激活網卡
-
去虛擬機里面修改組態檔ifcfg-ens33,開啟網卡
ONBOOT=yes
-
重啟網路服務
systemctl restart network -
測驗網路后,發現正常了,
7.4 網路管理——配置靜態ip
我們知道虛擬機的linux默認采用dhcp動態生成獲取ip,這個ip不穩定偶爾會發生改變的,以后作為服務器的linux系統是對外提供服務的,所以ip不能變化的應該是固定的,那么怎么實作呢?
7.4.1 ip配置的型別
dhcp, ip是動態分配生成的,適合個人電腦
static, ip是靜態不變的,適合服務器,ip不能變
以后服務器是對外提供服務的,ip不可以變化,否則客戶段找不到服務器
7.4.2 查詢vmnet8網卡nat模式的網關資訊

7.4.3 配置靜態ip
修改linux的網卡組態檔ifcfg-ens33,里面設定靜態ip
-
進入組態檔目錄
cd /etc/sysconfig/network-scripts/ -
編輯組態檔
vim ifcfg-ens33 -
修改以下內容并保存

增加、修改的內容詳情:
修改ip的生成型別, 將原來的值dhcp修改為static
BOOTPROTO=static-
IPADDR 配置ip地址
-
GATEWAY配置網關
-
NETMASK 配置子網掩碼
-
DNS1配置首選DNS
-
DNS2配置備選DNS
IPADDR=192.168.66.128 GATEWAY=192.168.66.2 NETMASK=255.255.255.0 DNS1=223.5.5.5 DNS2=114.114.114.114 -
-
重啟網路服務
systemctl restart network
7.5 網路管理——虛擬機快照
虛擬機由于其不穩定型,虛擬機經常通過某些配置或安裝軟體后導致系統不可用,一般我們的做法是重裝虛擬機linux系統解決,那么這樣操作很浪費時間,有沒有什么好辦法不用重裝系統呢?
在系統可用(沒有問題)的時候進行設定系統快照,在系統不可用的時候恢復快照就可以!
7.5.1 快照介紹
虛擬機“快照”是虛擬機磁盤檔案在某個時間點及時的復本備份,系統崩潰或系統例外,你可以通過使用恢復到快照指定時間點系統狀態,當升級應用和服務器及給它們打補丁的時候,快照是救世主,VMware 快照是VMwareWorkstation 里的一個特色功能,
7.5.2 實作步驟
-
生成快照
點擊如圖選單,進行管理快照

-
新建快照,生成當前作業系統磁盤檔案的復本(相當于備份一個系統)

-
當系統不可用時,通過恢復指定快照進行恢復系統使用

7.6 網路管理——克隆虛擬電腦
企業開發中經常需要準備多臺一模一樣的虛擬機電腦linux系統環境,那么如何根據當前的虛擬電腦快速搭建多臺一樣的虛擬電腦呢?
虛擬機克隆,可以克隆出多臺一模一樣的虛擬電腦
實作步驟:
-
關閉當前虛擬機linux系統
-
選中點擊當前linux系統虛擬電腦,再滑鼠右鍵如圖操作

注意:必須先關閉,才能克隆,然后選擇完整克隆,
-
修改克隆出來的靜態ip
需要將克隆出來的電腦修改靜態ip為192.168.66.129, 要與原本的虛擬機的ip不一樣才可以,

-
修改計算機的名字

使用bash重繪,
7.7 網路管理——查詢網路行程使用埠號
在企業開發中經常要查詢軟體使用的埠號,那么如何查詢linux系統某一個運行軟體使用的埠?
命令:
netstat:可以查看出系統網路的情況
引數詳情:
| 無參 | 顯示網路狀態 | |
|---|---|---|
| -n | number | 顯示程式的IP地址和埠號 |
| -t | tcp | 只顯示TCP協議連接的程式,-u顯示udp協議的程式 |
| -l | listenter | 顯示監聽中的Socket |
| -p | programs | 顯示程式的名字 |
演示:
netstat -nutlp #查看埠、udp、tcp、正在監聽、顯示程式名的所有程式

常見命令:
- netstat -ntlp : 只查tcp協議
- netstat -nulp : 只查udp協議
- netstat -nutlp :只查udp與tcp協議
8. Linux的防火墻管理
防火墻是防止外界訪問系統內部的程式,防火墻設定指定服務的通信權限,如果允許服務外網訪問需要進行防火墻配置,
linux系統安裝的任何軟體默認都不可以訪問外網,必須經過防火墻的放行才可以,
命令詳情:
- systemctl status firewalld:查看防火墻的狀態
- systemctI start firewalld:開啟防火墻
- systemctl stop firewalld:關閉防火墻
- systemctl enable firewalld:讓防火墻在開機的時候自啟
- systemctl disable firewalld:讓防火墻在開機的時候不要自啟
8.1 作用1:開放埠允許外部連接
外網或內網需要連接到當前系統內的程式進行操作,需要 linux 系統防火墻開放程式埠,否則無法訪問,
命令:
firewall-cmd --zone =public --add-port =埠/tcp --permanent
引數介紹:
- firewall-cmd :配置防火墻命令
- zone=public:設定管理的區域,public這是默認區域
- –add-port=埠/tcp:開放指定埠
- –permanent:持久性規則型別,永久性規則,代表持久化到訪問墻組態檔中存盤(但是需要重啟服務器才可以加載到記憶體運行時才有效果)
eg:假如開放 mysql 軟體的埠 3306,允許外界訪問,因為開了埠號,windows才能對虛擬機的mysql進行訪問,
# 開放3306埠
firewall-cmd --zone =public --add-port =3306/tcp --permanent
# 修改了防火墻配置需要重啟防火墻服務
Systemctl restart firewalld
8.2 作用2:移出埠不允許外部連接
外網或內網不需要連接到當前系統內的程式進行操作,則 linux 系統關閉開放的程式埠,
命令:
firewall-cmd --zone =public --remove-port =埠/tcp --permanent:
引數介紹:
- firewall-cmd :配置防火墻命令
- zone=public:設定管理的區域,public這是默認區域
- –remove-port=埠/tcp:關閉指定埠
- –permanent:持久性規則型別,永久性規則,代表持久化到訪問墻組態檔中存盤(但是需要重啟服務器才可以加載到記憶體運行時才有效果)
eg:移除開放 mysql 軟體的埠 3306,不允許外界訪問
firewall-cmd --zone =public --remove-port =3306/tcp --permanent
Systemctl restart firewalld
注意:如果外界還想訪問mysql的話,也可以直接關閉防火墻即可,
systemctl stop firewalld
9. Linux的SSH有密登錄和免密登錄
SSH 是一種網路協議,是 Secure Shell(安全外殼協議)的縮寫,用于計算機之間的加密登錄,
SSH 登錄有兩種驗證機制:
-
基于口令的安全驗證(有密登錄)
-
基于秘鑰登錄的驗證方式(免密登錄)
9.1 登錄遠程服務器
命令:
ssh ip地址
演示:
有密登錄效果

免密登錄效果:要想實作免密,需要實作下面的步驟,
9.2 對稱加密和非對稱加密
ssh的主要就是安全性,安全性依賴于加密方式,現在主要的加密方式有兩種:對稱加密和非對稱加密,
-
對稱加密

對稱加密使用同一個密鑰來進行加密和解密,這樣在傳輸時是安全可靠的,但是如何安全的保存密鑰呢,在集群中,客戶端的數量巨大,一旦任意一個客戶端的密鑰被竊取,那么整個系統的安全性也不復存在,
-
非對稱加密
由于對稱加密的這個弊端,產生了非對稱加密,非對稱加密中有兩個密鑰:公鑰和私鑰,公鑰由私鑰產生,但卻無法推算出私鑰;公鑰加密后的密文,只能通過對應的私鑰來解密,
非對稱加密的登錄流程:

在非對稱加密中,由于只有公鑰會被傳輸,而私鑰是服務端本地保存,因此即便公鑰被監聽,也無法拿到原始密碼,從而登錄服務器,
9.3 SSH免密登錄原理

- 在客戶端使用
ssh-keygen生成一對密鑰:公鑰+私鑰 - 將客戶端公鑰追加到服務端的
authorized_key檔案中,完成公鑰認證操作 - 認證完成后,客戶端向服務端發起登錄請求,并傳遞公鑰到服務端
- 服務端檢索
authorized_key檔案,確認該公鑰是否存在 - 如果存在該公鑰,則生成亂數
R,并用公鑰來進行加密,生成公鑰加密字串pubKey(R) - 將公鑰加密字串傳遞給客戶端
- 客戶端使用私鑰解密公鑰加密字串,得到
R - 服務端和客戶端通信時會產生一個會話
ID(sessionKey),用MD5對R和SessionKey進行加密,生成摘要(即MD5加密字串) - 客戶端將生成的
MD5加密字串傳給服務端 - 服務端同樣生成
MD5(R,SessionKey)加密字串 - 如果客戶端傳來的加密字串等于服務端自身生成的加密字串,則認證成功
- 此時不用輸入密碼,即完成建連,可以開始遠程執行
shell命令了
9.4 實作免密登錄
其他位置都是linux系統自動完成校驗
-
在fish生成一對公鑰和私鑰 (generate, 生成),使用rsa演算法
ssh-keygen -
將公鑰發送給fishing服務器,必須給出fishing的密碼fishing才接收公鑰
ssh-copy-id 192.168.66.128 -
發送登錄請求,實作免密登錄
演示程序:

10. Linux的專案部署安裝軟體
這里的專案部署軟體暫時是我們常用的jdk和mysql,其他那些可以網上搜索,
10.1 專案部署——軟體安裝命令rpm與yum
linux常用安裝軟體方式
- rpm安裝, 適合本地安裝
- yum安裝, 適合在線網路下載安裝
1. rpm
一種用于互聯網下載包的打包及安裝工具,它包含在某些 Linux分發版中,它生成具有RPM擴展名的檔案,
RedHat Package Manager(RPM), 擅長安裝軟體
作用:
- 查詢已安裝的軟體
- 安裝軟體
- 卸載軟體
命令:
- rpm -qa :查詢所有已安裝軟體
- rpm -ivh 軟體包 :安裝指定的軟體包
- rpm -e --nodep 軟體包 :不驗證軟體依賴相關性卸載指定軟體包
- rpm -ivhU * --nodeps --force :不驗證依賴與相關、強制安裝軟體包,或將已存在的更新升級
*代表安裝當前目錄下所有的rpm軟體包
引數詳情:
| -v | 顯示安裝的詳細程序, |
|---|---|
| -q<軟體名> | query查詢某個軟體是否安裝 |
| -a | 查詢所有軟體 |
| -h | 列出軟體安裝時的標記 |
| -i<軟體名> | install安裝指定的軟體 |
| -e | 卸載軟體 |
| –nodeps | 不驗證軟體相關關聯性 |
| – force | 強制操作 |
| -U | 如果軟體已存在會覆寫更新 |
2. yum
本地或在線下載安裝命令:yum(全稱為 Yellow dog Updater Modified)
作用:用于自動從服務器上下載相應的軟體包,自動安裝,并且自動下載它的依賴包,
使用yum的前提是可以聯網,
命令:
yun -y install 軟體名 :安裝軟體
yun -y remove 軟體名 :洗掉軟體
注意:使用yum安裝的軟體,就要使用yum卸載軟體
3. rpm與yum的區別
| 方式 | 區別 |
|---|---|
| yum在線下載安裝方式 | 不僅下載當前軟體包還會自動下載依賴的軟體包安裝;yum底層使用的是rpm,對rpm進行了進一步包裝與優化 |
| rpm在線下載安裝方式 | 僅僅下載當前指定的軟體包,對于依賴不會下載,所以在線下載rpm是麻煩的 |
10.2 專案部署——jdk安裝
要在虛擬機中執行java代碼,那就需要跟windows一樣安裝jdk啦
安裝軟體:
鏈接:https://pan.baidu.com/s/1vP6KAmj3bmn5uzEgU7p4EA
提取碼:xwne
安裝步驟:
-
進入/soft目錄
mkdir /soft cd /soft -
將jdk軟體上傳到linux系統/soft目錄下


-
將jdk壓縮檔案解壓到/usr/local,執行以下命令即可:
tar -xvf jdk-8u162-linux-x64.tar.gz -C /usr/local -
配置linux的jdk環境變數,操作一個/etc/profile環境變陣列態檔
編輯組態檔配置環境變數
vim /etc/profile在檔案里面的末位添加如下配置
#set java environment JAVA_HOME=/usr/local/jdk1.8.0_162 CLASSPATH=.:$JAVA_HOME/lib PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
$JAVA_HOME/bin:$PATH 類似 拼接字串 變數1+=Path變數的值保存退出
-
多載環境變陣列態檔
source /etc/profile查看jdk環境變數是否配置成功,如下資訊說明成功
java -version
10.3 專案部署——mysql安裝-啟動-遠程授權
1. 安裝步驟:
-
解壓安裝檔案(創建一個解壓后的目錄,再進行解壓),跟之前一樣先上傳mysql
cd /soft mkdir -p /usr/local/mysql tar -xvf mysql-community-5.6.45.tar.gz -C /usr/local/mysql
-
查看解壓后的檔案串列
cd /usr/local/mysql ll
-
執行安裝命令
rpm -ivhU * --nodeps --force
2. mysql虛擬機內登錄使用
-
啟動mysql服務
systemctl start mysqld將mysql加到系統服務中并設定開機啟動【可以不用設定,默認mysql就開機啟動】
systemctl enable mysqld
-
登錄mysql,root用戶默認沒有密碼
mysql -uroot -p
-
也可以在mysql中修改當前用戶root的密碼,密碼修改為root
set password = password('root');
3. mysql遠程登錄使用
-
開啟mysql的遠程登錄權限,默認情況下mysql為安全起見,不支持遠程登錄mysql,所以需要設定開啟,并且重繪權限快取,

遠程登錄mysql的權限登錄mysql后輸入如下命令
grant all privileges on *.* to 'root'@'%' identified by 'root'; flush privileges;
-
開放Linux的對外訪問的埠3306
注意:不可以在mysql里面操作防火墻開放埠,必須在系統內操作
#開放的埠永久保存到防火墻 firewall-cmd --zone=public --add-port=3306/tcp --permanent #重啟防火墻 systemctl restart firewalld # 或者是把防火墻給關了即可 systemctl stop firewalld
-
windows主機mysql客戶端就可以連接啦!

10.4 專案部署——tomcat安裝及啟動
1. 安裝步驟
-
解壓安裝檔案到/usr/local目錄下,跟之前一樣需要先上傳tomcat
cd /soft tar -xvf apache-tomcat-8.5.27.tar.gz -C /usr/local/
-
進入/usr/local/apache-tomcat-8.5.27/bin目錄下,并啟動tomcat服務器
cd /usr/local/apache-tomcat-8.5.27/bin ./startup.sh
-
需要開放linux系統防火墻8080埠
因為我們這時候去訪問是無效的,跟之前MySQL訪問一個問題,
firewall-cmd --zone=public --add-port=8080/tcp --permanent systemctl restart firewalld -
windows客戶端使用瀏覽器訪問linux的8080埠tomcat

-
讓我們試下創建html界面訪問吧:
cd .. cd webapps/ROOT/ vim fish.html
最后我們通過網頁訪問看看:

-
進入bin目錄下,關閉服務器,關閉服務器以后,瀏覽器不能再訪問
./shutdown.sh
11. 完結撒花

讓我們總結下今天到底學了什么:
用戶管理:
添加用戶:
useradd [選項] 用戶名:創建一個用戶
password 用戶名:給用戶名指定密碼
洗掉用戶:userdel [選項] 用戶名
查詢用戶:id 用戶名
切換用戶: su - 用戶名
用戶組:
groupadd 用戶組 :增加組
groupadd 用戶組 :洗掉組
useradd -g 用戶組 用戶名:增加用戶時加組
usermod -g 用戶組 用戶名 : 修改用戶的組
檔案權限:
chmod g+w hhh:添加權限
chmod g-w hhh:洗掉權限
chmod g=rw hhh:修改權限
行程管理:
查看行程:ps -aux
查看記憶體:top
殺死行程:kill [選項] 行程號
篩選過濾:
grep 和 | :ps -aux | grep sshd
定時任務:
6,12 3-4 * * * command --> 每天上午3點到4點的第6和第12分鐘執行
服務管理:
sysytemctl 【選項】 服務名
網路管理:
hostname:查看計算機的名字
netstat:可以查看出系統網路的情況
防火墻管理:
systemctl status firewalld:查看防火墻的狀態
firewall-cmd --zone =public --add-port =埠/tcp --permanent:開放某個埠
相信各位看官都對Linux的一些高級命令有了一定了解,在實際應用中,企業都會在Linux中部署專案做為生產環境!所以Linux的學習也是必不可少滴!
讓我們也一起加油吧!本人不才,如有什么缺漏、錯誤的地方,也歡迎各位人才大佬評論中批評指正!當然如果這篇文章確定對你有點小小幫助的話,也請親切可愛的人才大佬們給個點贊、收藏下吧,一鍵三連,非常感謝!

學到這里,今天的世界打烊了,晚安!雖然這篇文章完結了,但是我還在,永不完結,我會努力保持寫文章,來日方長,何懼車遙馬慢!
感謝各位看到這里!愿你韶華不負,青春無悔!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/293608.html
標籤:其他
上一篇:Day4:資料結構之堆疊
下一篇:資料結構-佇列
