linux学习第一月测验

1、yum源的配置与使用(5分)
1) 创建一个本地yum源[base]
Mount /dev/cdrom /mnt
name=local_base
baseurl=file:///mnt/
gpgcheck=0

2) 安装开发包组

yum grouplist
yum groupinstall development tools

2、复制/etc/ssh/sshd_config 到/tmp/中并更名为sshd_config.bak。将/tmp/sshd_config.bak文件中所有以非#号开头与包含空白字符的行保存至/tmp/sshd_config中。(5分)

cp /etc/ssh/sshd_config /tmp/sshd-config.bak
cd /tmp
cat sshd_config.bak | egrep "^[^#].[[:space:]]+." > sshd_config

3、编写脚本/root/bin/sysinfo.sh显示当前主机系统信息,包括主机名,操作系统版本,内核版本,CPU型号,内存大小,硬盘分区(5分)

#!/bin/bash
echo ‘----------------------------------‘
echo ‘system infomation‘
echo ‘hostname:‘hostname
echo ‘system-release:‘cat /etc/centos-release
echo ‘kernel:‘uname -r
echo ‘cpu:‘lscpu | egrep -i "型号名称" | tr -s ‘ ‘ | cut -d‘ ‘ -f2-7
echo ‘mem:‘free -h | egrep -i "mem" | tr ‘:‘ ‘ ‘ | tr -s ‘ ‘ | cut -d‘ ‘ -f2
echo ‘hd:‘lsblk | egrep "sda\>" | tr ‘:‘ ‘ ‘ | tr -s ‘ ‘| cut -d‘ ‘ -f5
echo ‘----------------------------------‘

4、给root用户定义别名命令vimnet,相当于vim /etc/sysconfig/network-scripts/ifcfg-ens33,并使root执行history命令时,显示每个命令执行的具体时间。(5分)

vim .bashrc
alias vimnet= ‘vim /etc/sysconfig/network-scripts/ifcfg-ens33‘
. .bashrc
vim .bash_profile
HISTTIMEFORMAT="%F %T "
. .bash_profile

5、指出软链接与硬链接的异同之处(至少四处)(5分)

一,软链接可以针对文件夹,硬链接不行
二,硬链接和源文件有相同的inode码,软链接和源文件是不同的inode码(inode就是索引字节,用来 存储数据信息,系统能通过indoe值最快的找到相对应的文件)
三,硬链接不能跨分区,软链接可以跨分区
四,删除软链接源文件软链接会失效,删除硬链接源文件硬链接能正常使用

6、下载编译安装httpd 2.4最新版本,写出安装过程(5分)
cd
tar –xf httpd-2.4.25.tar.bz2
cd httpd-2.4.25
vim README
:q
vim INSTALL
:q
yum groupinstall development tools
mkdir /app/apache24
./configure --prefix=/app/apache24
make&&make install

7、过滤ifconfig命令结果中所有大于0且小于255的三位数(5分)

Ip a | egrep -o "\<[0-2][0-9][0-9]\>" | egrep -v "2[5-9]{2}"

8、将用户mage被误删除的的家目录恢复,复制/etc/shadow到mage家目录中。并设置只有用户shixintao可以读取/home/mage/shadow(5分)
cp –r /etc/skel /home/mage #cp -r 递归处理,将指定目录下的所有文件与子目录一并处理
cd /home/mage
chown –R mage:mage mage
cp /etc/shadow .
chmod 000 shadow
setfacl –m u:shixintao:r shadow
setfacl –m u:shixintao:rx /home/mage

9、统计/var/log/httpd/access.log日志访问频繁前十的地址,并从大到小排序(5分)

cat /var/log/httpd/access_log | egrep -o "(\<[0-2][0-9]{1,2}.){3}\<[0-2][0-9]{1,2}\>" | sort | uniq -c | tr -s ‘ ‘ | sort -t‘ ‘ -k2 -rn | head -n10

10、开启两个终端,将终端1 中输入命令的执行结果输出,并同时输出到终端2 (5分)

开终端可以在本地用ctrl+alt+F1-6开启,Xshell可以直接新开终端
终端1为pts/0 终端2为pts/1
ls / |tee /dev/pts/1

11、误删除/lib64/libc.so.6系统库文件,如何恢复之,实验说明(5分)

一,在光盘挂载的情况下重启
二,在读取进度条的时候按下Esc然后使用CD-ROM进行启动
三,选择进入救援模式“rescue”
四,进入救援模式后从当前/lib64中复制一份libc.so.6到/mnt/sysimage/lib64中
五,退出救援模式重启机器完成恢复

12、误删除rpm包命令,如何恢复之,实验说明 (5分)

一,在光盘挂载的情况下重启
二,在读取进度条的时候按下Esc然后使用CD-ROM进行启动
三,选择进入救援模式“rescue”
四,进入救援模式后输入 mkdir /cd创建文件夹
五,mount /dev/sr0 /cd 将光盘挂在/cd上
六,rpm -ivh /cd/Packages/rpm-4.11.3-21.e17.x86_64.rpm --root=/mnt/sysimage/ 将光盘中的rpm包以原来根为基础安装
七,退出救援模式重启机器完成恢复

13、计算2+4+6+…+96+98+100之和(5分)

echo {2..100..2} | tr ‘ ‘ ‘+‘ | bc

14、取/etc/sysconfig/network-scripts/ifcfg-ens33基名,用两种方法实现(5分)

1.echo /etc/sysconfig/network-scripts/ifcfg-ens33 | egrep -o "\<[_0-9a-zA-Z-]+/?$" # \?:匹配其前面的字符1次或0次
2.echo /etc/sysconfig/network-scripts/ifcfg-ens33 | rev | egrep -o "^/?[0-9a-zA-Z-]+\>" | rev
备注: rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。
3.basename /etc/sysconfig/network-scripts/ifcfg-ens33
4..echo /etc/sysconfig/network-scripts/ifcfg-ens33 | egrep -o "\<[[:alpha:]]*\>$"

15、对/etc/目录,分别执行命令,实现以下功能(5分)
(1)按从大到小顺序显示文件列表 -S 以文件大小排序。
ll –S /etc
(2)只显示隐藏文件
l. /etc
ls –d . /etc
(3)只显示目录 -d 将目录象文件一样显示,而不是显示其下的文件
ls –d /etc/
/
(4)按mtime时间显示文件列表 -t 以时间排序。
ls –t /etc
(5)按atime时间显示文件列表 -u 以文件上次被访问的时间排序。
ls –u /etc
16、编写/root/bin/excute.sh,实现与用户交互,判断用户给予的参数是否可读,可写,可执行(5分)

vim excute.sh
#!/bin/base
read -p "please input file:" file
if [ -e "$file" ] ; then
[ -r "$file" ] && [ -w "$file" ] && [ -x "$file" ] && echo "参数可读可写可执行" && exit
[ -r "$file" ] && [ -w "$file" ] && echo "参数可读可写不能执行" && exit
[ -r "$file" ] && [ -x "$file" ] && echo "参数可读可执行不能写" && exit
[ -r "$file" ] && echo "参数可读不能写不能执行" && exit
[ -w "$file" ] && [ -x "$file" ] && echo "参数可写可执行不能读" && exit
[ -w "$file" ] && echo "参数可写不能执行不能读" && exit
[ -x "$file" ] && echo "参数可执行不能读不能写" && exit
echo "该参数没有任何权限"
else
echo "该文件不存在"
exit
fi

17、编写/root/bin/create.sh可以生成新的脚本包括作者、联系方式、版本、时间和描述等,并且可以直接对其进行编辑,编辑完后自动加上执行权限(5分)

vim /root/bin/create.sh
[ -a "$1" ] && echo "file is exist" && exit
touch "$1"
echo ‘#!/bin/bash‘ >> "$1"
echo "#name:$1" >> "$1"
echo ‘#author:sxt‘ >> "$1"
echo ‘#email:[email protected]‘ >> "$1"
echo ‘#version:1.0‘ >> "$1"
echo ‘#number:02‘ >> "$1"
echo ‘#time:‘date +%F >> "$1"
chmod u+x "$1"
vim + "$1"
exit

18、写一个脚本,让它可以传递两个参数后,实现对该参数的加、减、乘、除运算并输出运算后的值(5分)
(加减乘除等号与参数之间不要有空格)
#!/bin/bash
read -p "input your Number1: " Num1
read -p "input your Number2: " Num2
ADD=$[ $Num1+$Num2 ]
SUB=$[ $Num1-$Num2 ]
RID=$[ $Num1$Num2 ]
DIV=$[ $Num1/$Num2 ]
echo "$Num1 + $Num2 = $ADD"
echo "$Num1 - $Num2 = $SUB"
echo "$Num1
$Num2 = $RID"
echo "$Num1 / $Num2 = $DIV"
exit

19、编写/root/bin/wcfile.sh统计/etc目录中的目录的个数,文件的个数,并求出/etc/目录中的目录和文件个数的总和(5分)
#!/bin/bash
dnum=find /etc -type d | wc -l
echo /etc中目录个数为"$dnum"个
fnum=find /etc -not -type d | wc -l
echo /etc中文件个数为"$fnum"个
num=$[dnum+fnum]
echo /etc中文件和目录总数为"$num"个
unset dnum
unset num
unset fnum
exit

20、编写/root/bin/baketc.sh 查找/etc/目录中超过1天未修改的文件,将其压缩备份至/bakup目录。若之前没有备份过则备份之,若存在的备份文件超过了2分钟则备份之,否则退出。备份的格式为YYYY-MM-DD-hh-mm-ss.xz(Y表示年,M表示月,D表示日,h表示时,m表示分,s表示秒)(5分)
(# .xz压缩包格式)
vim /root/bin/baketc.shbr/>#!/bin/bash
#name:baketc.sh
#author:chenjingyu
#email:[email protected]
#version:1.0
#number:02
#time:2017-06-15
a=find /bakup -name *.xz
b=find /bakup -mmin +1 -name *.xz
shijian=date +%F‘ ‘%T

if [ -z "$a" ];then
find /etc -mtime +0 |xargs tar -cJf /bakup/"$shijian".xz 2&> /dev/null
echo "备份创建成功"

elif [ -n "$b" ];then
rm -f "$b"
find /etc -mtime +0 |xargs tar -cJf /bakup/"$shijian".xz 2&> /dev/null
echo "备份创建成功,旧备份已删除"

else
echo "上次备份未超过两分钟"
fi

linux学习第一月测验

原文地址:http://blog.51cto.com/13859849/2160974

时间: 2024-10-20 09:02:20

linux学习第一月测验的相关文章

【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】

[吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和"AI是新电力"相类似的说法是什么? [ ?]AI为我们的家庭和办公室的个人设备供电,类似于电力. [ ?]通过"智能电网",AI提供新的电能. [?]AI在计算机上运行,??并由电力驱动,但是它正在让以前的计算机不能做的事情变为可能. [★]就像100年前产生电能一样,AI正在改变很多的行业. 请注意: 吴恩达在视频中表达了同样的观点. 哪些是深度学

linux学习第一课

linux学习第一课,打卡打卡 原文地址:https://blog.51cto.com/12910091/2436322

选择linux学习第一步_我的决心书

人生有7次选择的机会,每次机会相隔7年,从25岁左右开始出现,到74岁左右结束.一般第一次和最后一次不经意间就会错过,25岁太年轻没有经验,74岁太老心有余力不足.中间还剩下第2.3.4.5.6次的机会,但是又因为这个或那个原因错过2次,真正能选择的机会也就只有3次. 24岁,在我大学刚毕业那时,思想感觉天高任鸟飞,海阔凭鱼跃.可实际上却没有方向.自己对社会一无所知,不知道什么是想要的和不想要的.然后就根据大众的思维,选个与专业对口的行业工作,机械系就选择生产制造业.但是5年以后的今天,即将三十

Linux学习第一周第二次课(1月23日)

1.6/1.7 配置IP (1)DHCP自动分配IP地址(前提是网络中有DHCP服务器) 自动获取IP:    # dhclient (2)设置静态IP 查看网卡名称:  # ip addr 或 # ifconfig 网卡名称为ens33 编辑网卡配置文件:#  vi /etc/sysconfig/network-scripts/ifcfg-ens33 按字母"i"进入编辑模式,将以下信息修改,没有的输入进去, BOOTPROTO=static                  sta

Linux学习第一步_CentOS系统安装

突然对Linux很感兴趣,于是就在自己的虚拟机环境上安装了一个CentOS6.0的系统,开始准备学习Linux可能写一篇Linux部署会让别人觉得很菜,但是写博客的习惯还是好的把我的步骤写出来,一呢,增强记忆,二呢,大神们如果看到哪里有错误,指点一下 ===VMware Workstation创建虚拟机 1)选择典型(推荐),虚拟机版本会继承VMware Workstation的版本,如果要自定义SCSI控制器类型\虚拟磁盘类型\虚拟机版本等信息选择自定义(高级) 2)暂时不选择光盘映像文件,这

新手上路--linux学习第一课

计算机的组成和功能 计算机系统由硬件系统和软件系统组成.够成计算机的硬件系统通常有"五大件"组成:输入设备.输出设备.存储器.运算器和控制器. 输入设备 将数据.程序.文字符号.图象.声音等信息输送到计算机中.常用的输入设备有键盘.鼠标.触摸屏.数字转换器等. 输出设备 将计算机的运算结果或者中间结果打印或显示出来.常用的输出设备有:显示器.打印机.绘图仪等. 存储器 存储器将输入设备接收到的信息以二进制的数据形式存到存储器中.存储器有两种,分别叫做内存储器和外存储器. 运算器 运算器

linux 学习第二次测验

text.1 1.在CentOS中,检查已经安装ext4文件系统并已经挂载的分区/dev/sad5是否正常,若是故障,可自动修复的命令及参数是什么? fsck -a /dev/sad5 2.请描述linux的哲学思想. 1.一切皆文件 2.由众多的功能单一的小程序组成,却可以实现复杂任务: 3.使用纯文本文件保存程序的配置信息: 提供用户身份验证 4.尽量不与用户交互 3.如何删除当前目录下超过30天未被访问的文件. find  -atime +29 | xargs rm -rf 4.写出OSI

Linux学习第一节课(2019.9.6)

今天,正式开始学习Linux,在跟着老刘学习的过程很轻松.第一节课老刘说了Linux的起源.开源共享精神.相比windows的优势.Linux的系统版本等.第一节课虽然还没有开始讲技术性的东西,但是能感受到老刘上课讲的比较细,也关心学生的学习之类,觉得认识老刘很高兴,最后希望在今年内考下RHCE证,老刘你也要继续帅下去,哈哈.--------------------------------------------------------------------------------------

Linux学习第一章

在过去的一个多星期时间里,我通过在线观看aminglinux教学视频进行学习Linux系统,初步了解和接触了Linux. 1.Unix.Linux.GUN.gpl是什么? Linux常见发行版 SlackWare .Suse .Debian.Android等等(ios属于Unix) Linux可以做服务器,跑网站,个人PC操作系统,手机系统,路由器,物联网等等 2.创建虚拟机 安装vmware或者virtualbox,下载镜像文件centos-isos,创建虚拟机,不改显示器分辨率,改了会导致黑