主頁 >  其他 > 萬字長文超硬核詳細學習系列——深入淺出Linux高級篇的知識點,值得你收藏學習必備

萬字長文超硬核詳細學習系列——深入淺出Linux高級篇的知識點,值得你收藏學習必備

2021-08-14 07:55:11 其他

茫茫人海千千萬萬,感謝這一秒你看到這里,希望我的文章對你的有所幫助!

愿你在未來的日子,保持熱愛,奔赴山海!

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的用戶管理

  1. Linux系統是一個多用戶多任務的作業系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然后以這個賬號的身份進入系統
  2. Linux的用戶需要至少要屬于一個組,
  3. root 是超級管理員用戶,

1.1 添加用戶

命令:

useradd [選項] 用戶名:創建一個用戶

password 用戶名:給用戶名指定密碼

引數詳情介紹:

  • -d :給新創建的用戶指定家目錄,

具體演示:

1.2 洗掉用戶

命令:

userdel [選項] 用戶名:洗掉一個用戶

引數詳情介紹:

  • -r:洗掉用戶并會洗掉用戶家目錄

具體演示:

1.3 查詢用戶資訊

命令:

id 用戶名:查詢用戶資訊

具體演示:

1.4 切換用戶

在操作 Linux中,如果當前用戶的權限不夠,可以通過su-指令,切換到高權限用戶,比如root,

命令:

su - 用戶名:切換用戶

具體演示:

注意:

  1. 從權限高的用戶切換到權限低的用戶,不需要輸入密碼,反之需要,
  2. 當需要回傳到原來用戶時,使用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的行程管理

  1. 在 Linux中,每個執行的程式(代碼)都稱為一個行程,每一個行程都分配一個ID號
  2. 每一個行程,都會對應一個父行程,而這個父行程可以復制多個子行程,例如www服務器
  3. 每個行程都可能以兩種方式存在的,前臺與后臺,所謂前臺行程就是用戶目前的螢屏上可以進行操作的,后臺行程則是實際在操作,但由于螢屏上無法看到的行程,通常使用后臺方式執行
  4. 一般系統的服務都是以后臺行程的方式存在,而且都會常駐在系統中,直到關機才才結束

3.1 查看行程ps(process)

命令:

ps

ps -aux : 一般使用這個,

檔案可以1個或多個,

引數詳情:

  • a :顯示當前用戶通過終端啟動的行程
  • u:顯示當前用戶通過終端啟動的行程的詳細資訊
  • x:顯示所有用戶的所有的行程

查看行程:

行程資訊的引數詳解:

列標題說明
%CPUCPU(處理器)使用百分比
%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檔案中

實作步驟

  1. 使用crontab -e 進入編輯當前用戶的定時任務編輯器

  2. 撰寫定時任務命令

  3. >>代表追加輸出

    * * * * * date >> /root/mydate.log
    
  4. >代表覆寫輸出

  5. 觀察運行,看是否每分鐘進行列印.

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之外,還有其他型別:
    1. static:這個服務不可以自己啟動,但是可能被其他的enable型別的服務喚醒(相依屬性的服務),
    2. mask:這個服務無論如何都不會被啟動!因為已經被強制注銷(非洗掉),可通過systemctl unmask方式改回原本狀態,

服務當前狀態分類

  1. active (running):表示正有一個或多個程式正在系統中執行,
  2. active (exited):表示僅執行一次就正常結束的服務,
  3. active (waiting):表示正在執行當中,不過還在等待其他的事情才能繼續處理,
  4. 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 那如何關閉網卡呢?

  1. 找到網卡組態檔ens33

    cd /etc/sysconfig/network-scripts/
    

  2. 編輯網卡組態檔

    vim ifcfg-ens33
    

    進入組態檔資訊,并修改配置ONBOOT,修改為關閉網卡

    • ONBOOT屬性用于管理網卡的啟動或關閉
    • ONBOOT=yes 代表激活網卡,啟動網卡
    • ONBOOT=no 代表關閉網卡
    ONBOOT=no
    

  3. 重啟網路服務才可以識別最新的修改

    systemctl restart network
    

  4. 然后在虛擬機服務器中測驗是否可以聯網

7.3.2 重新激活網卡

  1. 去虛擬機里面修改組態檔ifcfg-ens33,開啟網卡

    ONBOOT=yes
    

  2. 重啟網路服務

    systemctl restart network
    
  3. 測驗網路后,發現正常了,

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

  1. 進入組態檔目錄

    cd /etc/sysconfig/network-scripts/
    
  2. 編輯組態檔

    vim ifcfg-ens33
    
  3. 修改以下內容并保存

    增加、修改的內容詳情:

    修改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
    
  4. 重啟網路服務

    systemctl restart network
    

7.5 網路管理——虛擬機快照

虛擬機由于其不穩定型,虛擬機經常通過某些配置或安裝軟體后導致系統不可用,一般我們的做法是重裝虛擬機linux系統解決,那么這樣操作很浪費時間,有沒有什么好辦法不用重裝系統呢?

在系統可用(沒有問題)的時候進行設定系統快照,在系統不可用的時候恢復快照就可以!

7.5.1 快照介紹

虛擬機“快照”是虛擬機磁盤檔案在某個時間點及時的復本備份,系統崩潰或系統例外,你可以通過使用恢復到快照指定時間點系統狀態,當升級應用和服務器及給它們打補丁的時候,快照是救世主,VMware 快照是VMwareWorkstation 里的一個特色功能,

7.5.2 實作步驟

  1. 生成快照

    點擊如圖選單,進行管理快照

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

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

7.6 網路管理——克隆虛擬電腦

企業開發中經常需要準備多臺一模一樣的虛擬機電腦linux系統環境,那么如何根據當前的虛擬電腦快速搭建多臺一樣的虛擬電腦呢?

虛擬機克隆,可以克隆出多臺一模一樣的虛擬電腦

實作步驟:

  1. 關閉當前虛擬機linux系統

  2. 選中點擊當前linux系統虛擬電腦,再滑鼠右鍵如圖操作

    注意:必須先關閉,才能克隆,然后選擇完整克隆,

  3. 修改克隆出來的靜態ip

    需要將克隆出來的電腦修改靜態ip為192.168.66.129, 要與原本的虛擬機的ip不一樣才可以,

  4. 修改計算機的名字

    使用bash重繪,

7.7 網路管理——查詢網路行程使用埠號

在企業開發中經常要查詢軟體使用的埠號,那么如何查詢linux系統某一個運行軟體使用的埠?

命令:

netstat:可以查看出系統網路的情況

引數詳情:

無參顯示網路狀態
-nnumber顯示程式的IP地址和埠號
-ttcp只顯示TCP協議連接的程式,-u顯示udp協議的程式
-llistenter顯示監聽中的Socket
-pprograms顯示程式的名字

演示:

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 登錄有兩種驗證機制:

  1. 基于口令的安全驗證(有密登錄)

  2. 基于秘鑰登錄的驗證方式(免密登錄)

9.1 登錄遠程服務器

命令:

ssh ip地址

演示:

有密登錄效果

免密登錄效果:要想實作免密,需要實作下面的步驟,

9.2 對稱加密和非對稱加密

ssh的主要就是安全性,安全性依賴于加密方式,現在主要的加密方式有兩種:對稱加密和非對稱加密,

  • 對稱加密

    對稱加密使用同一個密鑰來進行加密和解密,這樣在傳輸時是安全可靠的,但是如何安全的保存密鑰呢,在集群中,客戶端的數量巨大,一旦任意一個客戶端的密鑰被竊取,那么整個系統的安全性也不復存在,

  • 非對稱加密

    由于對稱加密的這個弊端,產生了非對稱加密,非對稱加密中有兩個密鑰:公鑰和私鑰,公鑰由私鑰產生,但卻無法推算出私鑰;公鑰加密后的密文,只能通過對應的私鑰來解密,

    非對稱加密的登錄流程:

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

9.3 SSH免密登錄原理

  1. 在客戶端使用ssh-keygen生成一對密鑰:公鑰+私鑰
  2. 將客戶端公鑰追加到服務端的authorized_key檔案中,完成公鑰認證操作
  3. 認證完成后,客戶端向服務端發起登錄請求,并傳遞公鑰到服務端
  4. 服務端檢索authorized_key檔案,確認該公鑰是否存在
  5. 如果存在該公鑰,則生成亂數R,并用公鑰來進行加密,生成公鑰加密字串pubKey(R)
  6. 將公鑰加密字串傳遞給客戶端
  7. 客戶端使用私鑰解密公鑰加密字串,得到R
  8. 服務端和客戶端通信時會產生一個會話ID(sessionKey),用MD5R和SessionKey進行加密,生成摘要(即MD5加密字串)
  9. 客戶端將生成的MD5加密字串傳給服務端
  10. 服務端同樣生成MD5(R,SessionKey)加密字串
  11. 如果客戶端傳來的加密字串等于服務端自身生成的加密字串,則認證成功
  12. 此時不用輸入密碼,即完成建連,可以開始遠程執行shell命令了

9.4 實作免密登錄

其他位置都是linux系統自動完成校驗

  1. 在fish生成一對公鑰和私鑰 (generate, 生成),使用rsa演算法

    ssh-keygen
    
  2. 將公鑰發送給fishing服務器,必須給出fishing的密碼fishing才接收公鑰

    ssh-copy-id 192.168.66.128
    
  3. 發送登錄請求,實作免密登錄

演示程序:

10. Linux的專案部署安裝軟體

這里的專案部署軟體暫時是我們常用的jdk和mysql,其他那些可以網上搜索,

10.1 專案部署——軟體安裝命令rpm與yum

linux常用安裝軟體方式

  1. rpm安裝, 適合本地安裝
  2. 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

安裝步驟:

  1. 進入/soft目錄

    mkdir /soft
    cd /soft
    
  2. 將jdk軟體上傳到linux系統/soft目錄下

  3. 將jdk壓縮檔案解壓到/usr/local,執行以下命令即可:

    tar -xvf jdk-8u162-linux-x64.tar.gz -C /usr/local
    
  4. 配置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變數的值

    保存退出

  5. 多載環境變陣列態檔

    source /etc/profile
    

    查看jdk環境變數是否配置成功,如下資訊說明成功

    java -version
    

10.3 專案部署——mysql安裝-啟動-遠程授權

1. 安裝步驟:

  1. 解壓安裝檔案(創建一個解壓后的目錄,再進行解壓),跟之前一樣先上傳mysql

    cd /soft
    mkdir -p /usr/local/mysql
    tar -xvf mysql-community-5.6.45.tar.gz -C /usr/local/mysql
    

  2. 查看解壓后的檔案串列

    cd /usr/local/mysql
    ll
    

  3. 執行安裝命令

    rpm -ivhU * --nodeps --force
    

2. mysql虛擬機內登錄使用

  1. 啟動mysql服務

    systemctl start mysqld
    

    將mysql加到系統服務中并設定開機啟動【可以不用設定,默認mysql就開機啟動】

    systemctl enable mysqld

  2. 登錄mysql,root用戶默認沒有密碼

    mysql -uroot -p
    

  3. 也可以在mysql中修改當前用戶root的密碼,密碼修改為root

    set password = password('root'); 
    

3. mysql遠程登錄使用

  1. 開啟mysql的遠程登錄權限,默認情況下mysql為安全起見,不支持遠程登錄mysql,所以需要設定開啟,并且重繪權限快取,

    遠程登錄mysql的權限登錄mysql后輸入如下命令

    grant all privileges on *.* to 'root'@'%' identified by 'root';
    
    flush privileges;
    

  2. 開放Linux的對外訪問的埠3306

    注意:不可以在mysql里面操作防火墻開放埠,必須在系統內操作

    #開放的埠永久保存到防火墻
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
    #重啟防火墻
    systemctl restart firewalld
    
    # 或者是把防火墻給關了即可
    systemctl stop firewalld
    

  3. windows主機mysql客戶端就可以連接啦!

10.4 專案部署——tomcat安裝及啟動

1. 安裝步驟

  1. 解壓安裝檔案到/usr/local目錄下,跟之前一樣需要先上傳tomcat

    cd /soft
    
    tar -xvf apache-tomcat-8.5.27.tar.gz  -C /usr/local/
    

  2. 進入/usr/local/apache-tomcat-8.5.27/bin目錄下,并啟動tomcat服務器

    cd /usr/local/apache-tomcat-8.5.27/bin
    
    ./startup.sh
    

  3. 需要開放linux系統防火墻8080埠

    因為我們這時候去訪問是無效的,跟之前MySQL訪問一個問題,

    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    
    systemctl restart firewalld
    
  4. windows客戶端使用瀏覽器訪問linux的8080埠tomcat

  5. 讓我們試下創建html界面訪問吧:

    cd ..
    cd webapps/ROOT/
    vim fish.html
    

    最后我們通過網頁訪問看看:

  6. 進入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:資料結構之堆疊

下一篇:資料結構-佇列

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more