第一階段測試

1:yum源的配置與使用

  1. 創建一個本地yum源
    base源指向[https://mirrors.aliyun.com/centos/7/os/x86_64/]
    epel源指向[https://mirrors.aliyun.com/epel/7Server/x86_64/]

  2. 安裝開發包組

    移動/etc/yum.repos.d/* 至 ./back 文件夾然后創建文件bash.repo

    vim /etc/yum.repos.d/bash.repo

    bash.repo內容如下

    [base]
    name=base
    baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
    gpgcheck=0 [epel]
    name=epel
    baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
    gpgcheck=0
    #清空緩存 yum clean all
    #獲取新的repo數據yum repolist yum repolist
    #使用 yum groups list 查看包組信息#安裝開發包組
    如果是中文環境: yum groups install 開發包組
    如果是英文環境: yum groups install Development Tools

2:復制/etc/ssh/sshd_config 到/tmp/中并更名為sshd_config.bak。將/tmp/sshd_config.bak文件中所有以非#號開頭與包含空白字符的行保存至/tmp/sshd_config中
#復制文件
cp /etc/ssh/sshd_config /tmp/sshd_config.bak
#將文件中的行保存到/tmp/sshd_config
cat /tmp/sshd_config.bak |grep -E'#|[[:space:]]*$'>/tmp/sshd_config

3:編寫腳本/root/bin/sysinfo.sh顯示當前主機系統信息,包括主機名,操作系統版本,內核版本,CPU型號,內存大小,硬盤分區。

    #!/bin/bash
  
    echo "=======hostname====== "
    hostname
    echo -e "\n=======release====== "
    cat /etc/centos-release
    echo -e "\n=======kernel====== "
    uname -r
    echo -e "\n=======cpuinfo====== "
    cat /proc/cpuinfo|grep 'model name' 
    echo -e "\n=======free====== "
    free
    echo -e "\n=======disk====== "
    df
    echo "==========end========== "

4:給root用戶定義別名命令vimnet,相當于vim /etc/sysconfig/network-scripts/ifcfg-ens33,并使root執行history命令時,顯示每個命令執行的具體時間。

#定義別名,此配置只在當前登錄有效 
alias vimnet='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
#定義變量 
export HISTTIMEFORMAT="%Y%m%d-%H%M%S"
#長期生效寫入文件 只針對于root用戶,寫入/root/.bashrc
 全局生效寫入文件,/etc/bashrc

6:指出軟鏈接與硬鏈接的異同之處:

軟鏈接是在目錄數據塊中創建一個地址指向(指向新的inode),inode尋址索引放入的是被鏈接文件的
地址;
硬鏈接是在目錄數據塊中直接引用被鏈接文件的inode軟鏈接可以跨分區,硬鏈接不可以軟鏈接刪除
可不影響目標文件(特殊參數除外),硬鏈接鏈接次數歸零則刪除硬鏈接不占用inode 軟鏈接占用

7:下載編譯安裝httpd 2.4最新版本,寫出安裝過程

#下載源碼 
官方網站:http://www.apache.org/
#解壓縮包 (使用tar命令) 
tar xvf /httpd.2.4.**.tar.bz2 
#準備開發環境,
沒有安裝使用命令yum 命令進行安裝 yum groups install Development Tools
#進入目錄,并使用configure生成配置文件,具體參數可以查看INSTALL 或./configure --help ./configure --prefix="/app/apache"
#編譯,安裝 make && make install

8:過濾ifconfig命令結果中所有大于0且小于255的三位數

大于0 小于255的數
ifconfig |grep -E '\b(([1-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-4]))\b'
大于0小于255的三位數
ifconfig |grep -E '\b((1[0-9][0-9])|(2[0-4][0-9])|(25[0-4]))\b'

9:將用戶mage被誤刪除的的家目錄恢復,復制/etc/shadow到mage家目錄中。并設置只有用戶wang可以讀取/home/mage/shadow

#復制模版文件
 cp -r /etc/skel /home/mage
#更改權限 屬主組 
chown -R mage.mage /home/mage 
chmod -R 700 /home/mage
#復制文件 cp /etc/shadow /home/mage/shadow
#更改權限兩種方法,基本的屬主屬組或ACL 
#基本的屬主方法,將wang用戶加入到mage組,設置mage家用戶組有讀權限,使wang可以訪問mage
  家用戶 
groupmems -a wang -g mage 
chmod g+r /home/mage
chown wang /home/mage/shadow 
chmod -R 400  /home/mage/shadow 
#acl方法,確保掛載時開啟了acl功能
 setfacl -m u:wang:rx /home/mage/
 chown root /home/mage/shadow 
setfacl -m u:wang:r /home/mage/shadow

10:統計/var/log/httpd/access.log日志訪問頻繁前十的地址,并從大到小排序

#輸出排序,
cat /var/log/httpd/access.log |cut -d" " -f1|sort |uniq -c|sort -nr|head 1
220 192.168.1.117 
1134 192.168.1.31 
583 192.168.1.113 
204 172.16.100.76 
112 172.16.233.133
110 192.168.1.118 
83 192.168.1.110 
68 192.168.1.107 
68 172.16.250.227
42 192.168.6.1

11:開啟兩個終端,將終端1 中輸入命令的執行結果輸出,并同時輸出到終端2

  ###發送信息 
ttt=`date` ;
echo "$ttt";
echo "$ttt">/dev/pts/2 date|tee /dev/pts/2

12:誤刪除/lib64/libc.so.6系統庫文件,如何恢復之,實驗說明

#刪除libc.so.6
1. ldd `which ls`
2. rm /lib64/libc.so.6 
#恢復
3. 直接關閉電源,然后重起
4. 可以開機進入固件,或開機時 按1次esc 鍵,設置從光盤引導啟動
5. 進入光盤救援模式, 6 7進入的界面選項根據實際情況選擇。
6. 復制/lib64/libc.so.6 到 /mnt/sysimge/lib647. 關閉selinux ,設置
   /etc/sysconfig/selinux中為disabled8. 重起,

13:誤刪除rpm包命令,如何恢復之,實驗說明

#恢復
1.同樣進入安全模式
 2.在/mnt目錄下創建目錄 cdrom
3.掛載安裝光盤到cdrom mount /dev/sr0 /mnt/dcrom
4.安裝 rpm 軟件 ,rpm -ivh /mnt/cdrom/Packges/rpm.*****.rpm --force --root
  =/mnt/sysimge
5.重起

14:計算2+4+6+…+96+98+100之和。

#bc 實現
 echo {2..100..2} |tr " " "+" |bc
#循環實現
                   let sum=0 
                   for i in `seq 2 2 100` ;
                      do let sum+=i 
                    done 
                      echo "$sum"

14:取/etc/sysconfig/network-scripts/ifcfg-ens33基名,用兩種方法實現。

echo "/etc/sysconfig/network-scripts/ifcfg-ens33" |grep '[^/]*$'
      -o  ifcfg-ens33
echo "/etc/sysconfig/network-scripts/ifcfg-ens33" |rev|cut -d"/" -f1|rev
      ifcfg-ens33

15:對/etc/目錄,分別執行命令,實現以下功能
#將當前的工作目錄設置成為 /etc
cd /etc
#顯示目錄下的文件(大小排序)
ls -lS
#顯示目錄下的隱藏文件 顯示目錄下所有的隱藏文件,及隱藏目錄中的隱藏文件
ll -a .[^.]*
# 顯示目錄下的隱藏文件及文件夾
ls -A |grep -E "^."
#只顯示目錄下的隱藏文件
find ./ -maxdepth 1 -mindepth 1 -name "." -type f
#只顯示目錄
ls -l |grep ^d ls ./
/ -d find ./ -maxdepth 1 -mindepth 1 -type d
#按mtime 時間排序
ls -l -t
#按atime時間排序
ls -l -u

16:編寫/root/bin/excute.sh,實現與用戶交互,判斷用戶給予的參數是否可讀,可寫,可執行。

#!/bin/bash
#author:cxj
#sno:   35
#desc:This is for check files
[[ -e $1 ]] || { echo "文件不存在";exit 1 ;}
R=$([ -r $1 ] && echo "可讀"||echo "不可讀" )
W=$([ -w $1 ] && echo "可寫"||echo "不可寫" )
X=$([ -x $1 ] && echo "可執行" || echo "不可執行")
echo "當前用戶對$1 $R $W且$X"                       

17:編寫/root/bin/create.sh可以生成新的腳本包括作者、聯系方式、版本、時間和描述等,并且可以直接對其進行編輯,編輯完后自動加上執行權限。

 #!/bin/bash
 #  判斷參數個數
[[ "$#" -eq 1 ]]||{ echo "usage:cshell.sh shellname " ; exit; }
touch "$1"
echo "#!/bin/bash
 #author :cxj
#sno    :M35
#phone : 156XXXXXXXX
#version:2.0
#date   :`date +%F`
#desc   :$2" > "$1"
chmod +x "$1"
vim "$1"

18:寫一個腳本,讓它可以傳遞兩個參數后,實現對該參數的加、減、乘、除運算并輸出運算后的值。

#!/bin/env bash  
 #_____參數檢測_________# 
[[ "${1}" ]] || { echo "參數為空" ; exit 2 ; }
[[ "${2}" ]] || { echo "參數為空" ; exit 3 ; }
[[ "${1}" =~ ^[0-9]*$ ]] || { echo "參數非數字" ; exit 4 ; }
[[ "${2}" =~ ^[0-9]*$ ]] || { echo "參數非數字" ; exit 4 ; }
 #_____數值計算________# 
echo "=======加=======" 
echo "${1}+${2}=$(($1+$2))" 
echo "=======減=======" 
echo "${1}-${2}=$(($1-$2))" 
echo "=======乘=======" 
echo "${1}*${2}=$(($1*$2))" 
echo "=======除======="
echo "${1}/${2}=$(($1/$2))"

19:編寫/root/bin/wcfile.sh統計/etc目錄中的目錄的個數,文件的個數,并求出/etc/目錄中的目錄和文件個數的總和

#!/bin/env bash
dri_name=`find /etc -maxdepth 1 -mindepth 1 -type d |wc -l`
file_name=`find /etc -maxdepth 1 -mindepth 1 -type f |wc -l`
nodri_name=`find /etc -maxdepth 1 -mindepth 1 ! -type d |wc -l`
#結果輸出
echo "文件夾數量為:${dri_name}"
echo "普通文件的數量為:${file_name}"
echo "文件的數量為:${nodri_name}"
echo "相加結果數為:  $((${dri_name}+${nodri_name}))"

20:編寫/root/bin/baketc.sh 查找/etc/目錄中超過1天未修改的文件,將其壓縮備份至/bakup目錄。若之前沒有備份過則備份之,若存在的備份文件超過了2分鐘則備份之,否則退出。備份的格式為YYYY-MM-DD-hh-mm-ss.xz

#!/bin/bash
#文件備份函數
bakup_file()
   {
   file_name="/bakup/`date "+%F-%H-%M-%S"`" 
     find /etc -mtime +1 -type f |xargs tar -Jcf "${file_name}.tar.xz "
  }
#文件夾測試
  [ -a /bakup ] || mkdir /bakup[ -d /bakup ] || { echo "/bakup 非目錄請手動處理" ; exit 3 ; }

#沒有備份,則備份。
ls /bakup/*.tar.xz &>/dev/unll || { echo "沒有發生過任何備份"; bakup_file &>/dev/null ;exit 0 ; }
#文件超過兩分鐘則備份
test=`find /bakup -mindepth 1 -name "*.tar.xz" -mmin -2`
[ "${test}" ] && echo "文件是最新的" || bakup_file &>/dev/null
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容

  • 1、yum源的配置與使用(5分)1). 創建一個本地yum源base源指向https://mirrors.aliy...
    JevonWei閱讀 165評論 0 0
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,430評論 9 467
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,198評論 2 33
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,785評論 18 139
  • 郭相麟 《三國演義》是中國的四大名著之一,草船借箭是其中的精彩篇章。 草船借箭當時發生的背景形勢嚴峻,北魏的曹操打...
    郭相麟閱讀 252評論 0 0