Linux應知應會(三)

6、rpm工具使用

6.1 概述

RPM(RedHat Package Manager),紅帽子軟件包管理工具,相似windows裏面的setup.exe,是Linux系列操做系統裏面的打包安裝工具,它雖然是Redhat的標誌,但理念是通用的。html

RPM包的名稱格式:Apache-1.3.23-11.i386.rpm前端

  • 「Apache」:軟件名稱
  • 「1.3.23-11」:軟件的版本號,主版本和此版本
  • 「i386」:是軟件運行的硬件平臺
  • 「rpm」:文件擴展名,表明rpm包

6.2 經常使用命令

6.2.1 查詢

基本語法

rpm -qa  :查詢所安裝的全部rpm軟件包node

rpm -qa | grep rpm軟件包  :過濾軟件包shell

 

 

 6.2.2 卸載

基本語法

rpm -e rpm軟件包編程

rpm -e --nodeps 軟件包 :--nodeps若是該rpm包的安裝依賴其餘包,即便其餘包沒有也能夠強行卸載。windows

 

 

 6.2.3 安裝

基本語法

rpm -ivh rpm包全名centos

  • -i :install,安裝
  • -v :verbose,顯示詳細信息
  • -h :hash,進度條
  • --nodeps :不檢測依賴進度

 

 

 7、shell編程

7.1 概述

shell是一個命令行解釋器,它爲用戶提供了一個向Linux內核發送請求以便運行程序的界面系統級程序,用戶能夠用shell來啓動、掛起、中止甚至是編寫一些程序。bash

Shell仍是一個功能很是強大的編程語言,易測試、易調試、靈活性強。Shell是解釋執行的腳本語言,在shell中能夠調用Linux系統命令。服務器

 

 

 7.2 shell腳本的執行方式

  1. echo輸出命令

基本語法

echo 【選項】【輸出內容】網絡

選項:-e :支持反斜線控制的字符轉換

控制字符 做用
\\ 輸出\自己
\a 輸出警告音
\b 退格鍵,也就是向左刪除鍵
\c 取消輸出行末的換行符,和「-n」選項一致
\e ESCAPE鍵
\f 換頁符
\n 換行符
\r 回車鍵
\t 製表符,也就是TAB鍵
\v 垂直製表符
\0nnn 按照八進制ASCII碼錶輸出字符。其中0爲數字0,nnn是三位八進制數
\xhh 按照十六進制ASCII碼錶輸出字符,其中hh是兩位十六進制數

 

    2. 第一個shell腳本

  (1)需求:建立一個shell腳本,輸出hello world

  (2)實操:

 

 在helloworld.sh中輸入以下內容:

 

   (3)腳本的經常使用執行方式

  • 第一種:輸入腳本的絕對路徑或相對路徑

  ①首先要賦予helloworld.sh腳本的+x權限

 

   ②執行腳本

 

  • 第二種:bash或sh+腳本(不用賦予+x權限)

 

 7.3 shell中的變量

(1)Linux Shell中的變量分爲「系統變量」和「用戶自定義變量」,能夠經過set命令查看系統變量

(2)系統變量:$HOME、$PWD、$SHELL、$USER等等

(3)顯示當前shell中全部變量:set

7.3.1 定義變量

基本語法

變量=值

變量定義規則

  • 變量名稱能夠由字母、數字和下劃線組成,可是不能以數字開頭
  • 等號兩側不能有空格
  • 變量名稱通常習慣爲大寫
  • 雙引號和單引號有區別,雙引號僅將空格脫意,單引號會將全部特殊字符脫意

7.3.2 將命令的返回值賦給變量

A='ls -la'反引號,運行裏面的命令,並把結果返回給變量A

A=$(ls -la)等價於反引號

7.3.3 設置環境變量

基本語法

  • export 變量名=變量值  :設置環境變量的值
  • echo $變量名  :查詢環境變量的值
  • source 配置文件  :讓修改後的配置信息當即生效

7.3.4 位置參數變量

基本語法

  • $n  :n爲數字,$0表明命令自己,$1-$9表明第一到第九個參數,10以上的參數須要用大括號包含,如${10}
  • $*  :這個變量表明命令行中全部的參數,$*把全部的參數當作一個總體
  • $@  :這個變量也表明命令行中全部的參數,可是$@吧每一個參數區分對待
  • $#  :這個變量表明命令行中全部參數的個數

7.3.5 預約義變量

基本語法

  • $?  :最後一次執行的命令的返回狀態。若是這個變量的值爲0,證實上一個命令正確執行,若是這個變量的值不爲0,則證實上一個命令執行不正確了。
  • $$  :當前進程的進程號PID
  • $!  :後臺運行的最後一個進程的進程號PID

7.4 運算符

基本語法

  • 「$((運算式))」或「$[運算式]
  • expr m + n」 ,注意expr運算符之間要有空格

7.5 條件判斷

7.5.1 判斷語句

基本語法

【 condition 】:注意condition先後要有空格,非空返回true,可以使用$?驗證(0爲true,>1爲false)

7.5.2 經常使用判斷條件

(1)兩個整數之間比較

= -lt -le -eq -gt -ge -ne
字符串比較 小於 小於等於 等於 大於 大於等於 不等於

(2)按照文件權限進行判斷

-r -w -x
有讀的權限 有寫的權限 有執行的權限

(3)按文件類型進行判斷

-f -e -d
文件存在而且是一個常規文件 文件存在 文件存在且是一個目錄

7.6 流程判斷

7.6.1 if判斷

基本語法

if [ 條件判斷式 ];then

  程序

fi

或者

if [ 條件判斷式 ]

  then

    程序

fi

注意:[ 條件判斷式 ],中括號和條件判斷式之間必須有空格

7.6.2 case語句

基本語法

case $變量名 in

「值1」)

  若是變量的值等於值1,則執行程序1

  ;;

「值2」)

  若是變量的值等於值2,則執行程序2

  ;;

……省略其餘分支……

*)

  若是變量的值都不是以上的值,則執行此程序

  ;;

esac

 

 7.6.3 for循環

基本語法

(1)for 變量 in 值1 值2 值3 ...

  do

    程序

  done

 

 

 

 

 (2)for((初始值;循環控制條件;變量變化))

  do

    程序

  done

  

7.6.4 while循環

基本語法

while [ 條件判斷式 ]

  do

    程序

  done

 

 

 

 

 7.7 read讀取控制檯輸入

基本語法

read 【選項】【參數】

選項:

  • -p  :指定讀取值時的提示符
  • -t  :指定讀取值時等待的時間(秒)

參數:變量:指定讀取值的變量名

 

 

 7.8 函數

7.8.1 系統函數

basename基本語法

basename [pathname] [suffix]

basename [string] [suffix]:basename命令會刪除掉全部的前綴包括最後一個「/」字符,而後將字符串顯示出來。

選項:suffix爲後綴,若是suffix被指定了,basename會將pathname或string中的suffix去掉。

dirname基本語法

dirname 【文件絕對路徑】:從給定的包含絕對路徑的文件名中去除文件名(非目錄的部分),而後返回剩下的路徑(目錄的部分)。

 

 

 7.8.2 自定義函數

基本語法

[ function ] funname[()]
{
    Action;
    [return int;]
}

function start() / function start / start()

注意:(1)必須在調用函數地方以前,先聲明函數,shell腳本是逐行運行。不會像其餘語言同樣先編譯。

      (2)函數返回值,只能經過$?系統變量得到,能夠顯示加:return返回,若是不加,將以最後一條命令運行結果做爲返回值。return後跟數值n(0-255)。

打印出比你小的全部數(單參)

#!/bin/bash
function LoopPrint()
{
    count=0;
    while [ $count -lt $1 ]
    do
        echo $count;
        expr ++count;
        sleep 1;
    done
    return 0;
}
read -p "please input the number:" n;
LoopPrint $n;

多參

#!/bin/bash
function LoopPrint()
{
    echo $2
    count=0;
    while [ $count -lt $1 ];
    do
        echo $count;
        expr ++count;
        sleep 1;
    done
    return 0;
}
read -p "please input the num1:" n;
read -p "please input the num2:" m;
LoopPrint $n $m;

8、yum倉庫配置

8.1 概述

YUM(Yellow dog Updater,Modified)是一個在Fedora和Redhat以及CentOS中的shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的安裝包,無需繁瑣的一次次下載、安裝。

8.2 yum經常使用命令

基本語法

yum install -y httpd 安裝httpd並確認安裝
yum list 列出全部可用的package和package組

yum clean all

清除全部緩衝數據
yum deplist httpd 列出一個包全部依賴的包
yum remove httpd 刪除httpd

8.3 關聯網絡yum源

(1)前期文件準備

  • 前提條件Linux系統必須能夠聯網
  • 在Linux環境中訪問
    http://mirrors.163.com/.help/centos.html
    

    在使用說明中點擊CentOS8在點擊保存

  • 查看文件保存的位置

(2)替換本地yum文件

  把下載的文件移動到/etc/yum.repos.d/目錄

mv CentOS8-Base-163.repo /etc/yum.repos.d

  進入到/etc/yum.repos.d/目錄,用CentOS8-Base-163.repo替換CentOS-Base.rep

mv CentOS8-Base-163.repo CentOS-Base.rep

(3)安裝命令

yum clean all
yum makecache

 

 

============================================================================================================

2020-07-16

23:34:58

相關文章
相關標籤/搜索