4.8-4.12課堂筆記

4.8網(wǎng)絡(luò)命令及實(shí)例項(xiàng)目

1.網(wǎng)絡(luò)中較重要的協(xié)議
1.DNS 域名解析協(xié)議
ARP 交換機(jī) 主機(jī)---MAC地址
路由器 主機(jī)---IP地址
DNS域名 域名---IP地址

  1. 47.75.85.161 IP太長(zhǎng) 起名為域名
    www.baidu.com 域名
    3.購(gòu)買(mǎi)自己的一個(gè)域名
    根域名服務(wù)器 大多在國(guó)外
    頂級(jí)域名服務(wù)器
    com cn org edu等
    公司商業(yè)組織 地區(qū)中國(guó)
    萬(wàn)網(wǎng)
    .vip
    bj_xxxxx@163.com
    阿里云為例
    A記錄 www 網(wǎng)站 www.baidu.com記錄值IP地址x.x.x.x
    DNS優(yōu)化 阿里云加速
    百度云加速 css js html 預(yù)加載到服務(wù)器上CDN加速
    2.企業(yè)真實(shí)的需求
    1.hosts文件
    2內(nèi)網(wǎng)DNS服務(wù)器
    linux服務(wù)器 NDS
    1)本地服務(wù)器解析
    2)|---->主路由-->DNS-->公網(wǎng)IP
    windows server 2008R2
    3.常見(jiàn)的網(wǎng)絡(luò)命令
    1.ping命令
    ping域名DNS問(wèn)題
    ping www.baidu.com無(wú)應(yīng)答DNS沒(méi)有配置 DNS有問(wèn)題
    ping 公網(wǎng)IP
    47.75.80.160
    ping 網(wǎng)關(guān)
    192.168.1.1
    2.iftop 監(jiān)控網(wǎng)絡(luò)流量用的
    linux服務(wù)器下用的 第三方的命令
    yum install ifop-y
    4.企業(yè)網(wǎng)絡(luò)出現(xiàn)問(wèn)題的排查流程
    第一步 檢查硬件 網(wǎng)卡網(wǎng)線(水晶線) – 路由器 交換機(jī)
    交換法
    |--->網(wǎng)線、網(wǎng)卡
    第二步 ping 網(wǎng)關(guān)(路由)
    第三步 公網(wǎng)IP
    第四步 DNS
    第五步 ping 自己服務(wù)器地址

靜態(tài)路由項(xiàng)目
1.準(zhǔn)備3臺(tái)虛擬機(jī)
第一臺(tái)一塊網(wǎng)卡 10.0.0.11
第二臺(tái)兩塊網(wǎng)卡 10.0.0.12 192.168.0.12
第三臺(tái)一塊網(wǎng)卡 192.168.0.13
主機(jī)一與主機(jī)三需要更改網(wǎng)卡配置
主機(jī)二需要添加一塊網(wǎng)卡而且第二塊網(wǎng)卡沒(méi)有設(shè)置需要復(fù)制后更改網(wǎng)卡為192.168.0.12
主機(jī)二第二塊網(wǎng)卡與主機(jī)三網(wǎng)卡設(shè)置為L(zhǎng)AN區(qū)段192.168.0.0/24
2.在第一臺(tái)主機(jī)
從主機(jī)一 10.0.0.11 --->主機(jī)二--->192.168.0.12
跨網(wǎng)段不認(rèn)識(shí)
2 .1添加一條靜態(tài)路由信息
route add -net 192.168.0.0/24 gw 10.0.0.12
route -n 查看路由表
ping 192.168.0.12
主機(jī)一10.0.0.11與主機(jī)二第二塊網(wǎng)卡192.168.0.12連通


image

在第三臺(tái)主機(jī)
從主機(jī)二10.0.0.12--->主機(jī)三--->192.168.0.13
跨網(wǎng)段不認(rèn)識(shí)
2.2添加一臺(tái)靜態(tài)路由信息
route add -net 10.0.0.0/24gw 192.168.0.12
route -n 查看路由表
ping 10.0.0.12
主機(jī)三192.168.0.13與主機(jī)二第一塊網(wǎng)卡10.0.0.12連通


image

在第二臺(tái)主機(jī)
發(fā)現(xiàn)數(shù)據(jù)包在第二臺(tái)虛擬主機(jī)被丟包
配置虛擬主機(jī)二修改內(nèi)核轉(zhuǎn)發(fā)參數(shù),強(qiáng)制開(kāi)啟
echo “net.ipv4.ip_forward=1”>>/etc/sysctl.conf
sysctl -p 使命令生效
強(qiáng)制開(kāi)啟了第二臺(tái)主機(jī)的路由轉(zhuǎn)發(fā),現(xiàn)在第三臺(tái)虛擬主機(jī)已經(jīng)可以收到虛擬主機(jī)一的數(shù)據(jù)信息。
第三臺(tái)主機(jī)就能連上第二臺(tái)主機(jī)了
image

數(shù)據(jù)雙向傳輸OK

4.9shell編程基礎(chǔ)

因?yàn)閃eb集群架構(gòu)會(huì)用到Shell編程基礎(chǔ)
1、為什么要學(xué)習(xí)Shell編程?
Linux系統(tǒng)中會(huì)大量的使用Shell,工作中我們也需要自動(dòng)化實(shí)現(xiàn)業(yè)務(wù),
例如:自動(dòng)備份、監(jiān)控、自動(dòng)安裝服務(wù)。
Shell編程是Linux運(yùn)維人員必須要會(huì)的編程語(yǔ)言。最簡(jiǎn)單的編程語(yǔ)言。
編程也是運(yùn)維人員必須具備的本領(lǐng):
Shell、Python是運(yùn)維人員必須具備的本領(lǐng)
2、什么是Shell?
Shell就是一個(gè)命令解釋器(翻譯官),命令行的命令以及腳本都會(huì)通過(guò)shell解釋?zhuān)瑐鹘o操作系統(tǒng),處理后在輸出給用戶(hù)。
[root@oldboyedu ~]# tail -1 /etc/passwd
oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash #<==創(chuàng)建用戶(hù)時(shí),系統(tǒng)指定的翻譯官。
3、Shell的分類(lèi)

  1. Bourne shellBourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again Shell(bash)三種類(lèi)型。
  2. C shell
    C shell又包括csh、tcsh兩種類(lèi)型。
    C7支持的shell:
    [root@oldboyedu ~]# cat /etc/shells
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash/bin
    /sh是bash的軟連接
    4、C7:默認(rèn)Shell
    [root@oldboyedu ~]# echo $SHELL/bin/bash
    5、什么是Shell腳本?
    程序、命令放入文件里執(zhí)行,這個(gè)文件稱(chēng)之為Shell腳本文件。
    工作中最多的編程寫(xiě)腳本,存放在文件里。
    6、Shell變量:
    a.全局變量(環(huán)境變量) 在整個(gè)系統(tǒng)中生效、一般是大寫(xiě)、系統(tǒng)中默認(rèn)就 存在一些這樣的變量,滿(mǎn)足系統(tǒng)和程序運(yùn)行的需求。
    系統(tǒng)自帶的環(huán)境變量;
    [root@oldboyedu ~]# echo $PS1
    [[\e[34;1m]\u@[\e[0m][\e[32;1m]\H[\e[0m][\e[31;1m] \w[\e[0m]]\$
    [root@oldboyedu ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    [root@oldboyedu ~]# echo $HOME
    /root
    [root@oldboyedu ~]# echo $SHELL
    /bin/bash[root@oldboyedu ~]# echo $UID
    0
    自定義環(huán)境變量:
    方法1
    export OLDBOY="I am oldboy."
    方法2:
    OLDBOY="I am oldboy."
    export OLDBOY
    [root@oldboyedu ~]# export OLDBOY="I am oldboy."
    [root@oldboyedu ~]# echo $OLDBOY
    I am oldboy.
    /etc/profile==>/.bash_profile===>/.bashrc===>/etc/bashrc
    老男孩推薦以后把環(huán)境變量放入/etc/bashrc
    [root@oldboyedu ~]# tail -1
    /etc/bashrcexport OLDBOY="I am oldboy."
    [root@oldboyedu ~]# . /etc/bashrc
    [root@oldboyedu ~]# echo $OLDBOY #<==輸出一個(gè)變量?jī)?nèi)容就加$變量名
    I am oldboy.安裝java服務(wù)的時(shí)候就會(huì)配置環(huán)境變量。
    b.局部變量(普通變量)是編寫(xiě)Shell腳本最常用的變量。
    變量名=值
    a=1
    變量名:數(shù)字、字母、下劃線,不能是數(shù)字開(kāi)頭。
    oldboy、 A123a、_abc
    = 等號(hào):賦值符,把什么東西給誰(shuí)。
    賦值符號(hào)兩邊不能有空格。
    值:東西,變量?jī)?nèi)容。
    引用內(nèi)容的符號(hào):?jiǎn)我?hào)、雙引號(hào)、反引號(hào)、不加引號(hào)
    [root@oldboyedu ~]# a=1
    [root@oldboyedu ~]# echo $a
    1
    [root@oldboyedu ~]# y=$x+1
    [root@oldboyedu ~]# echo $y
    1+1
    [root@oldboyedu ~]# y="x+1" [root@oldboyedu ~]# echo \y
    1+1
    [root@oldboyedu ~]# y='$x+1'
    [root@oldboyedu ~]# echo $y
    $x+1
    [root@oldboyedu ~]# y=\$x+1
    -bash: 1+1: command not found
    [root@oldboyedu ~]# let y="x+1" #<==讓括號(hào)的內(nèi)容進(jìn)行計(jì)算。 [root@oldboyedu ~]# echo \y2
    [root@oldboyedu ~]# a=1
    [root@oldboyedu ~]# echo ${a}b
    1b
    7、表達(dá)式
    [ 表達(dá)式 ]中括號(hào)表達(dá)式,中括號(hào)里面兩端必須要有空格。
    字符串要加雙引號(hào)
    [root@oldboyedu ~]# [ "a" = "b" ] && echo 1||echo 0
    0
    [ "a" = "b" ] && echo 1||echo 0
    如果表達(dá)式成立,打印1,否則打印0.
    [ "a" = "b" ] && echo 1 #跟屁蟲(chóng)。
    如果表達(dá)式成立,打印1
    [ "a" = "b" ] || echo 0 #杠精。
    如果表達(dá)式成立是假的,打印0
    取反:
    [ ! "a" = "b" ] && echo 1
    整數(shù)表達(dá)式:
    > -gt
    >= -ge
    < -lt
    <= -le
    = -eq
    不等于 -ne
    [root@oldboyedu ~]# a=1
    [root@oldboyedu ~]# [ $a -eq 2 ] && echo 1||echo 0
    0
    [root@oldboyedu ~]# [ $a -eq 1 ] && echo 1 || echo 0
    1
    1)整數(shù)表達(dá)式符 兩端必須要有空格
    2)中括號(hào)里面兩端必須要有空格。
    3)變量和比較的內(nèi)容,不需要加引號(hào)。
    字符表達(dá)式:
    -z 變量?jī)?nèi)容長(zhǎng)度為0時(shí),為真(表達(dá)式正確)。zero
    -n 變量?jī)?nèi)容長(zhǎng)度【不】為0時(shí),為真(表達(dá)式正確)。not zero
    a == a 字符串是否相同說(shuō)明:
    1)字符串要加雙引號(hào)
    例子:
    [root@oldboyedu ~]# oldboy="I am oldboy"
    [root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0
    0
    [root@oldboyedu ~]# oldboy=""
    [root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0
    1
    [root@oldboyedu ~]# [ -n "$oldboy" ] && echo 1 || echo 0
    0
    [root@oldboyedu ~]# [ "test" == "host" ] && echo 1 || echo 0
    0
    [root@oldboyedu ~]# [ "test" == "test" ] && echo 1 || echo 0
    1
    8.shell判斷句:
    如果...那么。
    如果[ 你是潛力股
    ]那么 就和你談朋友
    否則 拜拜
    果如
    if判斷句語(yǔ)法:
    if [ 表達(dá)式 ]
    then
    命令
    fi
    如果[ 你是潛力股 ]
    那么 就和你談朋友
    果如
    [root@oldboyedu ~]# cat test.sh
    #!/bin/bash
    a=10
    if [ $a -gt 1 ]
    then
    echo 1
    fi
    如果[ 你是潛力股 ]
    那么 就和你談朋友
    否則 拜拜
    果如
    [root@oldboyedu ~]# cat test.sh
    #!/bin/bash
    a=1
    if [ $a -gt 1 ]
    then
    echo 1
    else
    echo 0
    fi
    [root@oldboyedu ~]# cat test.sh
    #!/bin/bash
    boy="潛力股"
    if [ "$boy" == "潛力股" ]
    then
    echo "先和你談?wù)勁笥?
    else
    echo "白白"
    fi
    [root@oldboyedu ~]# sh test.sh
    先和你談?wù)勁笥?br> [root@oldboyedu ~]# cat judge_date.sh
    if [ $(date +%w) -eq 6 ]
    then
    echo "一起去旅游吧"
    else
    echo "還是好好上課吧"
    fi
    [root@oldboyedu ~]# sh judge_date.sh
    還是好好上課吧
    [root@oldboyedu ~]# date
    Tue Apr 9 11:33:13 CST 2019
    [root@oldboyedu ~]# date -s '2019/4/13'
    Sat Apr 13 00:00:00 CST 2019
    [root@oldboyedu ~]# sh judge_date.sh
    一起去旅游吧
    實(shí)現(xiàn)多條件
    [root@oldboyedu ~]# cat judge_date.sh
    if [ $(date +%w) -eq 6 ] || [ $(date +%w) -eq 0 ]
    then
    echo "一起去旅游吧"
    else
    echo "還是好好上課吧"
    fi
    read命令 交互式讀取用戶(hù)輸入
    -p "提醒:"
    -t "多長(zhǎng)時(shí)間內(nèi)等待輸入"
    [root@oldboyedu ~]# read -p "請(qǐng)輸入一句話(huà):" boy
    請(qǐng)輸入一句話(huà):潛力股
    [root@oldboyedu ~]# echo $boy
    潛力股
    相當(dāng)于boy="潛力股"
    [root@oldboyedu ~]# cat test.sh
    #!/bin/bash
    read -p "請(qǐng)輸入你喜歡的男孩的一句話(huà):" boy
    if [ "$boy" == "潛力股" ]
    then
    echo "先和你談?wù)勁笥?
    else
    echo "白白"
    fi
    [root@oldboyedu ~]# sh test.sh
    請(qǐng)輸入你喜歡的男孩的一句話(huà):我沒(méi)錢(qián)
    白白
    [root@oldboyedu ~]# sh test.sh
    請(qǐng)輸入你喜歡的男孩的一句話(huà):潛力股
    先和你談?wù)勁笥?br> [root@oldboyedu ~]# cat test.sh
    #!/bin/bashread
    -p "請(qǐng)輸入你喜歡的男孩的一句話(huà):" boy
    if [ "$boy" == "潛力股" ]
    then
    echo "先和你談?wù)勁笥?
    elif [ "$boy" == "老爸是李剛" ]
    then
    echo "直接嫁給你"
    elif [ "$boy" == "二環(huán)內(nèi)有套房" ]
    then
    echo "立馬領(lǐng)證"
    else
    echo "白白"
    fi
    特殊位置變量:
    $1 腳本文件的第一個(gè)參數(shù)賦值給$1
    $2 腳本文件的第二個(gè)參數(shù)賦值給$2
    [root@oldboyedu ~]# cat t.shecho $1 $2
    [root@oldboyedu ~]# sh t.sh oldboy oldgir
    loldboy oldgirl #<==oldboy就是$1輸出的結(jié)果,oldgirl就是$2輸出的結(jié)果。
    [root@oldboyedu ~]# cat com_num.sh
    #!/bin/sh
    #read -p "請(qǐng)輸入兩個(gè)整數(shù):" a b
    a=$1
    b=$2
    if [ $a -gt $b ]
    then
    echo "$a>$b"
    elif [ $a -eq $b ]
    then
    echo "$a=$b"
    else
    echo "$a<$b"
    fi
    [root@oldboyedu ~]# sh com_num.sh 2 3
    2<3
    [root@oldboyedu ~]# sh com_num.sh 2 2
    2=2
    [root@oldboyedu ~]# sh com_num.sh 3 2
    3>2
    9.for循環(huán)
    for n in 取值列表
    do 執(zhí)行命令
    done
    [root@oldboyedu ~]# cat for1.sh
    for n in 1 2 3 4 5
    do
    echo $n
    done
    [root@oldboyedu ~]# sh for1.sh
    1
    2
    3
    4
    5
    [root@oldboyedu ~]# sh -x for1.sh
    + for n in 1 2 3 4 5
    + echo 1
    1
    + for n in 1 2 3 4 5
    + echo 2
    2
    + for n in 1 2 3 4 5
    + echo 3
    3
    + for n in 1 2 3 4 5
    + echo 4
    4
    + for n in 1 2 3 4 5
    + echo 5
    5
    [root@oldboyedu ~]# cat for1.sh
    for n in {1..5}
    do
    echo $n
    done
    [root@oldboyedu ~]# sh for1.sh
    1
    2
    3
    4
    5
    打印254個(gè)IP 10.0.0.1---10.0.0.254
    [root@oldboyedu ~]# cat for1.sh
    for n in {1..254}
    do
    echo "10.0.0.$n"

done書(shū)寫(xiě)腳本習(xí)慣:
1.創(chuàng)建文件以.sh結(jié)尾。
2.腳本開(kāi)頭第一行 寫(xiě)#!/bin/bash ==>腳本內(nèi)容由誰(shuí)解釋。

4.10

比較:
diff vimdiff
[root@oldboyedu ~]# cp /etc/passwd{,.ori}
備份好處:
1、恢復(fù)。
2、比較、檢查。
[root@oldboyedu ~]# diff /etc/passwd{,.ori}
32c32
< #oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash


> oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash
[root@oldboyedu ~]# diff /etc/passwd /etc/passwd.ori
32c32
< #oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash


> oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash

rpm命令全稱(chēng)是Red Hat Package Manager(Red Hat包管理器),幾乎所有的Linux發(fā)行版本都使用這種形式的命令管理、安裝、更新和卸載軟件。
概括地說(shuō),rpm命令有五種基本功能(不包括創(chuàng)建rpm包):安裝、卸載、升級(jí)、查詢(xún)和驗(yàn)證。
[root@oldboyedu ~]# mount /dev/cdrom /mnt
mount: no medium found on /dev/sr0
[root@oldboyedu ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu ~]# cd /mnt/
[root@oldboyedu /mnt]# ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@oldboyedu /mnt]# cd Packages/
需要很多依賴(lài)。
[root@oldboyedu /mnt/Packages]# rpm -ivh dos2unix-6.0.3-7.el7.x86_64.rpm
Preparing... ################################# [100%]
package dos2unix-6.0.3-7.el7.x86_64 is already installed
[root@oldboyedu /mnt/Packages]# rpm -qa|grep tree
tree-1.6.0-10.el7.x86_64
[root@oldboyedu /mnt/Packages]# rpm -qa tree
tree-1.6.0-10.el7.x86_64
[root@oldboyedu ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
[root@oldboyedu ~]# rpm -qf /sbin/ifconfig
net-tools-2.0-0.24.20131004git.el7.x86_64

yum命令:
幫我們?cè)趓pm安裝時(shí)解決軟件包依賴(lài),背后還是使用rpm,不需要直接使用rpm了
讓安裝軟件更智能了。底層還是rpm在工作。
yum主要用于自動(dòng)安裝、升級(jí)rpm軟件包,它能自動(dòng)查找并解決rpm包之間的依賴(lài)關(guān)系。
[root@oldboyedu ~]# yum grouplist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
[root@oldboyedu ~]# yum groupinstall "File and Print Server"
[root@oldboyedu ~]# yum list tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
tree.x86_64 1.6.0-10.el7 @base
[root@oldboyedu ~]# yum install tree -y
根據(jù)命令或者配置等的路徑查屬于哪個(gè)包
[root@oldboyedu ~]# yum provides /etc/my.cnf
[root@oldboyedu ~]# yum provides /sbin/ifconfig

Linux系統(tǒng)如何安裝軟件?
1、rpm安裝簡(jiǎn)單
快。依賴(lài)多,解決依賴(lài)?yán)щy繁瑣。
2、yum安裝
簡(jiǎn)單快,自動(dòng)解決依賴(lài)。不能選擇軟件版本或軟件存放路徑。
3、編譯安裝(源碼編譯)
慢 復(fù)雜 需要GCC編譯器,可以自定義安裝(版本、軟件路徑)
4、將源碼制作成rpm,然后放到y(tǒng)um倉(cāng)庫(kù),實(shí)現(xiàn)yum自動(dòng)安裝。
一次性慢 復(fù)雜,安裝快,可以自定義安裝(版本、軟件路徑)制作RPM YUM倉(cāng)庫(kù)搭建

chattr命令:
[root@oldboyedu ~]# chattr +i /etc/passwd #<==鎖定文件不能刪除,不能修改[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@oldboyedu ~]# lsattr /etc/hosts
---------------- /etc/hosts
[root@oldboyedu ~]# cp /etc/passwd{,.ori}
[root@oldboyedu ~]# rm -f /etc/passwd
rm: cannot remove ‘/etc/passwd’: Operation not permitted
[root@oldboyedu ~]# echo ddd > /etc/passwd
-bash: /etc/passwd: Permission denied
[root@oldboyedu ~]# useradd littleboy
useradd: cannot open /etc/passwd
chattr -i /etc/passwd #<==解鎖文件。
給重要文件上鎖
[root@oldboyedu ~]# chattr +a oldboy.txt
[root@oldboyedu ~]# rm -f oldboy.txt
rm: cannot remove ‘oldboy.txt’: Operation not permitted
[root@oldboyedu ~]# echo dddd >>oldboy.txt
[root@oldboyedu ~]# echo dddd >>oldboy.txt

4.11

第 0 章 計(jì)算機(jī)硬件與組成基礎(chǔ)

  1. 運(yùn)維人員的三大重要職責(zé)是什么?
    企業(yè)數(shù)據(jù)不丟失服務(wù)器
    7*24小時(shí)不宕機(jī)
    用戶(hù)體驗(yàn)良好
  2. 衡量服務(wù)器尺寸的單位是什么?
    U 1U=4.45cm
  3. 互聯(lián)網(wǎng)企業(yè)常見(jiàn)的服務(wù)器品牌以及型號(hào)有哪些?
    戴爾dell 惠普HP IBM 浪潮 華為 聯(lián)想
    Dell服務(wù)器
    1U的主流型號(hào) 2U的主流型號(hào)
    1850.1950 2850.2950
    R410.R610 R710
    R420/430.R620/630 R720/R730
  4. 計(jì)算機(jī)硬件內(nèi)存的特點(diǎn)有哪些?
    讀取快
    直接與CPU相連,來(lái)滿(mǎn)足CPU高速運(yùn)算的需求
    存儲(chǔ)容量小及斷電后不保存信息
  5. 簡(jiǎn)述程序、進(jìn)程和守護(hù)進(jìn)程之間的區(qū)別?
    程序:放在硬盤(pán)中的代碼文件
    進(jìn)程:在運(yùn)行中的程序
    守護(hù)進(jìn)程:為執(zhí)行某一項(xiàng)任務(wù)而持續(xù)運(yùn)行的進(jìn)程
  6. 簡(jiǎn)述 buffer 和 cache 區(qū)別?
    寫(xiě)入緩沖區(qū)(buffer)
    讀取緩存區(qū)(cache)
  7. 什么是遠(yuǎn)程控制卡,作用是什么?
    可以遠(yuǎn)程管理服務(wù)器的工具遠(yuǎn)程管理服務(wù)器
  8. 磁盤(pán)常見(jiàn)的接口有哪幾種?
    SATA SSD SAS SCSI IDE
  9. Raid 級(jí)別中的 0 和 1 分別有什么特點(diǎn)?
    RAID 0 多塊盤(pán)合成一塊盤(pán) 容量、性能都是兩塊之和冗余為0
    RAID 1 兩塊盤(pán)合成一塊盤(pán) 容量、性能都以最小的盤(pán)為準(zhǔn)100%冗余

第1章 Linux 系統(tǒng)介紹與環(huán)境搭建準(zhǔn)備

  1. Linux 發(fā)展中三個(gè)重要人物及其貢獻(xiàn)?
    斯托曼自由軟件與GNU發(fā)起人GPL協(xié)議
    譚邦寧Minix開(kāi)發(fā)者
    linus linux之父
  2. 簡(jiǎn)述 GNU 是什么?
    GNU is Not Unix 革奴計(jì)劃 建立一個(gè)完全自由的可移植的類(lèi)Unix系統(tǒng)
  3. GPL 協(xié)議核心內(nèi)容有哪些?
    通用公共許可保證任何人有共享和修改自由軟件的自由,任何人都有權(quán)取得、修改和重新發(fā)布自由軟件的源代碼的權(quán)利,但都必須給出源代碼。
  4. 常見(jiàn)的 Linux 發(fā)行版本有哪些?
    RedHat Fedora Centos Debian Ubuntu
  5. 簡(jiǎn)述 RedHat 和 CentOS 之間的區(qū)別?
    掉RedHat的收費(fèi)組件,重新編譯添加新的logo后就是CentOSRedHat不再遵循GPL協(xié)議,成為收費(fèi)產(chǎn)品(但仍開(kāi)源)。
  6. 簡(jiǎn)述 RedHat 和 Fedora 系統(tǒng)之間的區(qū)別?
    Fedora是RedHat的一個(gè)分支RedHat有新功能、新實(shí)驗(yàn)在Fedora上試用成功才在RedHat上發(fā)布
  7. 32 位系統(tǒng)和 64 位系統(tǒng)之間的區(qū)別?
    1).設(shè)計(jì)初衷不同
    2).要求配置不同
    3).運(yùn)算速度不同
    4).尋址能力不同
    5).應(yīng)用領(lǐng)域不同
  8. 簡(jiǎn)述 Linux 系統(tǒng)有哪些優(yōu)秀的特點(diǎn)?
    是開(kāi)放源代碼的程序軟件,可自由修改。Unix系統(tǒng)兼容,具備幾乎所有Unix的優(yōu)秀特性可自由傳播,無(wú)任何商業(yè)版權(quán)制約適合Intel等x86cpu系列架構(gòu)的計(jì)算機(jī)

第2章 企業(yè)級(jí) CentOS7.6 操作系統(tǒng)安裝

  1. 請(qǐng)簡(jiǎn)述 Linux 系統(tǒng)常見(jiàn)的幾種分區(qū)及其作用?
    普通分區(qū) /boot 1024 M swap 內(nèi)存大于8G給8G小于8G給內(nèi)存的1.5倍 /給剩余所有
    存儲(chǔ)器分區(qū)/boot 1024 M swap 內(nèi)存大于8G給8G小于8G給內(nèi)存的1.5倍 /給100-200G剩余的/data
    data可以任意名字
    門(mén)戶(hù)網(wǎng)站分區(qū)/boot 1024 M swap 內(nèi)存大于8G給8G小于8G給內(nèi)存的1.5倍 /給100-200G剩余的保留
    將來(lái)誰(shuí)需要誰(shuí)就去拿
  2. 請(qǐng)描述企業(yè)中 Linux 系統(tǒng)中不同分區(qū)方式及其應(yīng)用場(chǎng)景?
  3. 簡(jiǎn)述 Vmware 虛擬機(jī)中虛擬網(wǎng)卡有哪三種連接方式?
    橋接模式
    NAT模式
    僅主機(jī)模式
  4. 簡(jiǎn)述橋接模式和 NAT 模式之間的區(qū)別?
    NAT模式相當(dāng)于主機(jī)時(shí)一個(gè)路由器虛擬機(jī)是建立在主機(jī)之上的橋接模式是建立的虛擬機(jī)和主機(jī)是同等的存在會(huì)拖慢網(wǎng)速
  5. 如何更改網(wǎng)卡默認(rèn)名稱(chēng)為 eth0 的形式?
    加載界面輸入 net.ifnames=0 biosdevname=0
    第3章 遠(yuǎn)程連接管理 Linux 實(shí)踐
  6. 常見(jiàn)的遠(yuǎn)程連接 Linux 的工具有哪些?
    xshell,secureCRT,putty,ssh
  7. 遠(yuǎn)程連接工具采用的是什么協(xié)議,默認(rèn)端口號(hào)是多少?
    SSH
    默認(rèn)22端口
  8. 簡(jiǎn)述遠(yuǎn)程連接工具連接不上虛擬機(jī)的故障排查思路?
    服務(wù)端運(yùn)行。
    客戶(hù)端ping
    客戶(hù)端檢查服務(wù) IP端口別錯(cuò),就是防火墻問(wèn)題
    xshell連接
  9. 啟動(dòng) sshd 服務(wù)的命令是什么?
    CentOS6:/etc/init.d/sshd restart
    service sshd restart
    CentOS7:systemctl restart sshd
  10. 常見(jiàn)的無(wú)法遠(yuǎn)程連接服務(wù)器的原因有哪些?
    服務(wù)端或客戶(hù)端網(wǎng)卡、IP端口,進(jìn)程啟動(dòng)不正確
    物理鏈路有問(wèn)題
    對(duì)方?jīng)]有提供服務(wù)
    防火墻未關(guān)閉
  11. 查看網(wǎng)卡 ip 的命令有哪些?
    ifconfig
    ip all
  12. 如何測(cè)試服務(wù)器能否連上互聯(lián)網(wǎng)?
    ping www.oldboyedu.com
    ping 203.81.19.1 通的 但是ping www.oldboyedu.com不通。
    如果網(wǎng)站沒(méi)問(wèn)題就是DNS問(wèn)題
    [root@oldboyedu /opt]# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 223.5.5.5
    ping 10.0.0.254 自身網(wǎng)關(guān)
  13. 什么是快照?
    相當(dāng)于一個(gè)備份 存儲(chǔ)點(diǎn)
  14. Centos7 中如何修改默認(rèn)網(wǎng)卡命名規(guī)則?
    vim /etc/sysconfig/network-scripts/ifcfg-eth0

第4章 Linux 系統(tǒng)命令行入門(mén)基礎(chǔ)

  1. 請(qǐng)描述命令行提示符的各組成部分含義?
    [root@oldboyedu /opt]#
    用戶(hù)名 分隔符 主機(jī)名 路徑 提示符
  2. 對(duì)于不會(huì)使用的命令如何查詢(xún)幫助?
    man
    --help
  3. Linux 系統(tǒng)關(guān)機(jī)命令有哪些?
    poweroff halt shutwork -h init 0
  4. Linux 系統(tǒng)重啟命令有哪些?
    reboot shutdown -r init 6
  5. Linux 系統(tǒng)普通命令和內(nèi)置命令有什么區(qū)別?
    普通文件存放在系統(tǒng)文件里內(nèi)置命令存放在bash解釋器里
  6. 請(qǐng)寫(xiě)出在 Xshell 命令行模式下你所知道的快捷鍵命令?
    Tab至少輸入兩次
    ctrl+a光標(biāo)移動(dòng)到行首的位置;
    ctrl+e光標(biāo)移動(dòng)到行尾的位置;
    Ctrl+insert 復(fù)制命令行內(nèi)容
    Shift+insert 粘貼命令行內(nèi)容
    Ctrl+c中斷正在執(zhí)行的任務(wù)
    Ctrl+d退出當(dāng)前x shell命令還可以退出x shell
    Ctrl+z暫停正在運(yùn)行的服務(wù)
    Crtl+l清屏;
    ctrl+s鎖屏;
    ctrl+q解鎖;

第5章 Linux 文件及目錄管理命令基礎(chǔ)

  1. 創(chuàng)建一個(gè)/oldboy 目錄。
    mkdir oldboy
  2. 切換目錄到/oldboy 下。
    cd oldboy
  3. 查看當(dāng)前路徑所在位置。
    pwd
  4. 在上述 oldboy 目錄下創(chuàng)建一個(gè) oldgirl.txt 文件。
    cd oldboy
    touch oldgirl.txt
  5. 通過(guò)一條命令同時(shí)創(chuàng)建 oldboy1,oldboy2 兩個(gè)目錄。
    mkdir oldboy1 oldboy2
  6. 把/oldboy/oldgirl.txt 文件復(fù)制到/opt 下。
    cp /oldboy/oldgirl.txt /opt
  7. 查看當(dāng)前/opt 目錄下有哪些文件。
    ls -l /opt
  8. 把/oldboy/oldgirl.txt 再次移動(dòng)到/opt/下并且沒(méi)有確認(rèn)提示。
    \mv /oldboy/oldgirl.txt /opt/
  9. 把/oldboy/oldgirl.txt 文件刪除并且不提示。
    \rm -f /oldboy/oldgirl.txt
  10. 把/oldboy/目錄刪除并且不提示。
    \rm -r /oldboy/

第6章 Linux 目錄文件與系統(tǒng)啟動(dòng)知識(shí)

  1. 如何在 Vmware 下的 Linux 系統(tǒng)中看到 Linux 系統(tǒng) ISO 文件鏡像中文件?
    mount /dev/cdrom /mnt
  2. 配置網(wǎng)卡信息時(shí)需要修改那個(gè)文件?
    /etc/sysconfig/network-scripts/ifcfg-eth0
  3. 請(qǐng)解釋下列目錄的作用
    根下的目錄 生產(chǎn)中常用的核心文件
    /bin 二進(jìn)制命令相關(guān)
    /etc/sysconfig/network-scripts/ifcfg-eth0 網(wǎng)卡配置文件
    /boot 系統(tǒng)內(nèi)核及引導(dǎo)程序
    /etc/resolv.conf 客戶(hù)端DNS解析
    /dev Device設(shè)備文件所在目錄
    /etc/hostname(CentOS7 特有) c7主機(jī)名配置文件
    /etc 二進(jìn)制軟件包配置文件所在路徑
    /etc/sysconfig/network(CentOS6 及以前特有) C6主機(jī)名配置文件
    /home 普通用戶(hù)的家目錄
    /etc/hosts 系統(tǒng)本地的DNS解析文件/proc 虛擬的文件系統(tǒng),存放進(jìn)程和內(nèi)核信息的目錄。
    /etc/fstab 開(kāi)機(jī)自動(dòng)掛載文件
    /root 管理的家目錄
    /etc/rc.local 開(kāi)機(jī)自啟動(dòng)文件
    /sbin 管理員命令所在目錄
    /etc/redhat-release redhat內(nèi)核版本號(hào)
    /tmp 臨時(shí)文件所在目錄
    /etc/sysctl.conf 系統(tǒng)本地的DNS解析文件
    /usr 第二層次目錄
    /etc/systemd/system(CentOS7 特有)
    /var 可變化的數(shù)據(jù)
    /usr/lib/systemd/system(CentOS7 特有)

第7章 Linux 文件過(guò)濾及內(nèi)容編輯處理

  1. vim 編輯器中的不同模式下的命令有哪些?
    普通模式:移動(dòng)光標(biāo):
    行尾 $
    行首 0
    文件尾部 G
    文件開(kāi)頭 gg
    到指定行 阿拉伯?dāng)?shù)字gg
    搜索與替換向下搜索 /3306 繼續(xù)搜 按n,反向搜N
    向上搜索 ?80 繼續(xù)搜 按n,反向搜N
    :%s###g 替換
    刪除單行 dd
    (剪切)刪除多行 ndd n
    用任意數(shù)字替換撤銷(xiāo) u
    單行復(fù)制 yy
    多行復(fù)制 nyy n用任意數(shù)字替換
    粘貼 p
    進(jìn)入編輯模式命令i
    插入A
    追加 行尾插入o
    下一行開(kāi)頭插入O
    上一行開(kāi)頭插入a
    光標(biāo)下一個(gè)字符插入
    命令行模式
    :wq 退出并保存
    :wq! 退出并強(qiáng)制保存,“!”為強(qiáng)制的意思
    :q! 強(qiáng)制退出,不保存
    :set nu 顯示行號(hào)
    :set nonu 與set nu相反,取消行號(hào)
  2. 請(qǐng)寫(xiě)出給文件增加內(nèi)容的方法(不少于三種)?
    > >> vim
  3. 怎樣實(shí)現(xiàn)在目前文件內(nèi)容的基礎(chǔ)上追加“I am oldboy”內(nèi)容到結(jié)尾?
    >>
  4. 按行插入數(shù)字序列 1-30 到文件/oldboy.txt 中?
    seq 30 >/oldboy.txt
  5. 如何只顯示上述/oldboy.txt 中 10-20 行的內(nèi)容。
    grep -A10 10 oldboy.txt
  6. 假設(shè)一個(gè)文件 test.txt 中有如下內(nèi)容:
    oldboy
    Oldgirl
    Oldboyedu
    如何實(shí)現(xiàn)只打印出帶有 Oldboyedu 的行?
    tail -1 test.txt
    8.如何將 test.txt 中所有的 old(含大寫(xiě))都替換成 young?
    grep -i "old" test.txt |sed -rn "s#old|Old#young#gp"
    9.如何實(shí)現(xiàn)無(wú)論正確輸出結(jié)果還是錯(cuò)誤報(bào)錯(cuò)都不提示統(tǒng)一追加到/tmp/error.log 文件中?
    echo "I am oldboy" >/tmp/error.log 2>/tmp/error.log

第8章 Linux 文件類(lèi)型及查找命令實(shí)踐

  1. 如何查看文件屬性?
    ls -lhi
  2. 簡(jiǎn)述 d、b、c、s、l 分別代表什么類(lèi)型文件?
    目錄 block 字符文件 套接字 軟連接
  3. 如何查看文件的類(lèi)型?
    file
  4. 如何查看一個(gè)文件的全路徑?
    whereis
  5. 當(dāng)前有一個(gè)名為‘oldboy.txt’的文件,已知它的大小為 12M,如何查找它所在的位置?
    find / -type f -name "oldboy.txt"
  6. 將查找到的 oldboy.txt 打包成tar文件并以當(dāng)前日期命名,并檢查該壓縮包中包含的內(nèi)容?
    tar zcf $(date +%F).tar.gz oldboy.txttar tf $(date +%F).tar.gz
  7. 將 oldboy.tar.gz 解壓到指定的/tmp 目錄?
    tar zxf -C oldboy.tar.gz /tmp
  8. 當(dāng)前系統(tǒng)中時(shí)間不正確,如何修改?
    date -s " 2019/4/11"

第9章 Linux 文件核心屬性知識(shí)

  1. Linux 系統(tǒng)中用戶(hù)分為哪幾類(lèi),都有作用?
    管理用戶(hù) 管理主機(jī)
    虛擬用戶(hù) 不能登錄,完成指定任務(wù)的用戶(hù)
    普通用戶(hù) 可登錄用著安全
  2. 簡(jiǎn)述 inode 和 block 的含義?
    inode 索引節(jié)點(diǎn)是文件的身份標(biāo)識(shí)
    block 塊 存放文件內(nèi)容
  3. 如何查看文件對(duì)應(yīng)的 inode?
    df -i
  4. 簡(jiǎn)述軟硬鏈接之間的區(qū)別?
    軟鏈接占用inode 可跨文件、目錄操作刪除軟連接源文件無(wú)影響,
    刪除源文件軟連接失效
    硬鏈接不占用inode可跨文件,不可跨目錄操作刪除硬鏈接源文件無(wú)影響,
    刪除源文件硬鏈接可以接著當(dāng)作源文件用
  5. 如何創(chuàng)建文件的軟連接和硬鏈接?
    軟鏈接 ln -s
    硬鏈接 ln
  6. 請(qǐng)簡(jiǎn)述 mtime,ctime,atime 分別代表什么含義?
    atime 是在讀取文件或者執(zhí)行文件時(shí)更改的
    mtime 是在寫(xiě)入文件時(shí)隨文件內(nèi)容的更改而更改的。
    ctime 是在寫(xiě)入文件、更改所有者、權(quán)限或鏈接設(shè)置時(shí)隨 Inode 的內(nèi)容更改而更改的。
  7. 企業(yè)生產(chǎn)環(huán)境中,在目錄中創(chuàng)建文件提示磁盤(pán)滿(mǎn)了,實(shí)際 df –h 查看并沒(méi)有滿(mǎn),如何解決?
    inode 被占滿(mǎn)了 小文件太多 刪除些不太重要的小文件

第10章 Linux 通配符與特殊符號(hào)知識(shí)應(yīng)用實(shí)踐

  1. 解釋以下通配符的作用 符號(hào)名稱(chēng) 作用
    * 匹配所有
    {} 生成序列
    ? 匹配單個(gè)字符
    [a-z] 匹配任意一個(gè)字符
    [!a-z] 不匹配任意一個(gè)字符
    $ 普通用戶(hù)提示符
    ! 取反
    && 和 交集
    || 或 并集
  2. 簡(jiǎn)述單引號(hào),雙引號(hào)和反引號(hào)之間的區(qū)別和作用?
    '' 單引號(hào) 所見(jiàn)即所得
    "" 雙引號(hào) 引用字符串 解析變量、命令,推薦使用
    ``反引號(hào) 引用命令,解析命令

第11章 Linux 正則表達(dá)式與三劍客知識(shí)應(yīng)用實(shí)踐

  1. 簡(jiǎn)述 Linux 正則表達(dá)式和 Linux 命令行(Bash)通配符之間的區(qū)別?
    在文本過(guò)濾工具里,都是用正則表達(dá)式,比如像awk,sed,等,
    正則表達(dá)式是針對(duì)文件的內(nèi)容的而通配符多用在文件名上,比如查找find,ls,cp,等等
  2. 已知 oldgirl.txt 內(nèi)容下:
    [root@oldboyedu ~/test]# cat oldgirl.txt
    I am oldboy teacher!
    I like badminton ball ,billiard ball and chinese chess!
    our site is http://www.oldboyedu.commy qq num is 49000448.
    請(qǐng)完成如下作答(請(qǐng)盡量思考多種方法)
    問(wèn)題 1:輸出 oldboy.txt 的第 2-3 行內(nèi)容?
    sed -n '2,3p' oldboy.txt
    問(wèn)題 2:過(guò)濾出含有 oldboy 字符串的行。
    grep 'oldboy' oldboy.txt
    問(wèn)題 3:刪除含有 oldboy 字符串的行。
    grep -v 'oldboy' oldboy.txt
    問(wèn)題 4:將文件中的 oldboy 字符串全部替換為 oldgirl。
    sed -n 's#oldboy#oldgirl#gp' oldboy.txt
    問(wèn)題 5:將文件中的 oldboy 字符串全部替換為 oldgirl,同時(shí)將 QQ 號(hào)碼 49000448 改為 31333741。
    sed -e 's#oldboy#oldgirl#g' -e 's#49000448#31333741#g' oldboy.txt
    問(wèn)題 6:在 oldboy.txt 文件的第 2 行后追加文本。
    sed "2a 追加文本" oldboy.txt
    問(wèn)題 7:在 oldboy.txt 文件的第 2 行插入文本。
    sed "2i 插入文本" oldboy.txt
    問(wèn)題 8:取文件的第一列和最后一列內(nèi)容,并打印行號(hào)。
    awk '{print NR,$1,$NF}' oldgirl.txt
    問(wèn)題 9:過(guò)濾文件中第一列內(nèi)容,匹配oldboy 的字符串,把符合的行的最后一列輸出。
    grep "oldboy" oldgirl.txt |awk '{print $NF}'
    3.取出 Linux 中執(zhí)行 ifconfig eth0 后對(duì)應(yīng)的 IP 地址(只能輸出 IP 地址)。
    ifconfig eth0|awk -F "[ ]+" 'NR==2{print $3}'

第12章 Linux 系統(tǒng)權(quán)限知識(shí)及應(yīng)用實(shí)踐

  1. 簡(jiǎn)述 Linux 系統(tǒng)權(quán)限的 rwx-字符對(duì)應(yīng)的含義?
    r 可讀
    w 可寫(xiě)
    x 可執(zhí)行
    - 無(wú)權(quán)限
  2. 什么是文件所屬主和所屬組?
    屬主 屬于管理員用戶(hù)
    屬組 屬于哪個(gè)用戶(hù)組
  3. 將以下權(quán)限翻譯為 8 進(jìn)制數(shù)字
    rwxrw-r-- 764
    rw------- 600
    rwxr-xr-x 755
    rw-r--r-- 644
  4. 如何修改 oldboy 文件所屬用戶(hù)為 sa?
    chown -R sa. oldboy
  5. 如何修改文件的權(quán)限為 rw-r-xr-x?
    chmod u=rw-,g=r-x,o=r-x
  6. 什么是 umask?作用是什么?
    默認(rèn)缺省權(quán)限 022 默認(rèn)最大權(quán)限去減的
  7. 如何鎖定一個(gè)文件禁止其被刪除和被修改?
    chattr 設(shè)置文件屬性
    +i 鎖定文件不能刪除,不能修改
    -i 解鎖
    +a 只能追加不能刪除
    -a 解鎖
  8. 簡(jiǎn)述 suid 和 sticky 分別代表什么含義,有什么功能?
    suid(setuid)位通過(guò)s字符標(biāo)識(shí)基本權(quán)限x位為執(zhí)行某一個(gè)任務(wù)給普通用戶(hù)以root用戶(hù)的權(quán)限
    sticky(粘滯位)

第13章 Linux 系統(tǒng)定時(shí)任務(wù) Crond 服務(wù)應(yīng)用實(shí)踐

  1. 什么是定時(shí)任務(wù)及其企業(yè)應(yīng)用場(chǎng)景?
    周期性的執(zhí)行任務(wù)計(jì)劃的軟件,Linux定時(shí)任務(wù)的常用軟件crond 生產(chǎn)頻率要求高的
  2. 編寫(xiě)定時(shí)任務(wù)的格式是什么樣的?
    * * * * * /bin/sh (command to be executed)
    分 時(shí) 日 月 周 命令路徑 文件
  3. 每天中午十二點(diǎn)到一點(diǎn)每隔 5 分鐘讓系統(tǒng)提醒我該吃午飯了如何編寫(xiě)?
    5 12-13 * * * /bin/sh 該吃飯了
  4. 當(dāng)我們編寫(xiě)了定時(shí)任務(wù)后總提示我們收到郵件,這是什么原因?該如何解決?
    定時(shí)任務(wù)沒(méi)有追加到&>/dev/null
  5. 要每天凌晨 5 點(diǎn)執(zhí)行一個(gè)重啟 tomcat 服務(wù)腳本 tomcat.sh 該如何編寫(xiě)定時(shí)任務(wù),應(yīng)該注意哪些?
    00 5 * * * /bin/sh tomcat.sh
    命令應(yīng)接全路徑
  6. 企業(yè)生產(chǎn)環(huán)境中,在目錄中創(chuàng)建文件提示“no space left on device”,實(shí)際 df –h 查看并沒(méi)有滿(mǎn), 原因可能是由哪些服務(wù)導(dǎo)致的?如何解決?
    inode 被占滿(mǎn)了 小文件太多 刪除些不太重要的小文件
  7. 定時(shí)任務(wù)書(shū)寫(xiě) 12 個(gè)要領(lǐng)。
    要領(lǐng)1:為定時(shí)任務(wù)規(guī)則加必要的注釋
    要領(lǐng)2:所有的定時(shí)任務(wù)盡量都以腳本的形式執(zhí)行
    要領(lǐng)3:在執(zhí)行的Shell腳本前加上/bin/sh
    要領(lǐng)4:定時(shí)任務(wù)中命令或腳本的結(jié)尾加>/dev/null 2>&1
    要領(lǐng)5:在指定用戶(hù)下執(zhí)行相關(guān)定時(shí)任務(wù)
    要領(lǐng)6:生產(chǎn)任務(wù)計(jì)劃程序中不要隨意打印輸出信息,有輸出的想法去掉。
    要領(lǐng)7:定時(shí)任務(wù)執(zhí)行的腳本要存放到規(guī)范路徑下
    要領(lǐng)8:配置定時(shí)任務(wù)要規(guī)范操作過(guò)程,減少出錯(cuò)
    要領(lǐng)9:定時(shí)任務(wù)腳本中程序命令及路徑盡量用全路徑
    要領(lǐng)10:時(shí)間變量%號(hào)要用反斜線轉(zhuǎn)義(只有定時(shí)任務(wù)里是命令時(shí)需要)
    要領(lǐng)11:若腳本中調(diào)用了系統(tǒng)環(huán)境變量,要重新定義
    要領(lǐng)12:出錯(cuò)或無(wú)法執(zhí)行,就檢查/var/log/cron日志

第14章 Linux 用戶(hù)管理知識(shí)與應(yīng)用實(shí)踐

  1. 簡(jiǎn)述用戶(hù)和組的概念,以及什么是 UID 和 GID?
    UID用戶(hù)的唯一身份標(biāo)識(shí)
    GID用戶(hù)組的唯一標(biāo)識(shí)
  2. 常見(jiàn)的 Linux 系統(tǒng)命令行解釋器有哪些?
    bash profile
  3. 保存用戶(hù)信息的配置文件是哪一個(gè)?
    /etc/passwd
  4. 保存用戶(hù)密碼信息的文件是哪一個(gè)?
    /etc/shadow
  5. 當(dāng)出現(xiàn)命令行樣式為-bash-4.2$情況下如何排查解決?
    cp /etc/skel/.bash* .source ./.bash_profile ./.bashrc
  6. 當(dāng)前要?jiǎng)?chuàng)建一個(gè)名為 oldboy 的虛擬用戶(hù),不創(chuàng)建家目錄,如何實(shí)現(xiàn)?
    useradd -M -c "oldboy"
  7. 分別闡述 su、sudo、visudo 命令的作用和區(qū)別?
    su 切換用戶(hù)
    sudo 提權(quán)
    visudo 編輯sudo
  8. 添加一個(gè)用戶(hù)希望這個(gè)用戶(hù)只能添加和刪除用戶(hù)權(quán)限,改如何實(shí)現(xiàn)?
    visudo 100g
    oldboy ALL=(ALL) /usr/bin/useradd;/usr/bin/userdel

4.12

1、什么是集群?
簡(jiǎn)單地說(shuō),集群就是一堆機(jī)器做同一件事,
例如:www.jd.com提供賣(mài)東西服務(wù)這就是一件事,可能是幾千臺(tái)服務(wù)器,在背后運(yùn)轉(zhuǎn)支撐這個(gè)網(wǎng)站。
www.baidu.com看著就是一個(gè)搜索框,背后可能是上萬(wàn)臺(tái)服務(wù)器。
2、為什么企業(yè)要用集群?
a.724服務(wù),需要多臺(tái)機(jī)器同時(shí)工作,互為實(shí)時(shí)備份。
b.高并發(fā)訪問(wèn),需要多臺(tái)服務(wù)器同時(shí)提供服務(wù)。
3.集群特點(diǎn)
a.數(shù)據(jù)量大、用戶(hù)多
b.7
24持續(xù)服務(wù)
c.高并發(fā)
d.用戶(hù)分布廣泛,網(wǎng)絡(luò)情況復(fù)雜
4.形象描述集群

image

基礎(chǔ)優(yōu)化:
1、規(guī)范目錄
mkdir -p /server/tools
mkdir -p /server/scripts
2、配置所有主機(jī)域名解析
cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
EOF
[root@oldboyedu ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
[root@oldboyedu ~]# ping lb01
PING lb01 (172.16.1.5) 56(84) bytes of data.
3.基礎(chǔ)優(yōu)化操作項(xiàng):更新yum源信息
第一個(gè):就近使用yum源地址,安裝軟件更快。
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
第二個(gè):安裝RHEL/CentOS官方源不提供的軟件包
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4、安全優(yōu)化
#1、關(guān)閉selinux
sed -i 's#SELINUX=.#SELINUX=disabled#g' /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
# 2、關(guān)閉firewalld防火墻服務(wù)
systemctl stop firewalld
systemctl disable firewalld
5.基礎(chǔ)優(yōu)化操作項(xiàng):設(shè)置普通用戶(hù)提權(quán)操作(可選優(yōu)化)
# 提權(quán)oldboy可以利用sudo
useradd oldboy
echo 123456|passwd --stdin oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
6.設(shè)置系統(tǒng)中文UTF8字符集
[root@oldboyedu ~]# cat /etc/locale.conf
LANG="en_US.UTF-8"
修改命令如下:
cp /etc/locale.conf /etc/locale.conf.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/locale.conf
source /etc/locale.conf
echo $LANG
cp /etc/locale.conf /etc/locale.conf.ori
localectl set-locale LANG="zh_CN.UTF-8"
cat /etc/locale.conf
7.基礎(chǔ)優(yōu)化操作項(xiàng):時(shí)間同步設(shè)置
# 設(shè)置系統(tǒng)時(shí)間同步
yum install ntpdate -y
/usr/sbin/ntpdate ntp3.aliyun.com
echo '#crond-id-001:time sync by oldboy' >>/var/spool/cron/root
echo "
/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1">>/var/spool/cron/root
crontab -l
8.基礎(chǔ)優(yōu)化操作項(xiàng):提升命令行操作安全性(可選優(yōu)化)
# 提升命令行安全(可選配置)
echo 'export TMOUT=300' >>/etc/profile
echo 'export HISTSIZE=5' >>/etc/profile
echo 'export HISTFILESIZE=5' >>/etc/profile
tail -3 /etc/profile
. /etc/profile
9.基礎(chǔ)優(yōu)化操作項(xiàng):加大文件描述符
# 實(shí)例演示:加大文件描述
echo '* - nofile 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn 65535
ulimit -n #<==命令方式查看配置結(jié)果
10.基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化系統(tǒng)內(nèi)核
cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下參數(shù)是對(duì)iptables防火墻的優(yōu)化,防火墻不開(kāi)會(huì)提示,可以忽略不理。
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF
sysctl -p
11.基礎(chǔ)優(yōu)化操作項(xiàng):安裝系統(tǒng)常用軟件
CentOS6和CentOS7都要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
CentOS7要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包
c
12.基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化SSH遠(yuǎn)程連接效率
禁止root遠(yuǎn)程連接
修改默認(rèn)22端口,改為52113
監(jiān)聽(tīng)內(nèi)網(wǎng)服務(wù)器IP
練習(xí)不動(dòng)。
13.擴(kuò)展優(yōu)化操作項(xiàng)-修改yum.conf文件配置信息
保留yum安裝的軟件包
將/etc/yum.conf中的keepcache=0改為keepcache=1,為日后一鍵安裝網(wǎng)站集群留好rpm及依賴(lài)工具包。

  1. 鎖定關(guān)鍵系統(tǒng)文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,
    處理以上內(nèi)容后把chattr、lsattr改名為oldboy,轉(zhuǎn)移走,這樣就安全多了。
  2. 清空/etc/issue、/etc/issue.net,去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示。
  3. 清除多余的系統(tǒng)虛擬用戶(hù)賬號(hào)。
  4. 為grub引導(dǎo)菜單加密碼(自學(xué))。
  5. 禁止主機(jī)被ping(內(nèi)核參數(shù))。
  6. 打補(bǔ)丁并升級(jí)有已知漏洞的軟件。
    yum update
    20.精簡(jiǎn)開(kāi)機(jī)自啟動(dòng)服務(wù)
    systemctl list-unit-files |grep enable|egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk '{print "systemctl disable",$1}'|bash
    systemctl list-unit-files |grep enable
    保留服務(wù):
    sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance

企業(yè)生產(chǎn)最小化原則:
1、安裝軟件包最小化。
2、用戶(hù)權(quán)限最小化。
3、目錄文件權(quán)限最小化。
4、自啟動(dòng)服務(wù)最小化。
5、服務(wù)運(yùn)行用戶(hù)最小化。
[root@oldboyedu ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7072/sshd
tcp6 0 0 :::22 :::* LISTEN 7072/sshd
克隆三臺(tái):
B1-web服務(wù)器1 10.0.0.7/24 172.16.1.7/16 web01
C1-NFS存儲(chǔ)服務(wù)器 10.0.0.31/24 172.16.1.31/16 nfs01
C2-rsync備份服務(wù)器 10.0.0.41/24 172.16.1.41/16 backup

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Shell編程基礎(chǔ) 1、為什么要學(xué)習(xí)Shell編程? Shell編程是Linux運(yùn)維人員必須要會(huì)的編程語(yǔ)言。最簡(jiǎn)單...
    高博666閱讀 628評(píng)論 0 0
  • 老男孩Linux運(yùn)維58期課堂筆記 ...
    樂(lè)園_YD閱讀 203評(píng)論 0 0
  • 作者:馬帥琦 歸檔:day28 時(shí)間:2019/4/9 Shell編程3小時(shí)光速入門(mén) 因?yàn)閃eb集群架構(gòu)會(huì)用到Sh...
    馬帥琦閱讀 379評(píng)論 0 0
  • 1、selinux是什么? 安全規(guī)則,讓Linux系統(tǒng)更安全的一套規(guī)則。 這個(gè)規(guī)則太嚴(yán)格了,一般的情況下都會(huì)關(guān)閉s...
    張?chǎng)螡蒧2109閱讀 157評(píng)論 0 0
  • ——萍子 武漢到宜昌的動(dòng)車(chē)上 散發(fā)著過(guò)年的煙火味 行李箱 背包 手提袋 都走上了歸家的旅程 抱著的孩子 牽著...
    萍子星空閱讀 145評(píng)論 2 1