Linux上机练习题shell程序设计基础

合集下载

linux运维Shell编程入门测试题

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 练习题

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编程复习题集。

通过这些题目的练习,您可以加深对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基础、shell程序设计试卷

linux基础、shell程序设计试卷

linux基础、shell程序设计试卷一、选择题。

(每题1分,共20分)1、一个文件名字为rr.tar.gz,可以用来解压缩的命令是()。

A、tarB、gzipC、compressD、uncompress2、关闭liinux系统(不重新启动)可使用的命令是()。

A、ctrl+alt+delB、haltC、shutdown -r nowD、reboot3、修改ip地址的命令是()。

A、pingB、ifconfigC、arpD、traceroute4、在vi编辑器中的命令模式下,键入()可在光标当前所在行下添加一新行。

A、OB、oC、iD、a5、你使用命令“vi /etc/inittab”查看该文件的内容,你不小心改动了一些内容,为了防止系统出问题,你不想保存所修改内容,你应该如何操作()。

A、在底行模式下,键入:wqB、在底行模式下,键入:q!C、在底行模式下,键入:x!D、在编辑模式下,键入“ESC”键直接退出vi6、删除文件命令为()。

A、mkdirB、moveC、mvD、rm7、假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是()。

A、fileB也随之被删除B、fileB仍存在,但是属于无效文件C、因为fileB未被删除,所以fileA会被系统自动重新建立D、fileB会随fileA的删除而被系统自动删除8、改变文件所有者的命令为()。

A、chmodB、touchC、chownD、cat9、在给定文件中查找与设定条件相符字符串的命令为()。

A、grepB、gzipC、findD、sort10、建立一个新文件可以使用的命令为()。

A、chmodB、moreC、cpD、touch11、对名为file的文件用 chmod 551 file命令进行修改,则它的许可权是()。

A、-rwxr-xr-xB、-rwxr--r--C、-r--r--r--D、-r-xr-x--x12、下面不是对linux操作系统特点描述的是()。

习题07_Shell编程

习题07_Shell编程

习题07_Shell编程一、单选1. 下面哪个命令是用来定义shell的全局变量( D )。

A. exportfsB. aliasC. exportsD. export2.在Shell脚本中,用来读取文件内各个域的内容并将其赋值Shell变量的命令是(D )。

A. foldB. joinC. trD. read3. 当字符串用双引号(’’)括起来时,SHELL将(C )。

A. 解释引号内的特殊字符B. 执行引号中的命令C. 不解释引号内的特殊字符D. 结束进程4. 以下哪个环境变量表示当前路径( B )。

A. PATHB. PWDC. HOMED. ROOT5. shell不仅是(用户命令的解释器),它同时也是一种功能强大的编程语言,(bash )是Linux的缺省shell。

6. 编写的Shell程序运行前必须赋予该脚本文件(执行)权限。

7. 对于Shell脚本程序,若输入参数数量多于9个,则程序遍历每个参数可通过使用(shift )命令实现。

8. 为脚本程序指定执行权的命令及参数是(chmod a+x filename )。

9. 在shell编程时,使用方括号表示测试条件的规则是:方括号两边必有(空格)。

10. 输入了Shell命令的部分字符后按( tab )键可补全其余部分。

11.改变命令提示符的环境变量是(PS1 )。

11. grep -E '[Hh]enr(y|ietta)' file的功能是:(在文件File中查找Henry、henry、Henrietta或henrietta)。

12. 如下为命令终端下的一个截图:则,以下两句的执行结果是:(the home path is $HOME )。

path=‘the home path is $HOME’echo $path13. 以下为程序名为prog的程序内容。

则sh prog a b c d的执行结果为( C )。

set A B C Dshiftshiftecho $1三、简答1. 下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。

Linux上机练习题shell程序设计基础

Linux上机练习题shell程序设计基础

上机实习题:1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev目录下。

a#!/bin/bashdirectory=/devfor file in /bin/a2pdoif [ -f $file ]thencp $file $directory/$file.bakFidone2.编写一个 shell 脚本,完成功能: 1)显示文字“Waiting for a while….”2)长格式显示当前目录下面的文件和目录,并输出重定向到/home/file.txt 文件 3)定义一个变量,名为 s,初始值“Hello” 4)使该变量输出重定向到/home/string.txt 文件 m#!/bin/bashecho "waiting for a while… "ls -l.>/home/file.txts=helloecho $s > /home/string.txt3.编写一个 shell 脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。

b#!/bin/bashdir=$1shiftwhile [$1]dofile=$1cp $1 $dirshiftdonels $dir4.编写一个 shell 脚本,利用 for 循环将当前目录下的.c 文件移动到指定的目录,并按文件大小显示出移动后指定的目录的内容。

d#!/bin/bashfor file in *.c{mv /$file/bin/a}ls -lS /bin/a5.利用数组形式存放 10 个城市的名字,然后利用 for 循环把它们打印出来。

c#!/bin/bashcity=(jinan,qingdao,rizhao,weifang,beijing,shanghai,shenzhen,guangzhou,chongqi ng,nanjing)for i in ${name[*]}doecho $idone6.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。

linux操作题及答案 shell练习题

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编程_Shell脚本练习题

Linux编程_Shell脚本练习题1,编写shell脚本,计算1~100的和。

#! /bin/bashsum=0for i in `seq1100`;dosum=$[$i+$sum]doneecho $sum2,编写shell脚本,输⼊⼀个数字n并计算1~n的和。

要求:如果输⼊的数字⼩于1,则重新输⼊,直到输⼊正确的数字为⽌。

#! /bin/bashread -p "input number:" nsum=0;for((i=0;i<=$n;i++))dosum=`expr $sum + $i`doneecho $sum3,编写shell脚本,批量建⽴⽤户user_00、user_er_99。

要求:所有⽤户同属于users组。

#! /bin/bashgroupadd usersfor i in `seq -w09uesradd -g users user_0$i4done4,编写shell脚本,批量添加⽤户 jsj01-jsj09、jsj10-jsj99。

#! /bin/bashfor((i=1;i<20;i++));doif(i<10);thenjsj="jsj0$i";elsejsj="jsj$i";fiuseradd $jsjdone5,编写shell脚本,要求实现如下功能:当执⾏⼀个程序的时候,这个程序会让使⽤者选择boy或者girl;如果使⽤者输⼊B或者b时,就显⽰:He is a boy;如果使⽤者输⼊G 或者g时,就显⽰:He is a girl;如果是除了B/b/G/g以外的其他字符,就显⽰:I don’t know。

#! /bin/bashecho -n your choice:read choicecase $choice ing)echo"She is a girl.";;G)echo"She is a girl.";;b)echo"He is a boy.";;B)echo"He is a boy.";;*)echo"I don't know.";;esac6,编写shell脚本,实现两个变量之间的加减乘除运算。

Shell编程考试试题

Shell编程考试试题

Shell编程考试试题Linux基础与Shell编程试题(1-30每题2分,31-40每题4分,满分100分,时间为60分钟。

)姓名:得分:1.vi编辑器的三种模式:( )( )( )2.CD-ROM标准的文件系统类型是:()3.将/home/ambow目录做归档压缩,压缩后生成ambow.tar.bz2的命令是()4.在Linux系统下,第二个IDE硬盘的标号为:()5.删除a.txt文件的命令是(),删除目录的选项是()6.在Linux系统中创建用户ambow,命令是( )7.改变/home/ambow/test目录的权限为所有者拥有全部权限,同组用户读写权限,其他人只读权限,命令为()8.改变/home/ambow/test所有者为root的命令是()9.需要中断一个进程时,可以使用的命令和快捷键()( )10.Linux缺省的文件系统是:()11.在vi编辑器中的命令模式下,键入()可在光标当前所在行下添加一个新行。

12.在vi编辑器中删除一个字符的命令是:()13.在vi编辑器中复制一行的命令:()14.vi编译器的用户配置文件是:(),位于( )目录下。

15.vi编辑器设置显示行号的命令是: ()16.在vi编辑器中,如果对文件做了修改但不想保存当前修改内容,用( )命令退出17.在文件/etc/services中查找“tcp”字符串的命令()18.查找文件/etc/services中不包含注释行的命令是()19.显示一个文件最后几行的命令是:()20.用户登录密码的存放文件是()21.显示文件详细信息和inode节点的命令是( )22.查看pwd帮助信息的命令是()23.查看pwd命令所在位置的命令是()24.将同一目录下的文件file1更名为file2 的命令是()25.常用查看进程的命令是()26.查看httpd相关进程的命令是()27.安装、删除、查看rpm包的命令是()()()28.定义S hell变量MyName的值为ambow sram()29.查看当前分区情况的命令()30.查看运行级别和切换运行级别的命令()()31.写出以下目录的作用/dev/etc/boot/home/usr/proc32.简述系统启动的流程33.添加用户ambow,密码为123456的方法有:如何批量添加用户sqt110701-sqt11073034.符号链接与硬链接、拷贝的区别35.Linux缺省启动时的运行级别有几种,分别描述作用及注意事项36.简述源代码包的安装步骤,以proftpd-1.3.3e.tar.gz为例37.简述Shell变量的定义方式38.每晚11:30备份/boot目录的内容到/home/ambow目录下,并保存错误日志,日志文件的名称以日期命名,格式为 :bootbak20110728.err39.写一个shell脚本,测试httpd服务是否启动,如果启动输出"OK",如果没有启动则启动httpd服务40.写一个shell脚本,读入一个文件名,判断是否为目录,如果是,打印目录内容;如果不是输出文件。

LINUXSHELL命令练习题

LINUXSHELL命令练习题

LINUXSHELL命令练习题LINUX SHELL命令练习题(1)1)Linux 核心的许可证是什么?a. NDAb. GDPc. GPLd.GNU2)谁是Linux的创始人a. Turbolinuxb. AT&T Bell Laboratryc. University of Helsinkid. Linus Torvalds3)确定myfile的文件类型的命令是什么a. type myfileb. type -q myfilec. file myfiled. whatis myfile4)用来分离目录名和文件名的字符是什么a. slash (/)b. period (.)c. dash (-)d. asterisk (*)5)你想显示文件"longfile"的最后10行,下面那个命令是正确的(选择最合适的答案)a、tail logfileb、head -10 longfilec、tail -d 10 longfiled、head longfile6)假如你得到一个运行命令被拒绝的信息,你可以用哪个命令去修改它的权限使之可以正常运行a. path=b. chmodc. chgrpd. chown7)拷贝mydir\myfile文件到dir2目录下,但是系统提示这个文件已经存在,下面那个命令是正确的a、cp -w mydir\myfile dir2b、cp -i mydir\myfile dir2c、cp mydir\myfile dir2d、cp -v mydir\myfile dir28)下面那个命令允许对文件重命名(选择最合适的答案)a、rnb、rnamec、replaced、mv9)假如文件是按8进制来定义,下面那个值代表了读和写a、2b、6c、4d、110)linux临时目录一般存在下面那个文件夹中a、/tmpb、/procc、/datad、/dev11)一个文件的权限是-rw-rw-r--,这个文件所有者的权限是什么a、read-onlyb、read-writec、writed、read-write-excute12)下面哪个值代表多用户启动a、1b、0c、3d、513)下面哪个文件代表系统初始化信息a、/etc/inittabb、/etc/initc、/etc/procd、/etc/initproc14)哪条命令从当前系统切换到启动级别1a、inittab 1b、init 1c、level 1d、rlevel115)下面哪个选项能取消shutdown命令a、shutdown -cb、shutdown -xc、shutdown -ud、shutdown -n16)哪个符号加在命令后面可以在后台执行程序a. @b. &c. #d. *17)在vi编辑器里,哪个命令能将光标移到第200行a. 200gb. :200c. g200d. G20018)下面哪个配置文件用来定义syslog的后台进程a、system.confb、syslog.confc、syslogdd、slog.conf19)下面哪个syslog.conf代表httpd进程a、httpdb、procc、smtpd、daemon20)你给公司的新同事添加一个用户,你起初指定他的帐号在30天后过期,现在想改变这个过期时间,用下面哪个命令a、usermod -ab、usermod -dc、usermod -xd、usermod -e21)用下面哪个命令可以不用退出vi编辑器来切换文件a. :e for edit commandb. map commandc. export commandd. set command22)下面哪个选项用来添加用户定义用户登录的shella、-sb、-uc、-ld、-sh23)如果你想给变量"IQ"定义为4,下面哪些是正确的a、IQ=4b、set IQ=4c、set $IQ=4d、IQ set 424)在系统重建的时候,下面哪个参数能用来对mkfs命令检查坏块a、-bb、-ec、-cd、-check25)哪一个命令能用来查找在文件TESTFILE中只包含四个字符的行?a.grep '' TESTFILEb.grep '....' TESTFILEc.grep '^$' TESTFILEd.grep '^....$' TESTFILE26)哪一个命令能用来删除当前目录及其子目录下名为‘core'的文件?a.find . -name core -exec rm ;b.find . -name core -exec rm {} \ ;c.find . -name core -exec rm {} -;d.find . -name core -exec rm {} ;27)用标准的输出重定向(>)”>file01”能使文件file01的数据a. 被复制b. 被移动c. 被覆盖d. 被打印28)按_____键能中止当前运行的命令a. Ctrl-Db. Ctrl-Cc. Ctrl-Bd. Ctrl-F29)下面对Linux命令的描述哪个是正确的a. 不是大小写敏感的b. 都是大写的c. 大小写敏感d. 都是小写30)在vi编辑器里,命令”dd”用来删除当前?a. 字b. 字符c. 变量d. 行31)下列哪一个命令能被用来重定向管道的输出到标准输出和指定的文件中?a.catb.lessc.teed.wee32)spool文件系统放到什么位置a、/procb、/spoolc、/vard、/lpd33)下面哪个命令能去掉主引导信息里的内容a、fdisk /mbrb、format /mbrc、mbr /formatd、mbr /replace34)下面哪条命令可以显示交换内存a、showmemb、freememc、swapd、free35)下面哪条命令可以显示用户默认设置a、useradd -ub、show defaultsc、show user defaultsd、useradd –D36)下面哪段定义了添加一个tar文件的信息a、use the append commandb、use the add commandc、use the tar command with the -a switchd、use the tar command with the -r switch37)在vi中下列哪些命令可以用来在光标前插入文本?a. p [text]b. a [text]c. i [text]d. o [text]38)关于linux下列说明哪些是正确的?a. Linux 是一个开放源码的操作系统.b. Linux 是一个类UNIX的操作系统.c. Linux 是一个多用户的操作系统.d. Linux 是一个多任务的操作系统.39)哪些命令组合起来能统计多少用户登录系统a.who | wc -wb.who | wc -lc.who | wc -cd.who | wc40)如果你对文件和目录的权限不确定,则不能用_______命令来检测权限.a. psb. ls -lc. ckd. chown41)下面哪些环境变量是在Turbolinux shell下被定义的?a. PATHb. CDc. PS1d. TERM42)创建一个用户帐号需要在/etc/passwd中定义哪些信息a、login nameb、password agec、default groupd、userid43)在本地的文件系统中下列哪些linux路径结构是无效的?a. //usr\zhang/memob. \usr\zhang\memoc. /usr/zhang/memod. \usr/zhang/memo44)Turbolinux支持哪些编程语言a.Perlb.Pythonc.C++d.Fortran45)echo命令可以用来显示?a. 参数b. 文本字符c. 过滤内容d. shell 变量LINUX SHELL命令练习题(2)1、下列那一个指令能用来列出目录的内容?A. lsB. psC. rmD. del2、下列那一个指令能用来显示文件的内容?A. psB. rmC. cdD. cat3、下列那一个指令能转换目录?A. psB. lsC. cdD. rm4、下列那一个指令能清除屏幕?A. clsB. clearC. checkD. put5、下列那一个指令能显示目前的路径?A. showB. cdC. pwdD. more6、下列那一个指令无法用来分页显示文件内容?A. moreB. lessC. cat file | moreD. ps7、下列那一个指令能拷贝文件?A. rmB. cdC. talkD. cp8、下列那一个指令能新建空目录?A. mkB. dirC. rmdirD. mkdir9、下列那一个指令能在文件中搜寻关键词?A. psB. catC. moreD. grep10、下列那一个指令能删除空目录?A. rmdirB. moreC. cpD. cls11、下列那一个指令能删除文件?A. cpB. mkdirC. rmD. rmdir12、下列那一个指令能新建一个空文档?A. rmB. pwdC. moreD. touch13、下列那一个指令能变更系统时间?A. timeB. dateC. clockD. settime14、下列那一个指令能新增使用者账号?A. adduserB. newuserC. getuserD. nuser15、下列那一个指令能设定使用者的密码?A. pwdB. newpwdC. passwdD. password16、下列那一个指令能转换使用者身份?A. passwdB. logC. whoD. su17、下列那一个指令能显示磁盘剩余空间?A. ddB. dfC. dwD. du18、下列那一个指令能显示目录的大小?A. ddB. dfC. du19、下列那一个指令能用来搜寻文件?A. findB. ffindC. fwhereD. fwho20、下列那一个指令能用来挂载文件系统?A. muntB. mountC. unmountD. umont21、下列那一个指令能用来卸载文件系统?A. umountB. unmountC. mountD. umont22、下列那一个指令能用来格式化软盘?A. formatB. fdC. fdformatD. mkdir23、下列那一个指令能用来制作启动盘?A. mkdirB. mkdiskC. mkbootdiskD. mktemp24、下列那一个指令能用来显示进程?A. dsB. psC. as25、下列那一个不是压缩指令?A. compressB. gzipC. bzip2D. tar26、下列那一个指令能用来将某一个目录打包成一个文件?A. tarB. cheeseC. queeD. wzip27、下列那一个指令能用来改动文件目录的权限属性A. chownB. chmodC. chshD. chpwd28、下列那一个指令能用来改动文件拥有者及群组?A. chownB. chmodC. chshD. chpwd29、下列那一个指令能用来改动shell的使用种类?A. chownB. chmodC. chshD. chpwd30、下列那一个指令能用来查看谁在在线?A. whomB. whoC. whoami31、下列那一个指令能用来查看系统负载情形A. wB. whoC. loadD. ps32、下列那一个指令能用来显示使用者自己是什么身份?A. psB. whoamiC. whoD. w33、下列那一个指令能用来查看核心版本等信息?A. showB. unameC. nameD. system34、下列那一个指令能用来显示主机名称?A. hostB. digC. hostnameD. nslookup35、下列那一个指令能用来显示网卡的设定情形?A. ifB. ifconfC. ifconfigD. eth036、下列那一个指令能用来显示开机过程的重要讯息画面?A. dmesgB. mesgC. showsys37、下列那一个指令能用来查看内存?A. mfB. freeC. memoryD. memshow38、下列那一个指令能用来查看程序执行的情形和内存?A. topB. freeC. showpsD. memrun39、下列那一个指令能用来查看系统负载及已开机天数?A. wB. powerC. bootdirD. uptime40、下列那一个指令能用来关机?A. poweroffB. shutdownC. rebootD. closeboot41、下列那一个不能用来重启?A. init 0B. rebootC. shutdownD. init 642、下列那一个指令能用来转换至不同的runlevels?A. telB. telinitC. goto43、下列那一个指令能用来显示网络连结,路由表,网络接口状态等信息?A. netstatB. psC. netD. shownet44、bash 是指一种?A. shellB. batch commandC. cgiD. asp45、忘了root密码应该怎么处理?A. 重装系统B. 关机C. 进入单人模式,用passwd重设密码D. 制作启动盘46、文件权限755 , 对文件拥有者而言, 何义?A. 可读,可执行, 可写入B. 可读C. 可读,可执行D. 可写入47、目录权限711 , 对其他人(非目录拥有者)而言, 何义?A. 可执行B. 可进入C. 可读,可执行D. 可写入48、rw-rw-rw- 的权限属性, 用八进制数字系统, 怎么表示?A. 555B. 444C. 777D. 66649、rw-r----x 的权限属性, 用八进制数字系统, 怎么表示?A. 641B. 341C. 541D. 44150、何谓具suid 权限?A. 程序只有root才能执行B. 程序只有文件拥有者才能执行C. 程序只有nobody才能执行D. 执行时和文件拥有者具相同身份LINUX SHELL命令练习题(3)1.cron 后台常驻程序(daemon) 用于:A. 负责文件在网络中的共享B. 管理打印子系统Manages the printing subsystemC. 跟踪管理系统信息和错误D. 管理系统日常任务的调度(scheduling)2.在大多数Linux发行版本中,以下哪个属于块设备(block devices) ?A. 串行口B. 硬盘C. 虚拟终端D. 打印机3.下面哪个Linux命令可以一次显示一页内容?A. pauseB. catC. moreD. grep4.怎样了解您在当前目录下还有多大空间?A. Use dfB. Use du /C. Use du .D. Use df .5.怎样更改一个文件的权限设置?A. attribB. chmodC. changeD. file6.假如您需要找出/etc/my.conf 文件属于哪个包(package) ,您可以执行:A. rpm -q /etc/my.confB. rpm -requires /etc/my.confC. rpm -qf /etc/my.confD. rpm -q | grep /etc/my.conf7.假如当前系统是在level 3 运行,怎样不重启系统就可转换到level 5 运行?A. Set level = 5B. init 5C. run 5D. ALT-F7-58.那个命令用于改变IDE 硬盘的设置?A. hdparamB. ideconfigC. hdparmD. hddparm9.下面哪个命令可以列出定义在以后特定时间运行一次的所有任务?A. atqB. cronC. batchD. at10.下面命令的作用是:set PS1="[uwt]\$",export PS1A. 改变错误信息提示B. 改变命令提示符C. 改变一些终端参数D. 改变辅助命令提示符11.作为一个管理员,你希望在每一个新用户的目录下放一个文件.bashrc ,那么你应该在哪个目录下放这个文件,以便于新用户创建主目录时自动将这个文件复制到自己的目录下。

(最新整理)49道shell基础题

(最新整理)49道shell基础题

(完整)49道shell基础题编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)49道shell基础题)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)49道shell基础题的全部内容。

一、vi编辑器的使用练习1.请在 /tmp 这个目录下建立一个名为 vitest 的目录;mkdir /tmp/vitest2.进入 vitest 这个目录当中。

cd /tmp/vitest3.将 /etc/man。

config 拷贝到本目录底下;cp /etc/man。

config .4.使用 vi 开启本目录下的 man。

config 这个文件.Vi man。

config5.在 vi 中设定一下行号。

:set nu6.移动到第58行,看到的是什么内容?58G7.移动到第一行,并且向下搜寻一下bzip2 这个字符串,请问他在第几行?1G 然后 /bzip2 在118行8.接着下来,我要将 50 到 100 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改,如何下达指令?:50,,100s/man/MAN/gc9.修改完之后,突然反悔了,要全部复原,有哪些方法?一直按u,直到回到想要的地方10.我要复制 51 到 60 行这十行的内容,并且贴到最后一行之后;51G 然后10yy 按下G到最后一行然后p即可11.删除 11 到 30 行之间的 20 行;11G 20dd12.将这个文件另存成一个 man.test.config 的文件名;:w man。

test。

config13.去到第 29 行,并且删除 15 个字符;29G 15x14.在第一行新增一行,该行内容输入“I am a student”1G O 然后输入即可15.保存后离开:wq二、文件和目录管理1.查看当前的路径。

shell练习题

shell练习题

shell练习题Shell练习题Shell是一种命令行解释器,它是Linux和Unix系统中最常用的一种。

通过Shell,用户可以直接与操作系统进行交互,并执行各种系统命令和脚本。

掌握Shell编程对于系统管理员和开发人员来说是非常重要的。

本文将介绍一些常见的Shell练习题,帮助读者提高对Shell的理解和应用。

1. 文件操作文件操作是Shell编程中最常见的任务之一。

以下是一些练习题,帮助读者熟悉文件操作命令:- 创建一个名为"test.txt"的文件,并写入一些文本内容。

- 使用cat命令查看文件的内容。

- 使用cp命令将文件复制到另一个目录。

- 使用mv命令将文件移动到另一个目录。

- 使用rm命令删除文件。

2. 目录操作目录操作是管理文件和文件夹的重要部分。

以下是一些练习题,帮助读者学习如何在Shell中进行目录操作:- 使用mkdir命令创建一个名为"test"的目录。

- 使用cd命令进入该目录。

- 使用pwd命令查看当前所在目录的路径。

- 使用ls命令列出当前目录下的文件和文件夹。

- 使用rmdir命令删除该目录。

3. 变量和参数Shell编程中,变量和参数的使用非常重要。

以下是一些练习题,帮助读者学习如何在Shell中定义和使用变量和参数:- 定义一个名为"name"的变量,将其值设置为你的名字,并打印出来。

- 编写一个脚本,接受一个参数,并将其打印出来。

- 编写一个脚本,计算两个参数的和,并将结果打印出来。

4. 条件判断和循环条件判断和循环结构是Shell编程中常用的控制结构。

以下是一些练习题,帮助读者学习如何在Shell中使用条件判断和循环:- 编写一个脚本,判断一个数字是否为偶数,并打印出结果。

- 编写一个脚本,使用for循环打印出1到10的数字。

- 编写一个脚本,使用while循环计算1到100的和,并打印出结果。

shell脚本基础练习

shell脚本基础练习
do
echo "$num"
done
5.
复制代码 代码如下:
#/bin/bash
echo "Please enter a user:"
read a
b=$(whoami)
if test $a = $b
then echo "the user is running."
else echo "the user is not running."
;;
*) echo "error"
;;
esac
21.yes/no返回不同的结构
复制代码 代码如下:
#!/bin/bash
clear
echo "enter [y/n]:"
read a
case $a in
y|Y|Yes|YES) echo "you enter $a"
;;
n|N|NO|no) echo "you enter $a"
;;
*) echo "error"
;;
esac
22.内置命令的使用
复制代码 代码如下:
#/bin/bash
clear
echo "Hello, $USER"
echo
echo "that's all folks! "
23.打印无密码用户
复制代码 代码如下:
#/bin/bash
echo "No Password User are :"

Linux--shell练习题

Linux--shell练习题

Linux--shell练习题1、判断/etc/inittab⽂件是否⼤于100⾏,如果⼤于,则显⽰”/etc/inittab is a big file.”否者显⽰”/etc/inittab is a small file.”#!/bin/bash#判断/etc/inittab⽂件是否⼤于100⾏,如果⼤于,则显⽰“/etc/initabb is a big file." 否则显⽰”/etc/inittab is a small file."Line=`wc -l /etc/inittab |cut -d"" -f1`if [ $Line -gt 100 ];thenecho"/etc/initabb is a big file."elseecho"/etc/inittab is a small file."fi2、给定⼀个⽤户,来判断这个⽤户是什么⽤户,如果是管理员⽤户,则显⽰“该⽤户为管理员”,否则显⽰“该⽤户为普通⽤户”#!/bin/bash#给定⼀个⽤户,来判断这个⽤户是什么⽤户,如果是管理员⽤户,则显⽰“该⽤户为管理员”,否则显⽰“该⽤户为普通>⽤户”a=`whoami`str="root"if [ $a = $str ];thenecho"该⽤户为管理员"elseecho"该⽤户为普通⽤户"fi3、判断某个⽂件是否存在#!/bin/bash#判断某个⽂件是否存在read -p "你要查找的⽂件" varfind $var &> NULLif [ $? -eq 0 ];thenecho"这个⽂件存在"elseecho"这个⽂件不存在"fi4、判断当前系统上是否有⽤户的默认shell程序是否为bash程序,如果有,就显⽰有多个这类⽤户,否则就显⽰没有这类⽤户;【并且显⽰出那些⽤户是bash】#!/bin/bash#判断当前系统上是否有⽤户的默认shell程序是否为bash程序,如果有,就显⽰有多个这类⽤户,否则就显⽰没有这类⽤户;>【并且显⽰出那些⽤户是bash】grep"bash" /etc/passwd &> /dev/nullif [ $? -eq 0 ];thenecho"有多个这个类⽤户"elseecho"没有这类⽤户"figrep"bash" /etc/passwd |cut -d":" -f15、写出⼀个脚本程序,给定⼀个⽂件,⽐如:/etc/inittab a、判断这个⽂件中是否有空⽩⾏? b、如果有,则显⽰其空⽩⾏的⾏号,否则显⽰没有空⽩⾏#!/bin/bash#写出⼀个脚本程序,给定⼀个⽂件,⽐如:/etc/inittab a、判断这个⽂件中是否有空⽩⾏? b、如果有,则显⽰其空⽩⾏的⾏号,否则显⽰没有空⽩⾏a=`grep"^$" /etc/inittab |wc -l`if [ $a -gt 0 ];thenecho"含有空⽩⾏"grep -n ^$ /etc/inittabelseecho"没有空⽩⾏"fi6、写⼀个脚本程序,给定⼀个⽤户,判断其UID与GID是否⼀样,如果⼀样,就显⽰该⽤户为“good guy”,否则显⽰为“bad guy”#!/bin/bash#写⼀个脚本程序,给定⼀个⽤户,判断其UID与GID是否⼀样,如果⼀样,就显⽰该⽤户为“good guy”,否则显⽰为“bad guy”read -p "请输⼊⼀个要查询的⽤户:" useruid=`grep"$user" /etc/passwd | cut -d":" -f3`gid=`grep"$user" /etc/passwd | cut -d":" -f4`if [ $uid -eq $gid ];thenecho"good guy"elseecho"bad guy"fi7、写⼀个脚本程序,给定⼀个⽤户,获取其密码警告期限7;然后判断⽤户最近⼀次修改密码的时间距离今天是否已经⼩于警告期限;#!/bin/bash#写⼀个脚本程序,给定⼀个⽤户,获取其密码警告期限;然后判断⽤户最近⼀次修改密码的时间距离今天是否已经⼩于警告期限;read -p "请输⼊⼀个⽤户:" userW=`grep $user /etc/shadow | cut -d: -f6`S=`date +%s`T=`expr $S/86400`L=`grep $user /etc/shadow | cut -d":" -f5`N=`grep $user /etc/shadow | cut -d":" -f3`SY=$[$L-$[$T-$N]]if [ $SY -lt $W ];thenecho'Warning'elseecho'OK'fi8、判断命令历史中历史命令的总条⽬是否⼤于1000,如果⼤于,则显⽰“some command will gone”,否则显⽰OK#!/bin/bash#判断命令历史中历史命令的总条⽬是否⼤于1000,如果⼤于,则显⽰“some command will gone”,否则显⽰OKnum=`history | wc -l`if [ $num -gt 1000 ];thenecho"some command will gone"elseecho"OK"fi9、给定⼀个⽂件,如果是普通⽂件,就显⽰出来,如果是⽬录⽂件,也显⽰出来,否则就显⽰“⽆法识别”#!/bin/bash#给定⼀个⽂件,如果是普通⽂件,就显⽰出来,如果是⽬录⽂件,也显⽰出来,否则就显⽰“⽆法识别”read -p "请输⼊⼀个⽂件:"fileif [ -f $file ];thenecho"普通⽂件"elif [ -d $file ];thenecho"⽬录⽂件"elseecho"⽆法识别"fi10、写⼀个脚本,能接受⼀个参数(⽂件路径),判断这个参数如果是⼀个存在的⽂件就显⽰“ok”,否则显⽰“No such file”#!/bin/bash#写⼀个脚本,能接受⼀个参数(⽂件路径),判断这个参数如果是⼀个存在的⽂件就显⽰“ok”,否则显⽰“No such file”read -p "请输⼊⼀个路径:" routeif [ -f $route ];thenecho"ok"elseecho"No such file"fi11、写⼀个脚本,给脚本传递两个参数,显⽰两则之和和两者之积#!/bin/bash#写⼀个脚本,给脚本传递两个参数,显⽰两则之和和两者之积read -p "请输⼊第⼀个数:" num1read -p "请输⼊第⼆个数:" num2sum=$[$num1+$num2]product=$[$num1*$num2]echo"$num1+$num2=$sum"echo"$num1"x"$num2=$product"。

Shell基础练习题PPT课件

Shell基础练习题PPT课件
16
#!/bin/sh DIRNAME=`ls /root | grep bak` if [ -z "$DIRNAME" ] ; then
mkdir /root/bak cd /root/bak fi YY=`date %y` MM=`date %m` DD=`date %d` BACKETC=$YY$MM$DD_etc.tar.gz tar -zcvf $BACKETC /etc echo “fileback finished!”
12
case “$1″ in #case结构开始,判断“位置参数”决定执行 的操作。本程序携带一个“位置参数”,即$1
‘start’) #若位置参数为start /usr/sbin/apachectl start ;; #启动httpd进程 ‘stop’) #若位置参数为stop /usr/sbin/apachectl stop ;; #关闭httpd进程 ‘restart’) #若位置参数为stop /usr/sbin/apachectl restart ;; #重新启动httpd进程 *) #若位置参数不是start、stop或restart时 echo “usage $0 start|stop|restart” ;; #显示命令提示信
录,不存在先创建/userdata再创建子目录 • 权限赋值rwxr-xr-- 数字方式754
10
#! /bin/bash #adddir.sh i=1 while [ $i -le 50 ] do if [ -d /userdata ] then
mkdir -p /userdata/user$i else
息:程序的正确调用方法 esac #case结构结束 (2)程序的功能是启动,停止或重新启动httpd进程 (3)程序的调用方式有三种:启动,停止和重新启动。

linux shell练习题

linux shell练习题

linux shell练习题Linux Shell是一种基于文本界面的操作系统Shell,可以通过Shell 命令来管理和操作计算机系统。

对于初学者来说,掌握Shell语言是非常重要的。

在本篇文章中,将为你提供一些Linux Shell练习题,帮助你巩固和提升自己的Shell编程技能。

1. 练习题一:文件处理a) 在当前目录下创建一个名为"mydir"的目录。

b) 在"mydir"目录中创建一个名为"mytext.txt"的空白文件。

c) 将"mytext.txt"文件的权限设置为只读。

d) 在"mydir"目录下创建一个名为"mycopy.txt"的文件,并将"mytext.txt"的内容复制到"mycopy.txt"中。

e) 删除"mytext.txt"文件。

2. 练习题二:文本处理a) 创建一个名为"mytext.txt"的文本文件,并在文件中写入以下内容:```Hello, world!This is a test file.This file will be used for text processing exercises.```b) 统计"mytext.txt"文件中的行数、单词数和字符数。

c) 在"mytext.txt"文件中,将所有的"test"替换为"practice"。

d) 在"mytext.txt"文件的每一行前加上行号,并将其保存到一个新文件中。

3. 练习题三:条件语句和循环a) 输入一个数字,判断该数字是正数、负数还是零,并输出相应的提示信息。

b) 输入一个字符串,判断该字符串是否为回文字符串(正序和逆序均相同),并输出相应的结果。

shell编程练习题(第一部分)

shell编程练习题(第一部分)

shell知识整理—初级部分
对于shell基础比较薄弱的同学,以下内容是需要了解和掌握的(推荐鸟哥的linux私方菜基础学习篇):
一.基础知识
1.认识并了解linux和shell的基础内容(4h)
2.linux的文件和目录管理相关命令(2h)
3.linux的文件的压缩和打包命令(1h)
4.vi文字处理器的使用和常见命令(2h)
5.程序和资源管理相关的命令,包括:进程察看,资源占用等(4h)
二.习题
1、找到机器上的java进程,并将其杀死(0.5h)
2、察看机器上所有进程的资源占用情况(0.5h)
3、找出根目录下的所有文件中包含“aaww”的所有文件(0.5h)
4、修改系统的时间(0.5h)
5、察看机器上的端口的占用情况(0.5h)
6、察看系统的可用磁盘空间大小(0.5h)
7、察看每个文件的占用空间的大小(0.5h)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上机实习题:
1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev
目录下。

a
#!/bin/bash
directory=/dev
for file in /bin/a2p
do
if [ -f $file ]
then
cp $file $directory/$file.bak
Fi
done
2.编写一个 shell 脚本,完成功能: 1)显示文字“Waiting for a while….”
2)长格式显示当前目录下面的文件和目录,并输出重定向到
/home/file.txt 文件 3)定义一个变量,名为 s,初始值“Hello” 4)使该变量输出重定向到/home/string.txt 文件 m
#!/bin/bash
echo "waiting for a while… "
ls -l.>/home/file.txt
s=hello
echo $s > /home/string.txt
3.编写一个 shell 脚本,它把第二个位置参数及其以后的各个参数指定的文
件复制到第一个位置参数指定的目录中。

b
#!/bin/bash
dir=$1
shift
while [$1]
do
file=$1
cp $1 $dir
shift
done
ls $dir
4.编写一个 shell 脚本,利用 for 循环将当前目录下的.c 文件移动到指定
的目录,并按文件大小显示出移动后指定的目录的内容。

d
#!/bin/bash
for file in *.c
{
mv /$file/bin/a
}
ls -lS /bin/a
5.利用数组形式存放 10 个城市的名字,然后利用 for 循环把它们打印出
来。

c
#!/bin/bash
city=(jinan,qingdao,rizhao,weifang,beijing,shanghai,shenzhen,guangzhou,chongqi ng,nanjing)
for i in ${name[*]}
do
echo $i
done
6.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30
个用户,用户名的形式为stdxx,其中xx从01到30。

f
!/bin/bash
groupadd class1
for ((i=1;i<=30;i++))
do
if [ $i -lt 10 ];then
username="std0"$i
else
username="std"$i
fi
useradd -G class1 $username
done
7.编写shell程序,实现自动删除50个账号的功能。

账号名为stud1至stud50。

#!/bin/bash
i=1
while [$i-lt10];do
if [$i-ne10];then
uesrdel stud0${i}
else
usedel stud${i}
fi
i='expr $i+1'
done
8.请写出下列程序在命令行执行#./task3 100 Fran USA Eng China
运行后的结果(程序名为task3)。

#!/bin/bash
echo “received $# params.”
echo “program is:$0”
echo “Arg1 is:$1”
shift
shift
echo “Arg2 is:$1”
echo “Arg3 is:$3”
9.设计一个菜单驱动程序。

如下:
Use one of the following options:
P: To display current directory
S: To display the name of running file
D: To display today’s date and present time
L: To see the listing of files in your present working directory W: To see who is logged in
Q: To quit this program
Enter your option and hit :
菜单程序将根据用户输入的选择项给出相应信息。

要求对用户的输入忽略大小写,对于无效选项的输入给出相应提示。

要求使用case语句实现以上功能,输入响应的字母后应该执行响应的命令完成每项功能,如输入P,就执行pwd命令。

#! /bin/sh
# mymenu.sh
echo "use one of the following options:"
echo "D:To display today's date and present time"
echo "L:To see the listing of files in youy present working directory"
echo "W:To see who is logged in"
echo "Q:To quit the program"
read option
case "$option" in
D) date;;
L) ls;;
W) who;;
Q) exit 0;;
*) echo "invalid option:try running the program again" exit 1;;
esac
exit 0
~。

相关文档
最新文档