12.28 第三關練習題(下)

12.28        node

第三關練習題()linux

內容:shell

1.  默認awk不認識{} 加上--re-interval選項數據庫

2.  grep  -i   忽略大小寫vim

3.  經常使用的DNS服務器c#

4.  企業案例:企業網站中病毒從發現到解決過程(6個步驟)bash

第1章 找出網卡配置文件中IPADDR的行

方法一:服務器

[root@oldboy oldboy]# egrep '^IP.*[0-9]{2,}' /etc/sysconfig/network-scripts/ifcfg-eth0 -o網絡

IPADDR=10.0.0.201運維

方法二:

[root@oldboy oldboy]# awk  --re-interval '/^IP.*[0-9]{2,}/' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

默認awk不認識{} 加上--re-interval選項

方法三  :awk 也能夠過濾文件內容 搭配’//’

[root@oldboy oldboy]# awk --re-interval '/([0-9]+\.+){3}[0-9]{3}/' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

方法四:egrep

[root@oldboy oldboy]# egrep '([0-9]+\.+){3}[0-9]{3}' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

方法五:sed

[root@oldboy oldboy]# sed -rn  '/([0-9]+\.+){3}[0-9]{3}/p' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

 

1.1 補充:

grep  -i   忽略大小寫

[root@oldboy oldboy]# grep -i 'ipaddr' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

 

 

 

1.2 awk sed 用法區別

1.awk   找出這一行(‘NR’)      找出某一列 -F 「[]」 ‘{print  $}’

sed    找出這一行-n ’//p’   替換’s###g’

 

2.awk  sed  過濾  查找文件內容 格式 '//'   ,其他功能看具體狀況  好比sed  替換    awk  顯示行號等等   不用

 

第2章 linux 下經過 mkdir 命令建立一個新目錄/oldboy/ett,它的硬連接數是多少,爲何?

硬連接數 2            /ett   /ett/.   inode相同   

[root@oldboy oldboy]# ls -ild ett ett/.                        

405152 drwxr-xr-x. 2 root root 4096 May 22 03:42 ett           目錄自己

405152 drwxr-xr-x. 2 root root 4096 May 22 03:42 ett/.         下面第一級子目錄的 .

 

第3章 若是在/oldboy/ett 下面再建立一個目錄 test。再問/oldboy/ett 的硬連接數是多少?爲何。

硬連接數 3              /ett     /ett/.   /ett2/..      

[root@oldboy oldboy]# mkdir ett/ett2

[root@oldboy oldboy]# ls -ild ett ett/. ett/ett2/..

405152 drwxr-xr-x. 3 root root 4096 May 22 03:43 ett            目錄自己

405152 drwxr-xr-x. 3 root root 4096 May 22 03:43 ett/.          下面第一級子目錄的  .

405152 drwxr-xr-x. 3 root root 4096 May 22 03:43 ett/ett2/..    下面第二級子目錄的  ..

 

3.1 知識點  /etc下有77個一級目錄(不包含子目錄下的子目錄)

[root@oldboy /]# ls -ld /etc

drwxr-xr-x. 79 root root 4096 Dec 22  2017 /etc

第4章 請給出默認狀況 eth0 網卡配置文件的路徑及客戶端 DNS 的路徑。

eth0網卡配置文件:

/etc/sysconfig/network-scripts/ifcfg-eth0

DNS路徑

/etc/resolv.conf

/etc/sysconfig/network-scripts/ifcfg-eth0

4.1 補充:經常使用的DNS服務器

1.     阿里雲

223.5.5.5      223.6.6.6

2.114

114.114.114.114       114.114.115.115

3.供應商提供

 

4.2 企業案例:企業網站中病毒  √√√√√√√

從發現到解決的過程:

1、運營人員、網站用戶發現問題,網站有彈窗廣告。

2、運營人員報給開發人員,開發聯繫運維人員。開發和運維共同解決。

3、開發發現的問題緣由就是全部站點目錄被嵌入了一段JS代碼。

4、運維人員解決問題:

a)  備份原始出問題的原始文件。

b)  歷史備份覆蓋。

c)  find+sed替換。

5、詳細查看日誌,尋找問題發生來源。

6、提供亡羊補牢解決方案

 

第5章 查找當前目錄下全部文件,並把文件中的 www.etiantian.org 字符串替換成 www.oldboy.cc

假設你在/oldboy目錄中  --find的三種寫法

#find /oldboy/ -type f |xargs sed 's#www.etiantian.org#www.oldboy.cc#g'

#sed 's#www.etiantian.org#www.oldboy.cc#g'$(find /oldboy/ -type f)

find /oldboy/ -type -exec sed 's#www.etiantian.org#www.oldboy.cc#g' {} \;

第6章 問題:如何賦予 oldboy 文件 -rw-r--r-x 權限屬性

方法一:

chmod 645 oldboy

方法二:

chmod u=rw,g=r,o=rx oldboy

 

第7章 執行下面命令時發現提示須要輸入密碼,請問提示輸入的密碼是哪一個用戶的密碼。

[test@oldboy ~]$ sudo su - oldboy

oldboy用戶

 

 

第8章 請問在一個命令上加什麼參數能夠實現下面命令的內容在同一行輸出。

   echo "oldboy";echo "oldboy"

echo  -n       不執行回車,echo命令默認在結束時執行回車

echo  -e  「\n」  -e支持轉義

echo  -t       執行tab

[root@oldboy oldboy]# echo -e "a\nb\tc"

a

b   c

 

第9章 請給出以下格式的 date 命令 例:11-02-26。在給出實現按周輸出 好比:週六輸出爲 6,請分別給出命令。

[root@oldboy oldboy]# date +%y-%m-%d

17-12-28

注意:嚴格區分大小寫

按照要求顯示日期

9.1 date  +%F    +按照規定格式顯示

           %F  --   === %Y-%m-%d

[root@oldboy /]# date +%Y-%m-%d     ====     [root@oldboy /]# date +%F

2017-05-22                                    2017-05-22

9.2 date  +%T        + %T   ::   ====+%H:%M:%S

                       +%w            星期

顯示當前時間  按照 --_周幾

[root@oldboy /]# date +%F_%w

2017-05-22_1

 

9.3 date  -d    按照你的描述顯示日期

顯示前一天日期       而且按照規定格式

[root@oldboy /]# date -d "1 day ago"

Sun May 21 05:08:03 CST 2017

[root@oldboy /]# date -d "-1day"

Sun May 21 05:08:40 CST 2017

[root@oldboy /]# date -d "-10day" +%F

2017-05-12

9.4 date   -s   修改時間

[root@oldboy oldboy]# #date -s "20171314 12:12:12"      年月日 時:分:秒

[root@oldboy oldboy]# date -s "100year"            修改年份

Tue Dec 28 16:56:18 CST 2117

[root@oldboy oldboy]# date

Tue Dec 28 16:56:38 CST 2117

9.5 ntpdate自動同步系統時間

ntpdate   根據時間服務器自動修改當前系統的時間

         自動同步時間

ntpdate   ntp1.aliyun.com     網絡同步時間         虛擬機必須連通外網

         ntp2.aliyun.com

pool.ntp.org

[root@oldboy /]# ntpdate ntp1.aliyun.com

28 Dec 10:44:47 ntpdate[97545]: step time server 182.92.12.11 offset 19027175.922945 sec

[root@oldboy /]# date

Thu Dec 28 10:45:12 CST 2017

小結:

1.     按照指定格式顯示日期

2.     按照描述和指定的格式顯示日期

3.     自動同步時間

9.6 修改時區(瞭解)

[root@localhost ~]# cp /usr/share/zoneinfo/Asia/S
Saigon         Samarkand      Shanghai       Srednekolymsk  
Sakhalin       Seoul          Singapore      
[root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 
cp: overwrite `/etc/localtime'? y
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# hwclock 

 

第10章 當從 root 用戶切到普通用戶時,執行 ifconfig 會提示。

[oldboy@student ~]$ ifconfig

-bash: ifconfig: command not found

提示:c58 會遇到,c64 沒有此問題。

請問這是爲何?如何解決,請給出詳細解決過程

10.1 模擬環境:

                            去掉/sbin         

#export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

 

10.2 緣由:(系統執行命令的過程)

1.     輸入命令

2.     shell會在PATH裏面查找命令

3.     找到執行

4.     找不到提示

command not found

 

10.3 解決:修改環境變量

10.3.1 臨時

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin  root用戶

10.3.2 永久                                    ~/bin     普通用戶(可手動添加)

tail   -1  /etc/profile

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin  root用戶

                                                       ~/bin     普通用戶

10.3.3 生效

source

 

10.4 補充:PATH命令路徑分類                  

/bin            /sbin

/usr/bin         /usr/sbin

/usr/local/bin     /usr/local/sbin

 

 

第11章 擴展問題:打印三天前的日期格式如:2011-02-26

[root@oldboy oldboy]# date -d "-3day" +%F

2017-12-26

 

第12章 請描述下列路徑的內容是作什麼的?

/var/log/messages                   系統默認日誌

/var/log/secure                     用戶登陸信息

            

/etc/fstab                         開機自動掛載列表

/etc/profile                        環境變量(PS1   PATH)  別名

/etc/hosts                         解析主機名

/var/spool/cron/root                 定時任務配置文件

 

第13章 如何快速查到 ifconfig 的全路徑(假如你不知道其路徑),請給出命令。

13.1 which

[root@oldboy /]# which ifconfig

/sbin/ifconfig

13.2 find

find /  -type f  -name  「ifconfig」

13.3 whereis  找出與這個命令相關的文件的位置

[gao@oldboy ~]$ whereis  ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

 

13.4 locate 根據一個數據庫進行查找   (缺點:數據庫須要更新,數據多時至關慢消耗系統性能)(幾乎不用)

updatedb   更新數據庫

[gao@oldboy ~]$ locate   oldboy.txt

/data/oldboy.txt

/data/oldboy.txt.bak

/data/oldboyedu/oldboy.txt

/oldboy/oldboy.txt

 

第14章 每週日上午 930 來老男孩 linux 培訓上課(用/oldboy.sh 代替),請用 linux 定時任務命令表示。

 30  9  *  *  7   /bin/sh  /oldboy.sh   >/dev/null   2>&1

第15章 請給出查看當前哪些用戶在線的 linux 命令。

 

第16章 公司一開發人員申請對某一服務器 10 天的普通用戶權限,請問你如何操做?

 

 

 

 

 

第17章 請給出正確的關機和重起服務器的命令。

17.1 關機命令

shutdown  -h  now(分鐘)             能夠設定幾分鐘後關機/重啓  shutdown -c    取消

halt                                關閉系統  不會關閉電源(物理機   雲服務器沒有影響)

poweroff                                 

init 0                              不會把數據寫進磁盤裏,容易形成數據丟失

17.2 重啓命令

shutdown -r   now

reboot

init 6

 

第18章 請寫出下面 linux SecureCRT 命令行快捷鍵命令的功能?

命令行快捷鍵

 

移動光標

把光標移動到這一行的開頭               Ctrl + a

把光標移動到這一行的結尾               Ctrl+e

把光標向右移動一個單詞                 Ctrl+右

 

刪除(剪切)光標所在位置到行首的內容   Ctrl + u

刪除(剪切)光標所在位置到行尾的內容   Ctrl + k

粘貼                                   ctrl + y

 

其餘功能(命令行)

取消當前操做                           ctrl  + c  (cancel) 

清屏                                   cerl  + l  ===clear

退出當前用戶                           ctrl  + d  ===logout

使用上個命令最後的東西                 esc  + .(點)

鎖定屏幕                               ctrl  + s

解鎖                                   ctrl  + q

查找以前敲過的命令                     history |grep

查找你使用過的命令                     ctrl  + r  

自動補全路徑或命令                     tab

 

第19章 建立一個/etc壓縮包名字etc-2017-11-11.tar.gz √√√√

19.1 方法一:

[root@oldboy oldboy]# tar zcvf $(echo etc-"$(date +%F.tar.gz)") ett

ett/

ett/ett2/

ett/ett2/1.txt

[root@oldboy oldboy]# ls |grep 'etc.*tar.gz'

etc-2017-12-28.tar.gz

19.2 方法二:

echo et-$(date +%F.tar.gz)|xargs tar zcv ett -f

19.3 方法三:√√√√√√√√√√√√

tar zcvf e-$(date +%F).tar.gz ett

[root@oldboy oldboy]# ls e-$(date +%F).tar.gz

e-2017-12-28.tar.gz

 

19.4 方法四:

[root@oldboy oldboy]# tar zcv ett -f g-$(date +%F).tar.gz

 

19.5 注意:

1.   根據方法三知  不止echo命令能夠執行 ''  ""  $()    大部分命令均可以

2.   tar 命令   -f  參數能夠在任意位置指定壓縮文件包





 

 

總結:

1.     第三波命令

2.     查看修改系統時間 (建立文件並跟上時間做業:

3.     修改PATH

4.     linux快捷鍵和vim快捷鍵

5.     目錄硬連接數

6.     回顧linux重要的配置文件

相關文章
相關標籤/搜索