RPM(RedHat Package Manager),紅帽子軟件包管理工具,相似windows裏面的setup.exe,是Linux系列操做系統裏面的打包安裝工具,它雖然是Redhat的標誌,但理念是通用的。html
RPM包的名稱格式:Apache-1.3.23-11.i386.rpm前端
rpm -qa :查詢所安裝的全部rpm軟件包node
rpm -qa | grep rpm軟件包 :過濾軟件包shell
rpm -e rpm軟件包編程
rpm -e --nodeps 軟件包 :--nodeps若是該rpm包的安裝依賴其餘包,即便其餘包沒有也能夠強行卸載。windows
rpm -ivh rpm包全名centos
shell是一個命令行解釋器,它爲用戶提供了一個向Linux內核發送請求以便運行程序的界面系統級程序,用戶能夠用shell來啓動、掛起、中止甚至是編寫一些程序。bash
Shell仍是一個功能很是強大的編程語言,易測試、易調試、靈活性強。Shell是解釋執行的腳本語言,在shell中能夠調用Linux系統命令。服務器
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權限
②執行腳本
(1)Linux Shell中的變量分爲「系統變量」和「用戶自定義變量」,能夠經過set命令查看系統變量
(2)系統變量:$HOME、$PWD、$SHELL、$USER等等
(3)顯示當前shell中全部變量:set
變量=值
A='ls -la'反引號,運行裏面的命令,並把結果返回給變量A
A=$(ls -la)等價於反引號
【 condition 】:注意condition先後要有空格,非空返回true,可以使用$?驗證(0爲true,>1爲false)
(1)兩個整數之間比較
= | -lt | -le | -eq | -gt | -ge | -ne |
字符串比較 | 小於 | 小於等於 | 等於 | 大於 | 大於等於 | 不等於 |
(2)按照文件權限進行判斷
-r | -w | -x |
有讀的權限 | 有寫的權限 | 有執行的權限 |
(3)按文件類型進行判斷
-f | -e | -d |
文件存在而且是一個常規文件 | 文件存在 | 文件存在且是一個目錄 |
if [ 條件判斷式 ];then
程序
fi
或者
if [ 條件判斷式 ]
then
程序
fi
注意:[ 條件判斷式 ],中括號和條件判斷式之間必須有空格
case $變量名 in
「值1」)
若是變量的值等於值1,則執行程序1
;;
「值2」)
若是變量的值等於值2,則執行程序2
;;
……省略其餘分支……
*)
若是變量的值都不是以上的值,則執行此程序
;;
esac
(1)for 變量 in 值1 值2 值3 ...
do
程序
done
(2)for((初始值;循環控制條件;變量變化))
do
程序
done
while [ 條件判斷式 ]
do
程序
done
read 【選項】【參數】
選項:
參數:變量:指定讀取值的變量名
basename [pathname] [suffix]
basename [string] [suffix]:basename命令會刪除掉全部的前綴包括最後一個「/」字符,而後將字符串顯示出來。
選項:suffix爲後綴,若是suffix被指定了,basename會將pathname或string中的suffix去掉。
dirname 【文件絕對路徑】:從給定的包含絕對路徑的文件名中去除文件名(非目錄的部分),而後返回剩下的路徑(目錄的部分)。
[ 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;
YUM(Yellow dog Updater,Modified)是一個在Fedora和Redhat以及CentOS中的shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的安裝包,無需繁瑣的一次次下載、安裝。
yum install -y httpd | 安裝httpd並確認安裝 |
yum list | 列出全部可用的package和package組 |
yum clean all |
清除全部緩衝數據 |
yum deplist httpd | 列出一個包全部依賴的包 |
yum remove httpd | 刪除httpd |
(1)前期文件準備
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