linux脚本试题
① linux(shell)脚本编程题目求教,谢谢(200分,满意继续追加分)
先占下楼层,空了慢慢给你做!
先做第一题1月12日:
#!/bin/bash
echo this "date" :`date`;
echo this "cal" :`cal`;
echo this "pwd" :`pwd`;
echo this "ls" : `ls`.
第二题1月12日:
这个没法写了撒 太笼统;建议翻翻书。
我列个环境变量的例子吧:
#!/bin/bash
echo "第二题":
TEST_DIR=/root
export $TEST_DIR;
echo "环境变量TEST_DIR是/root".
第三题1月12日:
#!/bin/bash
echo "第三题for":
echo "3.1 for"
x=0
for ((i=1 ; i<101 ;i++));
do
x=$(($x+$i))
done
echo $x
echo "---------------------------------"
echo "第三题while":
echo "3.2 while"
x=0
i=1
while [ $i -lt 101 ]
do
i=$(($i+1))
x=$(($x+$i))
done
echo $x
第三题第二个
#!/bin/bash
echo "3.2"
function fib {
if [ $1 -lt 2 ]; then
echo -n $1
else
local n_2=$(($1 - 2))
local n_1=$(($1 - 1))
local f_n_2=$(fib $n_2)
local f_n_1=$(fib $n_1)
local f_n=$((f_n_2 + f_n_1))
echo -n $f_n
fi
}
n=10
for ((i = 0; i < $n; i++))
do
printf "fib(%2d) = %d\n" $i $(fib $i)
done
② LINUX:编写一个shell脚本,并利用函数实现数列求和运算
#!/bin/bash
sum=0
if[$#-ne2]
then
echo"Pleaseinputtwonumbers!"
elif[$1-gt$2]
then
echo"."
else
foriin$(seq$1$2)
do
sum=`expr$sum+$i`
done
echo""$1~$2"sumis$sum"
fi
#执行结果
#[root@localhostopt]#./b.sh36
#"3~6"sumis18
#[root@localhostopt]#./b.sh3
#Pleaseinputtwonumbers!
#[root@localhostopt]#./b.sh356
#Pleaseinputtwonumbers!
#[root@localhostopt]#./b.sh32
#.
#[root@localhostopt]#./b.sh325
#"3~25"sumis322
③ Linux基础测试试题及答案
一、选择题(非单选)
1、在正则表达式当中下面那一个字符集表示非空格字符( )
a. [:graph:]
b. [:digit:]
c. [:space:]
d. [:alpha:]
参考答案:A
2、关于bash变量论述正确的是:( )
a. 可以在/etc/porfile里面设置对所有用户生效,永久
b. 在用户家目录下的.bash_profile文件中添加变量对单一用户生效,临时生效
c. 可以使用export 定义,只对当前shell生效,永久有效
d. 以上说法都不对
参考答案:A
3、当登录linux后,登录的shell将查不同启动文件来处理其中的命令,处理文件的顺序是( )
a. /etc/profile --> ~/.bash_profile --> ~/.profile --> ~/.bash_login
b. /etc/profile --> ~/.bash_profile --> ~/.bash_login --> ~/.profile
a. ~/.bash_profile -->/etc/profile --> ~/.profile --> ~/.bash_login
a. ~/.bash_login --> ~/.profile --> ~/.bash_profile -->/etc/profile
参考答案:B
4、创建多级目录命令是( )
A、mkdir -p
B、mkdir -v
C、mkdir -m
D、mkdir -Z
参考答案:A
5、有一些文件root用户也无法直接修改,可使用说明命令看看其权限( )
A、ls -lh
B、file
C、stat
D、lsattr
参考答案:D
6、linux上为了使用更多简洁操作,可以使用别名来简化命令,以下别名定义正确的是( )
A、LS=‘ls -lh’
B、set cnet ‘cd /etc/sysconfig/network-scripts/ifcfg-eth0’
C、alias die=‘rm -fr’
D、unalias die=‘rm -fr’
参考答案:C
7、常见的文本编辑器工具有哪些( )
A、nano
B、cat
C、cut
D、vim
参考答案:AD
8、使用find命令查找文件时,以下哪个选项代表套接字文件( )
A. d
B. l
C. p
D. s
参考答案:D
9、如一个文本文件的各权限位是这样的:-rw-r--r--,对该文件执行chmod g+s 后,其权限位应显示为( )
A. -rw-r-Sr--
B. -rw-r-sr--
C. -rw-r--r--
D. -rw-r-xr--
参考答案:A
10、使用fdisk对磁盘进行分区时,LVM分区的类型为( )
A. l
B. lvm
C. 9e
D. 8e
参考答案:D
11、使用tar命令对一个目录只打包,不压缩,应该使用如下哪条命令( )
A. tar -cvf
B. tar -zcvf
C. tar -jvf
D. tar -jcvf
参考答案:A
12、shell脚本的哪个位置参数可以表示脚本本身( )
A. $0
B. $1
C. $#
D. $@
参考答案:A
13、通常我常说的四层负载和七层负载对应OSI模型分别是?
A. 传输层,表示层
B. 网络层,应用层
C. 传输层,应用层
D. 网络层,表示层
参考答案:C
14、系统中存在两个进程, 其pid分别为 110, 119, 此时希望当119需要占用CPU时总是要优于110, 应如何做?( )
A. 调整进程119的nice值, nice -5 119
B. 调整进程119的nice值, renice -5 119
C. 调整进程110的nice值, nice -5 110
D. 调整进程119的nice值, renice -5 110
参考答案:B
15、如何在非交互式的情况下为用户mage添加一条crontab任务?
A. 将任务写入到/var/spool/cron/root
B. 将任务写入到/var/spool/cron/mage
C. 将任务写入到/var/spool/root/cron
D. 将任务写入到/var/spool/mage/cron
参考答案:B
16、CentOS7系统中启动网络服务的命令是:
A. service network start
B. /etc/init.d/network start
C. systemctl start network.service
D. /etc/init.d/rc.d/init.d start
参考答案:C
17、kernel实现自身初始化时,实现的任务为( )
A.探测可识别的所有硬件;
B.以只读方式装载“真正根文件系统”
C.按次序查找各引导设备,第一个有引导程序的设备即为启动系统用到的设备
D.启动用户空间的第一个应用程序:/sbin/init
参考答案:C
18、CentOS 6系统中,Linux系统运行级别,关系对应不正确的是( )
A.4--维护模式,多用户模式,需要用户认让,会启动网络功能,但不支持使用NFS;
B.1--维护模式,单用户模式,sigle模式;此级别可允许root用户直接登录而无须认证;
C.3--正常级别,完全多用户模式,文本界面;
D.5--正常级别,完全多用户模式,图形界面;
参考答案:A
19、下面命令,可以输出/etc/passwd文件中root用户所在行的`是( )
A.awk '{if($1=/root/) print }' /etc/passwd
B.awk -F: '{if($1==/root/) print }' /etc/passwd
C.awk -F: '{if($1=/root/) print }' /etc/passwd
D.awk -F: '{if($1~/root/) print }' /etc/passwd
参考答案:D
20、以下不是/ect/rc.d/rc.sysinit的功能的是()
A.根据配置文件中的设定来设定主机名
B.配置服务器ip地址
C.打印文本欢迎信息
D.激活LVM和RAID设备
参考答案:B
判断题(如有兴趣的同学可以分析为什么对错)
1、在对称加密中,加密与解密使用同一密钥,主要算法有md5,sha1。
参考答案:错
解析:md5与sha1算法是单向加密的算法,并非对称加密的算法
2、两块硬盘实现RAID1之后,整体写性能会变差
参考答案:对
3、做RAID5至少需要3块磁盘。
参考答案:对
4、keepalived 是基于VRRP协议为基础实现的。
参考答案:对
5、进程A在启动时,系统的可打开的最大文件描述符个数为1024, 此时将系统的可打开的最大文件描述符个数设置为65535, 之后如果进程A创建子进程后, 那么子进程可打开的最大文件描述符个数为1024, 对吗?
参考答案:错
问答题
1、找出当前目录下10天没有改变,大小大于4K的普通文件或目录
参考答案:
find ./ -type d -o -type f -size +4k ! -mtime -10
2、使用ss命令, 查看当前系统上处于time_wait 状态的连接
参考答案:
ss -4 state time-wait 或者 ss -o state time-wait
3、请简述centos6的启动流程
参考答案:
POST --> BIOS(boot sequence) --> MBR (bootloader) --> kernel(ramdisk) --> /sbin/init
设定默认运行级别 --> 使用/etc/rc.d/rc.sysinit脚本进行系统初始化 -->分别关闭和启动对应级别的所有服务 --> 启动字符终端 --> 启动图形终端(如果默认级别为5)--> 显示登录提示;
4、 yum update和yum upgrade有什么区别?
参考答案:
yum update:升级软件包的同时也升级软件和系统内核
yum upgrade:只升级软件包,不升级软件和系统内核
5、在每周二的凌晨1点5分执行脚本/data/get_username.sh,并将脚本的输出写至/tmp/get_username.log日志文件中
参考答案:
5 1 * * 2 /bin/sh /data/get_username.sh &>> /tmp/get_username.log
或者
5 1 * * 2 /bin/sh /data/get_username.sh >> /tmp/get_username.log 2>&1
④ 求一个Linux脚本,判断文件是否存在即
#!/bin/bash
Filename=/usr/123.txt
File_time=`stat -c %Y $Filename`;
Sys_time=`date +%s`;
if [ ! -f /usr/123.txt ]; then
echo "0"
else
exit 0
if [ $[ $Sys_time - $File_time ] -gt 300 ];then
echo "1";
else
echo "0";
fi
fi