第一題:
將用戶xiaobai被誤刪除的家目錄恢復,複製/etc/shadow到xiaobai家目錄中,並設置只有用戶xioabai可以取/home/xiaobai/shadow
cp -r /etc/skel/. /home/xiaobai chown mage:mage /home/xiaobai cp /etc/shadow/home/xiaobai/ chmod 400 /home/xiaobai/shadow
第二題:
下載編譯安裝httpd 2.4最新版本,寫出安裝過程
下載httpd-2.4.tar.gz 至物理機 使用rz命令將windows的httpd-2.4.tar.gz移動至Linux中 tar -zxv -f httpd-2.4.tar.gz ~/#解包解壓 cd ~/httpd-2.4 cat INSTALL #查看安裝的步驟 ./configure --prefix=/app/apache #設置安裝的目錄 yum groupinstall "Development tools" #安裝這個包組才能進行編譯 make make install
第三題:
過濾ifconfig命令結果中所有大於0且小於255的三位數
ifconfig |grep -E '/<(([1-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-4]))/>'
第四題:
誤刪除/lib64/libc.so.6系統庫文件,如何恢復,實驗說明(詳細解釋請參考https://blog.51cto.com/13570193/2082578)
重啓系統,出現白色進度條的時候ESC進入類似BIOS的界面; 進入救援模式 進入終端,系統提示——原系統的目錄被mount到/mnt/sysimage下,於是進入/mnt/sysimage cp /lib64/libc.so.6 /mnt/sysimage 或者 ln -s libc-2.12.so /mnt/sysimage/lib64/libc.so.6 libc.so.6只是一個軟鏈接文件
第五題:
計算2+4+6+...+98+100的和
echo {1..100..2} |tr " " "+" |bc
第六題:
yum源的配置和使用
base源指向https://mirrors.aliyun.com/centos/7/os/x86_64/
epel源指向https://mirrors.aliyun.com/epel/7Server/x86_64/
vim /etc/yum.repos.d/test.repo [base] name=testbase baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/ wget https://mirrors.aliyun.com/epel/7Server/x86_64/Packages/e/epel-release-7-11.noarch.rpm rpm -ivh epel-release-7-11.noarch.rpm
第七題:
編寫/root/bin/create.sh 可以生成新的腳本包括作者、聯繫方式、版本、時間和描述等,並且可以直接對其進行編輯,編輯完後自動加上執行權限
#!/bin/bash touch /root/bin/$1 chmod u+x /root/bin/$1 cat << EOF > /root/bin/$1 #!/bin/bash # ------------------------------------------ # 文件名: $1 # 版本: 1.0 # 日期: $(date +%F) # 作者: xiaobai # ------------------------------------------ # License: GPL EOF vim /root/bin/$1
第八題:
統計/var/log/httpd/access.log日誌訪問頻繁前十的地址,並從大到小排序
cat /var/log/httpd/access.log \ > | egrep -o "\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" \ > | sort |uniq -c |sort -nr | head -n 10
第九題:編寫腳本/root/bin/sysinfo.sh,顯示當前主機系統信息,包括主機名、操作系統版本、內核版本、CPU型號、內存大小、硬盤分區
#!/bin/bash echo 主機名 $(hostname) echo 操作系統版本 $(cat /etc/redhat-release) echo 內核版本 $(uname -r) echo cpu型號 $(cat /proc/cpuinfo |egrep "model name" |uniq |cut -d: -f2) echo 內存大小 $(echo $[$(cat /proc/meminfo |egrep MemTotal |tr -s " " :|cut -d: -f2)/1024]) MB echo 硬盤分區: fdisk -l
第十題:
描述三次握手,四次揮手
三次握手
第一次握手:建立連接時,客戶端發送SYN=1,的報文到服務器,並進入SYN_SENT狀態,等待服務器發送確認;
第二次握手:服務器收到連接請求,必須確認客戶的SYN=1,同時自己也發送一個SYN=1的報文,即SYN+ACK,
此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK報文,向服務器發送確認包,此包發送完畢,
客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手
四次揮手
第一次揮手:客戶端向服務器發送FIN報文:FIN=1發送後,客戶端進入FIN-WAIT-1狀態。
第二次揮手:服務器接收到該FIN報文後,發送一個確認報文,發送後,服務器進入CLOSE-WAIT狀態。
客戶端收到來自服務器的確認之後,進入FIN-WAIT-2狀態。等待服務器發送連接釋放報文
此時整個TCP連接進入連接半關閉狀態,服務器可能還會向客戶端發送一些數據。
第三次揮手:如果服務器已經沒有要發送的數據,則釋放TCP連接,向客戶端發送報文:FIN=1,服務器進入LAST-ACK狀態。
第四次揮手:客戶端收到服務器的連接釋放報文後,對該報文發出確認,發送此報文後,等待2個msl時間後,進入CLOSED狀態。
服務器收到客戶端的確認後,也進入CLOSED狀態並撤銷傳輸控制塊