1. 程式人生 > >Linux 第四天 vim shell

Linux 第四天 vim shell

mas sed .sh all onf rest stat 每天 base

案例一:配置主機名稱:
Vim /etc/hostname

部署網卡配置:
Rhel 5/6 網卡配置文前綴eth0 eth1
RHEL 7 ifcfg-ens1

設備類型:TYPE=Ethernet
地址分配模式:BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33
UUID=86af6122-7cab-42c5-a04c-7a625a39052c
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.0.240
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS=114.114.114.114
DNS1=202.96.134.133

重啟 systemctl restart network --- /etc/init.d/network

Yum 倉庫的配置:
使用yum倉庫配置前提----必須掛載 、具備本地yum倉庫文件
Yum 倉庫

Vim /etc/yum.repos.d/y.repo
[y]
name=y user to use local yum

baseurl=file://mnt
Enabled=1 //1為可用 0 為禁用
gpgcheck=1
gpgkey=file://mnt/RPM-GPG-KEY-redhet-release 驗證公鑰

yum clean all 清空、刷新緩存
yum makecache 為當前提供的源提供緩存

二、shell 編寫腳本
默認版本---bash 版本----所有Linux下都通用的
默認編寫 shell 腳本規範:
腳本命名:以數字 、字母、下劃線開頭允許,一般以腳本用處為命名
腳本內容:第一行 指定shell 解釋器版本-----#!/bin/bash
第二行----第四行 :開發時間、管理員郵箱、腳本用途(詳細)

shell 命令工作模式兩種的:交互模式
批處理模式
Auto_exec.sh
#!/bin/bash
#2018/11/19
#[email protected]
br/>交互模式
批處理模式
Auto_exec.sh
#!/bin/bash
#2018/11/19
#[email protected]
ls -l
執行腳本 三種模式
1.bash /sh命令 執行---第一行使用強調無用的
2.賦予文件執行權限 +x

  1. 將腳本放到PATH路徑下 (完全不建議的)

    chmod +x auto_exec.sh 添加執行權限

$0----當前shell腳本名稱
$#-----對應總共多少參數
$n-----除去0處的正整數 第N個參數
$?-------表示第一次執行結果0 正確 其它數字 錯誤 echo $?
$*-------表示每個參數是什麽
“ ”----變量具備原有屬性
‘ ’---將變量轉義為純字符串

判斷用戶的參數:
兩種判斷方式:
test 表達式
[表達式 ]------使用[]兩邊必須具備空格的!!!
文件測試:是否存在、文件類型:
-d 目錄為,則為真
-f 為常規文件 則為真
-l 為符號鏈接,則為真
-r 可讀,則為真
-w 可寫,則為真
-x 可執行,則為真
-s 文件名長度不為0 ,則為真
-h 文件是軟鏈接,則為真
-e 存在,則為真
-z 判斷字符串內容是否為空
邏輯測試:與,或,非
與&&
或||
非!
整數值比較:
不能使用+-/*
-eq等於
-gt大於
-ne不等於
-ge大於等於
-lt小於
-le 小於等於

[root@localhost ~]# free -m | grep Mem
Mem: 1823 152 1229 8 441 1426

字符串

!=
-z 判斷內容是否為空
Shell編程的流控語句:
if條件測試語句

For 條件循環語句

While 條件循環語句

Find gred sed awk

[root@localhost ~]# [ -d allen ]
[root@localhost ~]# echo $?
1
[root@localhost ~]#

Case 條件測試語句 ----以語言switch 語句,比if 判斷更加精準

計劃任務:
一次性:今晚11:00 啟動web
at 22:00
at>systemctl restart httpd
at>ls
at><EOT>
at -l 查看命令
刪除 atrm (數字)
周期性: 每天晚上10:00 重啟動web
crond
crontab -e -l -r -u
分 時 日 月 星 命令格式
命令格式盡量使用絕對路徑 (從/開始 ) which cp /usr/bin/cp
0 7 都表示周末
日期和星期無法同時使用
案例:例如每周1\3\5 

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
技術分享圖片

Linux 第四天 vim shell