linux shell,sed试题
Shell
(1)找出/Maintain/tmp目录中所有以c或者h为后缀名的文件,并将所有找出来的文件进行
删除。
(2)使用什么命令查看当前目录的大小。
(3)将/Maintain/tmp目录下所有的c的文件的后缀名变更为sc,.h文件的后缀名变更为.hh.
(最多使用一个for循环)
(4)当输入的第一个参数的值为Red时,输出xyz。
程序中空格的地方使用“=”代替。
(5)查看前一条命令的执行返回值,使用什么命令?
(6)如果将一条命令放入后台执行?如果查看后台有哪些程序在执行?如果将后台执行的命
令恢复到前台执行?
(7)使用cat命令,将如下一段话写入到文件a.txt中(要求格式不变)
---------------------------------------------------------------------------------
Solaris 10.167.226.173已经编译完成。
SI_CODE获取时间为9月28日上午11:00。
用户名:root 密码:fnst1234
---------------------------------------------------------------------------------
(8)sed命令
a.参数n,p的各自的含义是什么?
b.删除匹配north开头的行
c.删除匹配含有north为词尾的单词‘的行
d.将2到5行的行末尾都添加上xxxx
e.将文件a.txt中所有行的abc替换成efg。
f.将文件b.txt的内容插入到文件a.txt的含有suan的行后
g.将文件中以xyz开头的并且含有abc的行中的所有jdk替换成jdk1.5
h.在文件的以FNST开头的行的后面追加一行以下内容。
I am chinese
i.将文件a.txt中包含了FNST的行替换为”Nanjing fujitsu softeware company”.
(10) awk命令,本题中所指的test.txt请参考题目后
a.内置变量NR、NF的含义是?
b.指定分隔符,使用那个参数进行指定?FS
c.请将test.txt中第4列中大于等于3的行的最后两列进行相加,并显示出出来
d.请将test.txt中第3列等于May的行的第3列赋值为Mayday后,将本行进行显示。
e.对test.txt文件进行统计,如果第3列的值大于4的话,就显示为“high 第3列的值”
f.将test.txt文件中,第2列如果等于SW或者第1列中包含了south的话,将第1列和第2列显示出来。
linux shell练习题
[ -d /oldboy ] && cd /oldboy
for dd in `/bin/ls linux*`;do mv $dd `echo $dd | sed 's#linux#oldboy#g'`
for f in `/bin/ls /root/scprit/qita/*.html`;do mv $f `echo $f | sed 's#html#HTML#g'`
done [root@puppet scprit]# bash gmin3.sh [root@puppet scprit]# ll qita/ total 0 -rw-r--r--. 1 root root 0 Mar 20 10:05 12ab.HTML -rw-r--r--. 1 root root 0 Mar 20 10:05 2345.HTML -rw-r--r--. 1 root root 0 Mar 20 10:05 abcd.HTML -rw-r--r--. 1 root root 0 Mar 20 10:05 kkk.HTML [root@puppet scprit]#
生成数值列表的方式常用的有两种:第一种是{start..end},使用花括号,里面给一个起 始值,中间用点点来表示,最后跟上结束值,比如说生成 1 到 100 之间的所有的数值,就可 以使用{1..100}这样,{1..100}这是命令行展开语句,自动给你展开从 1 到 100,这是第一种 方式。
第二种方式可以使用 seq 命令,系统上有个叫做 seq 的命令,用法: seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST seq 结束值 seq 起始值 结束值 seq 起始值 步进值 结束值
课时5 Linux shell面试题
一文件内容如下:100a 100b -50c -20d -30要求输出结果为:100a 100200b -50150c -20130d -30一句话思路:用shell肯定是不行,因为是操作文件。
用sed倒是可以操作文件,但有数学运算还要用到变量。
所以,用awk应该是最好的。
awk 'NR==1{sum=$1;print $0}NR!=1{print $0;sum=sum-$2;print sum}' 内容文件知识点:awk变量,域二文件内容如下:123abc456456def123567abc789789def567要求输出:456ABC123123DEF456789ABC567567DEF789一句话思路:以点带面,文字处理,shell不行,awk不行,用sed加正则表达式sed -r 's/([1-9]{3})([a-f]{3})([1-9]{3})/\3\2\1/;y/abcdef/ABCDEF/' 内容文件知识点:-r 支持扩展的正则表达式,跟grep用-P类似。
y其实就是tr只是写到sed里面更好看一些,sed的查找替换,当然还有正则中的分组。
sed中的分组可以这么用,awk就不行了只能用&,而且分组数量不能超过9,即不会有\10出现。
三. 文件内容如下1.1.1.1 111.1.1.1 221.1.1.1 331.1.1.1 442.2.2.2 112.2.2.2 222.2.2.2 332.2.2.2 44要求使用sed及awk分别将文件输出:1.1.1.1 11 22 33 442.2.2.2 11 22 33 44一句话思路:这个没啥思路了,上面还分析分析用什么合适,这里面没的选了,人家都说了,就弄吧。
sed -r 'N;N;N;s/\n/ /g;s/(.*)(11 )(.*)(22 )(.*)(33 )(.*)(44)/\1\2\4\6\8/' 内容文件知识点:N将文件的下一行读入模式空间,3个N就是读取下面三行进入当前模式空间,读进去的行依然保留换行,所以删除换行,后面的就不说了,你懂的。
linuxshell脚本编程练习作业及答案(全)
linuxshell脚本编程练习作业及答案(全)本人乃一介草民,刚学shell编程不久,一日见有人发题求助,所以自己也当作练习来练练手,写的不好请勿吐槽,可与本人交流,一起学习!!(1)创建用户批量创建1000个用户用户名为:班级+学号+昵称;每个班为一个组群能够自动删除所创建的用户每成功创建或删除一个用户,在屏幕上显示用户名(题目中这用户,也太tm多了点,没有达到题目的全部要求,还是水平有限啊!!)#!/bin/bash#this is programe to build users batchecho "how many users you want to add"read -p "input the numbers of users: " numcount=1while [ $count -le $num ]douseradd -G class1 std$countecho "user std$count del successfully"count=$(($count + 1))doneread -p "what do you want to do: " dolet count=count-1case $do ind)for(( count; count >= 1;count-- ))douserdel -r std$countecho "user std$count del successfully"done;;*) exit;;esac############################################# #####(2)创建目录和文件,目录名为:dir1, dir2, …, dir10每个目录下分别新建10个文本文件,文件名为:目录名+file1~10并设置每个文件的权限:文件所有者:读+写+执行同组用户:读+执行其他用户:读+执行等待键盘输入一个数字,范围为1~10重命名该级目录(假设输入数字为“5”,则为“dir5”目录)下所有文件的扩展名为bak,并将该目录下所有文件名保存到一个文本文件删除包含该数字的所有目录和文件#!/bin/bash#test 2for((i=1;i<=10;i++))domkdir /root/tmp/dir$icd /root/tmp/dir$ichmod 755 -R . #这有个(.)代表当前文件夹a=1while [ $a -le 10 ]dotouch dir${i}file$alet a=a+1donedoneread -p "which directory you want chage:" numcd /root/tmp/dir$numfor s in `ls /root/tmp/dir$num`domv $s $s.bakdonels /root/tmp/dir$num >../outrm -rf /root/tmp/*${num}*############################################# #####(3)备份文件l 每天18:00归档/etc目录下的所有文件,归档文件名为如下形式:etc-YYYY-MM-DD;保存在/home/user/backup目录下,其中user 为当前登录用户名需要编写一个脚本,放到/etc/cron.d/script :vi script#!/bin/bashDATE=`date +%F`tar -cvf /etc-$DATE /etcmkdir /home/$USER/backupmv /etc-$DATE /home/$USER/backup#结束,保存chmod +x scriptcrontab -e00 18 * * * /etc/cron.d/script############################################# #####同上差不多l 每天8:00压缩/etc目录下的所有内容,压缩文件名为如下形式:etc-YYYY-MM-DD;存放在/home/user/tar目录下,其中user为当前登录用户名l 每周日17:00归档/home下每个目录,归档文件名为如下形式:dir-YYYY-MM-DD;保存在/tmp/YYYYMMDD目录下############################################# #####(4)查找统计l 查看/etc/passwd中所有包含字符串“aa”的用户,并将结果保存在文本文件中grep "aa.*" /etc/passwd|cut -d: -f1 >filel 查看/bin中包含字符串“ls”的文件名,并将结果保存在文本文件中ls /bin|grep "ls.*" >filel 把/bin和/sbin下的文件名保存到文件commandview中ls /bin /sbin >commandviewl 统计/bin和/sbin下的文件数量ls /bin |wc -lls /sbin|wc -l############################################# #####真心不会只知道ps top(5)进程管理l 显示系统正在运行的所有进程l 显示当前终端正在运行的所有进程应该是: ps -Hl 显示root正在运行的所有进程l 以优先级-16后台启动一个进程“find / -name ls* > tmp &”l 显示该进程信息ps -ef |grep findl 修改该进程的优先级renicel 杀掉该进程kill id############################################# #####(6)系统信息显示当前登录的用户名whoami显示系统中所有用户名cut -d ":" -f1 /etc/passwd显示本机名hostname显示本机操作系统的名称、版本cat /etc/issue显示文件系统信息df -h显示当前系统状态信息############################################# #####(7)加减乘除运算,其中l 两个操作数和一个运算符由位置参数给出l 在屏幕上分别显示操作数、运算符和运算结果#!/bin/bash#test 7read -p "input first num: " var1read -p "input +-*/ : " varread -p "input second num: " var2v=`echo "scale=2; $var1 $var $var2 "|bc`echo "$var1 $var $var2 = $v"############################################# #####(8)按照运行结果编写Shell程序:101210123210123432101234543210123456543210123456765432101234567876543210123456789876543210123456789#!/bin/bash#test 8i=0for(( i; i <= 9; i++ ))doj=$ifor(( i; i >= 0; i-- ))doecho -n "$i"donea=1while [ $a -le $j ]doecho -n "$a"let a=a+1doneecho " "i=$jdone############################################# #####(9)逆序输出一个字符串#!/bin/bash#test 9read -p "input chars : " charrev $char############################################# #####(10)冒泡法对10个数按升序排序#!/bin/bash#test 10 冒泡法输出i=0for m in "$@"doa[i]=$mdone# $#随意多个位置参数都可以进行排序,具体到n个参数,则改为nfor (( i = 0; i <= $# ; i++ ))dofor(( j=1+i; j <= $# ; j++ ))doif [[ ${a[i]} -gt ${a[j]} ]]thent=${a[i]}a[$i]=${a[j]}a[$j]=$tfidonedoneecho "${a[@]}" #不换行输出#如果要换行输出用下面语句:for k in "${a[@]}"doecho $kdone~############################################# #####(11)编写1个menu的Shell程序,执行后的界面为:NumberNameFor Linux Menu2viedit a file3datedate4calcalendar5wholist the users6lslist the files in this directory7catdisplay a file on the screenPlease input a number or a name for the action you wish:(有点差异,绞尽脑汁也不知道怎么改的跟上面一样:)echo "NumberNameFor Linux Menu"select var in "exitleave" "viedit a file" "datedate" "calcalendar" "wholist the user" "lslist the files in this directory" "catdisplay a file on the screen"dobreakdoneecho "please input a number or a name for the action you wish:"echo "your choose is $var"############################################# #####(12)求n的阶乘,n=100方法1:#!/bin/basha=1for(( i=1; i <= 100; i++ ))doa=$[ $i * $a ]doneecho "100!=$a"#我的电脑100!输不出来,可能是出题目的有点脑残,考算法直接用10就可以嘛!!方法2(递归)(可以求任意数的阶乘,但是。
linux运维Shell编程入门测试题
linux运维Shell编程入门测试题linux运维Shell编程入门测试题1.【单选题】10分| CentOS默认的shell是()A tcshB kshC bashD csh2.【单选题】10分| 编写shell脚本的标准首行是()A #!/usr/bin/perlB #!/usr/bin/expectC #!/bin/bashD #!/usr/bin/env python3.【单选题】10分| 虽然Linux系统没有文件扩展名的概念,但是我们通常认为以()结尾的文件是shell脚本A exeB docC shD py4.【单选题】10分| 要输出或打印环境变量或其他自定义变量定义的内容时,必须在变量名前加()符号而不能直接使用变量名。
A !C #D $5.【单选题】10分| 下面环境变量()表示获取当前执行的shell脚本的文件名。
A $0B $1C $*D $@6.【单选题】10分| 下面环境变量()表示获取当前执行的shell脚本的第1个参数值。
A $0B $1C $*D $@7.【单选题】10分| 下面哪个变量命名不符合命名规则?A oldboyB 123oldboyC oldboy123D oldboy_training8.【单选题】10分| 默认Centos系统命令行下,执行[ -f /etc/hosts ]echo 1 ||echo 0这条命令,输出结果为()B 0C /etc/hostsD True9.【多选题】10分| 下面哪些命令是bash的内置命令?A historyB cdC echoD cat10.【多选题】10分| 在CentOS6系统中,下面选项哪些是系统变量?A HOMEB PATHC SHELLD USE。
精编-Linux shell 练习题
第四章SED和AWK1、下面给出一个记录学生信息的文件student,每条记录包含5个域,域分隔符是“-”,5个域依次是:姓名-专业-出生年份-籍贯-学制。
请按下面要求对此文件时行排序:Q Cai-English-1984-Jiangsu-7Z Wu-Computer-1982-Jiangsh-9H Yuan-Transportation-1978-Anhui-9K Song-Chemistry-1982-Shanghai-4Y Gao-Physical-1981-Hubei-3L Li-Architecture-1977-Guangdong-7N Tang-Computer-1983-Baotao-7(1)按照第2域进行排序,对于专业相同的记录,按照姓名排序(2)按照第3域进行排序,出生年份数值大的排在前面。
(3)按照第4域进行排序,籍贯相同的记录学制小的排在前面,并将此排序结果存储到province文件中。
(4)分别对student文件和province文件测试是否排序;(5)输出每个专业的学生数2、对professor.db文件中文件块根据学校名字进行排序,结果仍然以文本块的格式输出。
Cat professor.dbJ LuoSoutheast UniversityNanJing,ChinaY ZhangVictory UniversityMelbourne, AustraliaD HouBeijing UniversityBeijing,,ChinaB LiuShanghai Jiaotong UniversityShanghai,ChinaC LinUniversity of TorontoToronto,Canada3、定义score文件用于记录学生的平均成绩,结合student文件,输出student和score文件中共有学生的信息及其平均成绩。
Vi scoreQ Cai-92Z Wu-69Y Zhuang-70H Yuan-79L Li-80G Wang-60N Tang-754、将student文件中的第1域和score文件的第2域提取出来,并粘贴到一个新文件中。
linux shell 练习题
linux shell 练习题Linux Shell 练习题Linux Shell 是一种强大的命令行工具,用于管理和操作 Linux 系统。
它能够帮助用户完成各种任务,从简单的文件管理到复杂的系统配置。
为了提高自己的Shell 技能,下面是一些 Linux Shell 练习题,供大家练习和挑战。
1. 查找文件在 Linux 系统中,我们经常需要查找特定的文件。
请编写一个 Shell 脚本,能够在指定目录下查找包含特定关键词的文件,并将结果输出到一个文件中。
2. 文件备份文件备份是保护数据的重要手段。
请编写一个 Shell 脚本,能够将指定目录下的所有文件备份到另一个目录中,并在备份完成后显示备份的文件列表。
3. 文件统计统计文件中的行数、单词数和字符数是一项常见的任务。
请编写一个 Shell 脚本,能够统计指定文件的行数、单词数和字符数,并将结果输出到终端。
4. 文件排序文件排序是对文件内容进行整理和排序的一种方式。
请编写一个 Shell 脚本,能够对指定文件中的文本内容按照字母顺序进行排序,并将结果输出到一个新文件中。
5. 文件压缩文件压缩是减小文件大小、提高存储效率的一种方法。
请编写一个 Shell 脚本,能够将指定目录下的所有文件压缩成一个压缩包,并显示压缩包的大小。
6. 系统监控监控系统资源的使用情况是保证系统正常运行的重要手段。
请编写一个 Shell 脚本,能够实时监控系统的 CPU 使用率、内存使用率和磁盘空间,并将结果输出到终端。
7. 进程管理管理系统进程是保证系统稳定性和安全性的关键任务之一。
请编写一个 Shell 脚本,能够列出系统中所有正在运行的进程,并提供对进程的管理功能,如杀死指定进程等。
8. 网络连接网络连接是现代计算机的重要组成部分。
请编写一个 Shell 脚本,能够列出系统中所有的网络连接,并提供对连接的管理功能,如断开指定连接等。
9. 系统日志系统日志记录了系统的运行状态和事件信息。
Linux Shell编程复习 题集附答案
Linux Shell编程复习题集附答案Linux Shell编程复习题集附答案在本文中,我们将为您提供一份包含答案的Linux Shell编程复习题集。
通过这些题目的练习,您可以加深对Linux Shell编程的理解,并巩固所学知识。
一、基础知识题1. 什么是Shell?Shell是一种解释性的编程语言,用户可以通过Shell来与操作系统进行交互和控制。
答案:Shell是一种解释器,它接收用户的命令并将其转换为操作系统能够理解和执行的形式。
2. 常见的Linux Shell有哪些?答案:常见的Linux Shell有Bash、Zsh、Csh、Ksh等。
3. 如何查看当前使用的Shell是哪种类型?答案:可以使用echo $0命令查看当前使用的Shell类型。
4. 什么是环境变量?如何查看当前的环境变量?答案:环境变量是用来存储系统运行时的配置信息的变量。
可以使用echo $变量名命令查看当前环境变量的值。
5. 如何定义一个变量并给其赋值?答案:可以使用变量名=值的形式来定义并赋值一个变量。
二、基本命令题1. 如何查看当前所在的目录?答案:可以使用pwd命令来查看当前所在的目录。
2. 如何列出当前目录下的所有文件和文件夹?答案:可以使用ls命令来列出当前目录下的所有文件和文件夹。
3. 如何切换到某个目录?答案:可以使用cd命令加上目标目录的路径来切换到某个目录。
例如:cd /path/to/directory。
4. 如何创建一个新的文件夹?答案:可以使用mkdir命令加上目录名来创建一个新的文件夹。
例如:mkdir new_folder。
5. 如何复制一个文件?答案:可以使用cp命令加上源文件和目标文件的路径来复制一个文件。
例如:cp source_file target_file。
三、条件控制题1. 编写一个Shell脚本,判断一个文件是否存在,若存在则输出文件存在,若不存在则输出文件不存在。
linux考试试题及答案
Linux考试试题及答案一、选择题1、在/etc/fstab 文件中指定的文件系统加载参数中,那个参数一般用于CD-ROM 等移动设备(D )A. defaultsB. swC. rw 和 roD. noauto2、Linux 文件权限一共 10 位长度,分成四段,第三段表示的内容是(C)A. 文件类型B. 文件所有者的权限C. 文件所有者所在组的权限D. 其他用户的权限3、在使用 mkdir 命令创建新的目录时,在其父目录不存在时先创建父目录的选项是(D)A. -mB. -dC. -fD. -p4、一台主机要实现通过局域网与另一个局域网通信,需要做的工作是(C)A. 配置域名服务器B. 定义一条本机指向所在网络的路由C. 定义一条本机指向所在网络网关的路由D. 定义一条本机指向目标网络网关的路由5.下列提法中,不属于 ifconfig 命令作用范围的是(D)A. 配置本地回环地址B. 配置网卡的 IP 地址C. 激活网络适配器D. 加载网卡到内核中6、下列关于链接描述,错误的是(B)A. 硬链接就是让链接文件的 i 节点号指向被链接文件的 i 节点B. 硬链接和符号连接都是产生一个新的 i 节点C. 链接分为硬链接和符号链接D. 硬连接不能链接目录文件7、下列文件中,包含了主机DNS 配置信息的文件是(C )A. /etc/host.confB. /etc/hostsC. /etc/resolv.confD. /etc/networks8、那个命令可以从文本文件的每一行中截取指定内容的数据(D)A.cpB.ddC.fmtD.cut9、Linux 有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用(C)命令。
A.catB.moreC.lessD.menu10、对名为 fido 的文件用 chmod 551 fido 进行了修改,则它的许可权是(D)A.-rwxr-xr-xB.-rwxr--r--C.-r--r--r--D.-r-xr-x—x11、文件 exer1 的访问权限为 rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是(A)A.chmod a+x g+w exer1B.chmod 765 exer1C.chmod o+x exer1D.chmod g+w exer112、有关归档和压缩命令,下面描述正确的是(C)A.用 uncompress 命令解压缩由 compress 命令生成的后缀为.zip 的压缩文件B.unzip 命令和 gzip 命令可以解压缩相同类型的文件C.tar 归档且压缩的文件可以由 gzip 命令解压缩D.tar 命令归档后的文件也是一种压缩文件13、下列那一项不是进程和程序的区别(B)A.程序是一组有序的静态指令,进程是一次程序的执行过程B.程序只能在前台运行,而进程可以在前台或后台运行C.程序可以长期保存,进程是暂时的D.程序没有状态,而进程是有状态的14、下列关于/etc/fstab 文件描述,正确的是(D)A.fstab 文件只能描述属于 linux 的文件系统B.CD_ROM 和软盘必须是自动加载的C.fstab 文件中描述的文件系统不能被卸载D.启动时按 fstab 文件描述内容加载文件系统15、如果想配置一台匿名 ftp 服务器,应修改那个文件(C)A./etc/gatewayB./etc/ftpserversC./etc/ftpusersD./etc/inetd.conf16、关于进程调度命令,那一项是不正确的(B)A.当日晚 11 点执行 clear 命令,使用 at 命令:at 23:00 today clearB.每年 1 月 1 日早上 6 点执行 date 命令,使用 at 命令:at 6am Jan 1 dateC.每日晚 11 点执行 date 命令,crontab 文件中应为:0 23 * dateD.每小时执行一次 clear 命令,crontab 文件中应为:0 */1 * clear17、可以完成主机名与 IP 地址的正向解析和反向解析任务的命令是(A)A.nslookupB.arpC.ifconfigD.dnslook18、将光盘/dev/hdc 卸载的命令是(C)A.umount/dev/hdcB.unmount/dev/hdcC.umount/mnt/cdrom /dev/hdcD.unmount/mnt/cdrom /dev/hdc19、用 ftp进行文件传输时,有两种模式(C)E.Word 和 binaryF.txt 和 Word DocumentG.ASCII 和 binaryH.ASCII 和 Rich Text Format20、crontab 文件由六个域组成,每个域之间用空格分割,其排列如下(B)I.MIN HOUR DAY MONTH YEAR COMMANDJ.MIN HOUR DAY MONTH DAYOFWEEK COMMANDMAND HOUR DAY MONTH DAYOFWEEKMAND YEAR MONTH DAY HOUR MIN二、填空题1. 在Linux系统中,以文件方式访问设备。
linux操作题及答案 shell练习题
1.用Shell编程,判断一文件是不是只读文件,如果是将其拷贝到 /dev 目录下。
2.设计一个shell程序,添加一个新组为keji,然后添加属于这个组的30个用户,用户名的形式为usxx,其中xx从01到30。
3.编写shell程序,实现自动删除20个账号的功能。
账号名为us01至us20。
4.设计一个Shell程序,在根目录下建立20个目录,即user1~use r20,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
5、显示传统方式的九九乘法表7、十分钟后系统自动在root目录下新建一子目录test,并将root 目录中的hello.c将文件拷贝到该目录6.某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:(1)在下午3 :20删除/ti目录下的全部子目录和全部文件;(2)每逢星期三下午4:30将/kk目录下的所有目录和文件归档并压缩为文件:backup.tar.gz;(3)在下午5:55将IDE接口的CD-ROM卸载(假设:CD-ROM的设备名为hdc);1.read –p “please input a file:” Fif [ -r $F ]thencp $F /dev/fi2.①groupadd kejii=1while [ $i –le 30 ]do`if [$i –le 9 ]then USER=us0$ielse USER=us$ifiuseradd –g keji $USERi=$[$i+1]done②groupadd kejii=1while [ $i –le 9 ]douseradd –g keji us0$ii=$[$i+1]donewhile [ $i –le 30 ]douseradd –g keji us$ii=$[$i+1]done3.①. i=1while [ $i –le 20 ]doif [$i –le 9 ]then USER=us0$ielse USER=us$ifiuserdel $USERi=$[$i+1]done②i=1while [ $i –le 9 ]douserdel us0$ii=$[$i+1] donewhile [ $i –le 20 ]douserdel us$ii=$[$i+1]done4.cd /i=1while [ $i –le 20 ]domkdir –m 754 user$ii=$[$i+1]done5①#! /bin/shfor i in 1 2 3 4 5 6 7 8 9dofor j in 1 2 3 4 5 6 7 8 9doif ( test $j -le $i ) thenecho -ne `expr $i …X‟ $j`=$(expr $i \* $j) "\t"fidoneecho –ne “\n”done②for I in `seq 1 9`dofor j in `seq 1 $i`doecho –n “ $i*$j=$(expr $i \* $j) ”doneecho –e “\n”done6.①建立普通文件job120 15 * * * rm –r /ti/30 16 * * 3 tar –czvf backup.tar.gz /kk55 17 * * * umount /dev/hdc②生成crontab文件crontab job1检验方法:/var/spool/cron查看有没有job1 7.①生成普通文件job2mkdir –p /root/testcp –r /root/hello.c /root/test/②使用at命令at –f job2 now+10minutes。
linux基础shell考试试卷
姓名___________联系方式__________中科院测试班linux-基础试卷一、选择题1.一个bashshell脚本的第一行是什么()A#!/bin/bashB.#/bin/bashC.#/bin/cshD./bin/bash2.下面哪个命令是用来定义shell的环境变量()A、exportfsB.aliasC.exportsD.export3.哪个命令可以将普通用户转换成超级用户()A.superB.passwdC.tarD.su4.在vi编辑器里,命令"dd"用来删除当前的()A.行B.变量C.字D.字符5.在一行内运行多个命令需要用什么字符隔开()A.@B.$C.;D.*6.按下()键能终止当前运行的命令A.Ctrl-CB.Ctrl-FC.Ctrl-BD.Ctrl-D7.显示用户的主目录的命令是什么?()A.echo$HOMEB.echo$USERDIRC.echo$ENVD.echo$ECHO12.在vi编辑器里,哪个命令能将光标移到第200行()A.g200B.G200C.:200D.200g8.以下哪个命令可以终止一个用户的所有进程()A.skillallB.skillC.killD.killall9vi中哪条命令是不保存强制退出()A.:wqB.:wq!C.:q!D.:quit10.vi中复制整行的命令是()A.y1B.yyC.ssD.dd11.以下对于shell用户变量的定义,不对的是()A.g_Linux=B.LINUX=2.6.30 C12.在终端里执行echo“currentpath:“‘`pwd`’“”结果是:()A.currentpath:/home/LinuxB.current path:’/home/Linux’C.currentpath:’`pwd`’D.currentpath:`pwd`二、填空题1.对于目录间的切换,跳转到上一级目录使用(),切换到当前用户的家目录()2.需要删除目录xx_linux下的所有文件及目录,并无需提示逐一删除,执行命令为()3.终端里执行a=100;b=20;echo&[$a+$b];echo$a+$b;结果分别是()()4.导出历史记录的最近20条记录到cmd.txt文本:()5、vim进入text.c文件里。
