第一题:
将用户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系统库文件,如何恢复,实验说明(详细解释请参考http://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状态并撤销传输控制块
原文地址:http://blog.51cto.com/13570193/2082655