文档库 最新最全的文档下载
当前位置:文档库 › linux命令考试要求

linux命令考试要求

linux命令范围

文件管理

?目录操作

?ls 浏览目录(-l i a F)

?cd 进入目录

?pwd 显示当前目录

?mkdir 新建目录(-m p)

?rmdir 删除目录(- p)

?文件操作

?touch 新建文件

?ln 新建链接文件(-s)

?cp 复制文件(-i f l R)

?mv 移动(重命名)文件(-i f v u)

?rm 删除文件(-i f v r)

?显示文件内容:

?cat

?more 可向后翻页

?less 前后翻页

?cut 选择文件部分内容输出:(-c f)

?查找文件

?find 按名字查找(-name、-user 、-size 、

-type)

?locate 按名字查找

?grep 在多文件里查找指定的字符串(会配合管道使用)

?chmod 设置文件权限(文字设定法、数字

设定法)

?wc 统计字数、行数(-c w l)

登录退出

?login

?exit

?halt

?shutdown

用户管理

?who 显示目前登入系统的用户信息

?passwd 设置密码

?useradd、usermod、userdel(熟悉/etc/passwd

文件内容)

?su 转换身份

磁盘管理

?tar 打包、压缩处理(-c x v f j z)?mount 挂载磁盘(-t)umount

?fdisk、mkfs

?apt-get

?df 检查文件系统的磁盘空间占

用情况

进程管理

?ps、top 查看进程(ps:-l a

x u top:)

?kill -9 进程号终止进程

?alias 设置命令别名date 查看、设置系

统时间clear清屏

选择

1.LINUX文件系统的目录结构是一棵倒挂的

树,文件都按其作用分门别类地放在相关的目录

中。现有一个外部设备文件,我们应该将其放在

_________目录中。

A./bin B./etc C./dev D.lib

2.ls –al 命令列出下面的文件列表,问那一个文

件是符号连接文件。()

A.-rw------- 2 hel-s users 56 Sep 09 11:05 hello

B.-rw------- 2 hel-s users 56 Sep 09 11:05 goodbey

C.drwx----- 1 hel users 1024 Sep 10 08:10 zhang

D.lrwx----- 1 hel users 2024 Sep 12 08:12 cheng

3. 所有的LINUX文件和目录都具有拥有权和许

可权,现在我们有一名为fido的文件,并用chmod 551 fido 对其进行了许可权的修改,我们用ls –al

查看到如下的几个文件许可权信息,问那一个文件

的许可权是fido文件的。()

A.–rwxr-xr-x B.-rwxr—r-- C.-r—r—r-- D.-r-xr

4.下列那一个指令可以用来列出目录的内容?

(1) ls

(2) ps

(3) rm

(4) del

解答:(1)

5.下列那一个指令可以用来显示档案的内容?

(1) ps

(2) rm

(3) cd

(4) cat

解答:(4)

6.下列那一个指令可以切换目录?

(1) ps

(2) ls

(3) cd

(4) rm

解答:(3)

7.下列那一个指令可以清除屏幕? (1) cls

(2) clear

(3) check

(4) put

解答:(2)

8.下列那一个指令可以显示目前的路径?

(1) show

(2) cd

(3) pwd

(4) more

解答:(3)

9.下列那一个指令无法用来分页显示档案内容?

(1) more

(2) less

(3) cat file | more

(4) ps

解答:(4)

10.下列那一个指令可以拷贝档案?

(1) rm

(2) cd

(3) talk

(4) cp

解答:(4)

11.下列那一个指令可以开设空目录?

(1) mk

(2) dir

(3) rmdir

(4) mkdir

解答:(4)

12.下列那一个指令可以在档案中搜寻关键词?

(1) ps

(2) cat

(3) more

(4) grep

解答:(4)

13.下列那一个指令可以删除空目录?

(1) rmdir

(2) more

(3) cp

(4) cls

解答:(1)

14.下列那一个指令可以删除档案?

(1) cp

(2) mkdir

(3) rm

(4) rmdir

解答:(3)

15.下列那一个指令可以开启一个空文档?

(1) rm

(2) pwd

(3) more

(4) touch

解答:(4)

16.下列那一个指令可以变更系统时间?

(1) time

(2) date

(3) clock

(4) settime

解答:(2)

17.下列那一个指令可以新增使用者账号?

(1) adduser

(2) newuser

(3) getuser

(4) nuser

解答:(1)

18.下列那一个指令可以设定使用者的密码?

(1) pwd

(2) newpwd

(3) passwd

(4) password

解答:(3)

19.下列那一个指令可以切换使用者身份?

(1) passwd

(2) log

(3) who

(4) su

解答:(4)

20.下列那一个指令可以显示磁盘剩余空间?

(1) dd

(2) df

(3) dw

(4) du

解答:(2)

21.下列那一个指令可以用来搜寻档案?

(1) find

(2) ffind

(3) fwhere

(4) fwho

解答:(1)

22.下列那一个指令可以用来挂载档案系统?

(1) munt

(2) mount

(3) unmount

(4) umont

解答:(2)

23.下列那一个指令可以用来卸载档案系统?

(1) umount

(2) unmount

(3) mount

(4) umont

解答:(1)

24.下列那一个指令可以用来显示记忆中行程的

活动?

(1) ds

(2) ps

(3) as

(4) ms

解答:(2)

25.下列那一个指令可以用来将某一个目录打包

成一个档案?

(1) tar

(2) cheese

(3) quee

(4) wzip

解答:(1)

26.下列那一个指令可以用来改变档案目录的权

限属性

(1) chown

(2) chmod

(3) chsh

(4) chpwd

解答:(2)

27.下列那一个指令可以用来查看登录的用户有

哪些?

(1) whom

(2) who

(3) whoami

(4) ww

解答:(2)

28.下列那一个指令可以用来查看系统负载情形

(1) w

(2) who

(3) load

(4) ps

解答:(1)

29.下列那一个指令可以用来显示使用者自己是

什么身份?

(1) ps

(2) whoami

(3) who

(4) w

解答:(2)

30.下列那一个指令可以用来查看程序执行的情

形和内存?

(1) top

(2) free

(3) showps

(4) memrun

解答:(1)

31.下列那一个指令可以用来关机?

(1) poweroff

(2) shutdown

(3) reboot

(4) closeboot

解答:(2)

32.bash 是指一种?

(1) shell

(2) batch command

(3) cgi

(4) asp

解答:(1)

33.档案权限755 , 对档案拥有者而言, 何义?

(1) 可读,可执行, 可写入

(2) 可读

(3) 可读,可执行

(4) 可写入

解答:(1)

34.目录权限711 , 对其它人(非目录拥有者)而

言, 何义?

(1) 可执行

(2) 可进入

(3) 可读,可执行

(4) 可写入

解答:(2)

35.rw-rw-rw- 的权限属性, 用八进制数字系统,

如何表示? (1) 555

(2) 444

(3) 777

(4) 666

解答:(4)

36.rw-r----x 的权限属性, 用八进制数字系统, 如

何表示?

(1) 641

(2) 341

(3) 541

(4) 441

解答:(1)

37.lilo 程序是?

(1) 查看开机的程序

(2) 一种安装核心加载,开机管理的程序

(3) 关机程序

(4) 网络除错程序

解答:(2)

38.vi 是?

(1) 一种编辑程序

(2) 一种设定接口

(3) 一种绘图程序

(4) 一种MP3拨放程序

解答:(1)

39.下列那一个指令可以用来移动或更名现有的

档案或目录?

(1) rename

(2) rm

(3) mv

(4) cp

解答:(3)

40.rm -Rf /home/sample 这个指令何义?

(1) 将/home/sample 中的档案删除

(2) 将/home/sample 目录立即删除

(3) 将/home/sample 目录备份

(4) 将/home/sample 这个目录移走

解答:(2)

41.mount /mnt/cdrom 是指?

(1) 挂上软盘

(2) 挂上硬盘

(3) 挂上光盘

(4) 挂上刻录机

解答:(3)

42.shutdown -r now 这个指令的用途?

(1) 关机

(2) 重新开机

(3) 使主机离开网络

(4) 射掉系统

解答:(2)

43./etc/passwd 这个档案的用途?

(1) 使用者密码文件

(2) 使用者quota檔

(3) 使用者邮件设定档

(4) 使用者登入设定档

解答:(1)

44./etc/passwd 这个档案中的每一列都是一笔记

录,该笔记录共有多少个字段?

(1) 4

(2) 5

(3) 6

(4) 7

解答:(4)

45.下列那一个不是转向(file redirection)的符号?

(1) >

(2) <

(3) >>

(4) /

解答:(4)

46.所谓管线(pipe line) | 是指?

(1) 将一个程序的输出作为某一个程序的输入

(2) 资料流

(3) I/O buffer

(4) memory buffer

解答:(1)

47.通常第一颗IDE硬盘的第一个分割区用下列

何者来表示?

(1) had

(2) hda1

(3) sda

(4) sda1

解答:(2)

48.下列何者代表第一颗IDE硬盘的第一个

logical partition?

(1) hda1

(2) hda2

(3) sda1

(4) hda5

解答:(4) 49.进入X window 的指令为?

(1) x

(2) start

(3) run x

(4) startx

解答:(4)

50./etc 这个目录的主要作用?

(1) 存放执行档

(2) 存放函式库

(3) 存放设定档

(4) 存放邮件档

解答:(3)

51./home 这个目录通常的主要作用为?

(1) 存放执行档

(2) 存放函式库

(3) 存放设定档

(4) 存放使用者的自家目录

解答:(4)

52.cd - 这个指令的用途是?

(1) 切换到自家目录

(2) 离线

(3) 回到先前的路径位置

(4) 回到上一层目录

解答:(3)

53.cd ~ 这个指令的用途是?

(1) 切换到自家目录

(2) 离线

(3) 回到先前的路径位置

(4) 回到上一层目录

解答:(1)

54.cd .. 这个指令的用途是?

(1) 切换到自家目录

(2) 离线

(3) 回到先前的路径位置

(4) 回到上一层目录

解答:(4)

55.date 0512******** 何义?

(1) 设定系统时间为2001-05-12 12:04

(2) 设定系统时间为2001-12-05 12:04

(3) 设定系统时间为2001-12-05 04:12

(4) 设定系统时间为2001-12-04 12:05

解答:(1)

56.下列那一个指令无法让使用者离线注销?

(1) exit

(2) CTRL+D (3) logout (4) top 解答:(4) 57.

/etc/passwd 中的 'root' 记录, 变成 'Root' 名称, 通常意谓着? (1) 权限变大 (2) 系统升级所致 (3) 可能被入侵了 (4) 没关系啦 解答:(3) 58.

哪个命令可以将普通用户转换成超级用户( D )

A. super

B. passwd

C. tar

D. su 59.

除非特别指定,cp 假定要拷贝的文件在下面哪个目录下( D )

A. 用户目录

B. home 目录

C. root 目录

D. 当前目录

60.

用下面哪个命令可以不用退出vi 编辑器来切换文件( A )

A. :n

B. set command

C. map command

D. export

command

比如:e ./b.c ,将加载b.c 文件到vi 编辑器中 61.

哪个命令用来显示/home 及其子目录下文件名( b )

A. ls -R /home

B. ls -d /home

C. ls -a

/home D. ls -l /home 62.

在一行内运行多个命令需要用什么字符隔开( C )

A. @

B. $

C. ;

D. * 63.

确定myfile 的文件类型的命令是( B )

A. whatis myfile

B. file myfile

C. type myfile

D. type -q myfile 64.

哪些命令组合起来能统计多少用户登录系统( BD )

A. who | wc –w

B. who | wc –l

C. who | wc –c

D. who | wc 65.

用 "rm -i",系统会提示什么来让你确认

( B )

A. 命令行的每个选项

B. 是否真的删除

C. 是否有写的权限

D. 文件的位置

66.用"useradd jerry"命令添加一个用户,这个用户的主目录是什么?( C )

A. /etc/jerry

B. /var/jerry

C. /home/jerry

D. /bin/jerry

67.哪一个命令能用来删除当前目录及其子目录下名为'core'的文件( A )

A. find . -name core -exec rm {} \ ;

B. find . -name core -exec rm ;

C. find . -name core -exec rm {} ;

D. find . -name core -exec rm {} -;

命令功能解释

重定向题目 ●

find /home -name "*csv" > csv.out

列出 home 目录下所有的 csv 文件并把结果保存到文件 csv.out 中 ●

cat /proc/meminfo >> sysinfo.out

获取系统内存使用信息并追加到文件 sysinfo.out

ls -aR /home/wei > /dev/null

如果不想看到某个命令执行的结果,可以这样将其丢弃 ●

cat data1.txt data2.txt >> all_data.txt

将data1.txt 和data2.txt 的内容合并到all_data.txt 文件中

如果不想让别人在网络上 ping 到自己

的机器,可以这么做

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

文件目录操作

●echo abcde > temp

输出字符串abcde到文件temp中

●chmod g+rw a.txt

为同组用户增加对文件a.txt的读写权限:

●cp -i data.txt bachup

将data.txt拷贝到backup目录中,如果有覆盖情况发生则询问用户。

●cp -R * bachup

将目前目录下的所有文件(含子目录)拷贝到backup目录中:

●cd ~

切换到用户根目录

●tar –xvf mytar.tar –C exa

解压mytar包到exa目录中

●tar –cvf mytar.tar *

当前目录所有文件打包成mytar.tar文件

●rm –rv foder

删除foder目录中的文件,包括子目录,同时显示过程

●chmod o+w my.txt

●chmod ug+w,o-w my.txt

●chmod +w my.txt

●chmod –R +w myfoder(-R子目录递

归处理)

●$grep 'kkk' ./*

搜索当前目录的含“kkk”字串的文件。

●Find –size -10c –type f

按大小搜索10字节内的普通文件

第二章课后练习题

写命令

●设当前目录下有一文件filea,写一个命令判断该文件是不是

字符设备文件

●设user用户的主目录下的有一文件ufile,写一个命令

将其拷贝到/root目录下。

●ls命令的-l, -a的含义是什么? 用ls命令以时间排序列出文

件及目录.

答: –l的含义为使用较长格式列出信息.-a的含义是不隐藏任何

以. 字符开始的项目.以时间排序的命令是ls –l –s –t, 或者ls

–lst

●练习cat, less, more命令, 并简述其区别.

答: less跟cat的区别是less是分屏显示. more跟less的区别是

more不能用上箭头键回选, 翻到最后自动退出. cat不管文件多大, 全部显示, 自动退出.

●cd-, cd, .. , . 命令各完成什么功能?

答: cd命令使用户当前目录回归到用户的家目录.cd -命令使用户

回到上一次他所在的目录.

●将/var/log目录下所有文件打包压缩, 拷贝到U盘.

答: 使用下面的指令序列:

tar cvf /var/log/* dest.tar .

gzip dest.tar

ls –lh dest.tar.gz cp dest.tar.gz /dev/sdc

#解压过程如下

gunzip dest.tar.gz #解压但不拆包gzip dest.tar #再次压缩

tar xvfz dest.tar.gz #解压

●使用cp命令备份你的/boot/grub/menu.lst文件.

答: cp /boot/grub/menu.lst ./menu.bak.lst

●10. fdisk, cfdisk查看硬盘分区信息.

答: sudo fdisk –l

sudo cfdisk

查看各个分区的占用率还可以使用df命令.

●11. 如何查看系统中那些占有cpu较多的进程?

答: 命令top

●12. 如何强行杀死系统中不要的进程.

答: 先使用top或ps命令找出我们想要杀掉的进程的PID, 然后使用kill [PID]

第二种方法, 如果我们知道进程名, 我们使用pkill [进程名]杀掉该进程.

第三种方法, 输入xkill命令, 然后让鼠标的小x选中窗口来杀掉该进程

●16. user1执行sudo passwd命令, 更改的是哪个用户的密码?

答: 修改的是自己的密码. 用户执行passwd的时候不需要有sudo 来提升权限, 因为用户有权限修改自己的口令. 如果要修改其他人的口令, 则必须拥有超级用户的权限, 并且要制定被重设密码的用户的用户名. 例如: sudo passwd sam

●17. user1执行sudo mount命令, 需要输入哪个用户的密码才

能执行?

答: 输入的是user1的密码.

●18. ls –l /bin/ls, 查看并简单描述-rwxr-xr-x的含义.

答: 开头的第一个字母, 如果是-说明是一个文件,开头是d说明是一个文件夹. 在这里可以看出这是一个非目录.

r代表读, w代表写, x代表执行. 对于文件来讲x代表可执行, 对于目录来讲x代表目录可以进入.

头第二个到第五个字母代表主人的权限, 中间三个代表用户组的权限, 后三个代表其他用户的权限.

详解如下, 主人可以读, 可写, 可执行, 用户组可读, 不可写, 可执行, 其他用户可读, 不可写, 可执行.

●查看某年某月某日是星期几

比如我要查看2008年5月22日是星期几,用cal来查看

cat 5 2008 显示2008年5月的日历

您是否发现命令行操作比图形界面浏览查看要快多了呢?

● 6 用最简单命令杀死一个进程

以前为了结束一个进程通常是ps -aux | grep xxx

然后再查看该进程的ID,最后是kill 进程ID。

如果你管道用的很熟,awk又会用一点,则有可能打下如此拉风的命令

ps ax | grep firefox | grep -v grep | awk '{ print $1 }' | xargs kill -9

其实你没必要使用那么多的管道加awk,有个很简单的命令pkill

执行pkill -9 firefox 就终结firefox进程。

●分屏显示计算机中所有进程。(显示所有进程命令ps -aux,

分屏显示命令more)

pa -aux|more

●新建文件夹/newdir。复制/etc/passwd文件为/newdir/pass1,

复制/etc/group文件为/newdir/group。

(mkdir /root/newdir cp /etc/passwd /root/newdir/pass1)

(mkdir /root/newdir cat /etc/passwd > /newdir/pass1)

●使用通配符删除/new下的所有文件。

Rm -r /new*

●将/etc目录中所有以―pa‖开头的文件输出到文件

/newdir/etcpa中。

Cat /etc/pa* > /root/newdir/etcpa

●将现在计算机中的所有进程的信息输出到文件/newdir/etcpa

末尾。

Ps -aux >> /newdir/etcpa

●切换到用户root的主目录中。Cd ~

●切换到根目录。Cd /

●切换到home文件夹。Cd /home

●切换到上一级目录。Cd ..

●查看现在的工作目录。pwd

●查看当前工作目录中有哪些文件。ll

●查看/root目录中有哪些文件。ll /root ●以长列表的方式列出/root目录中的所有文件。(Ls -l) ( ls -l

-a) (ls -la)

●复制/home文件夹到/newdir中。Cp /home /root/newdir

●新建/newdir/other目录。移动/newdir/所有文件到该目录中。

移动/newdir/home文件夹到该目录中。Mkdir /newdir/other mv /newdir/* /newdir/home

●将/newdir/other/pass1重命名为passwd。

Mv /root/newdir/other/pass1 /root/newdir/other/passwd

●新建文件夹/q/w/e/r/t。mkidr -p /q/w/e/r/t

●新建文件夹/a/s/d/f/g,使其权限为:root用户可以读写执行,

root组其他用户可以读写,其他多有用户只可以读。Mkidr -qm 764 /a/s/d/f/g

●使用不超过两条命令删除文件夹/q/w/e/r/t中的下三级目录。

Rm -rf /q/w/e

●删除文件夹/q中的w目录。Rm -rf /q/w

●删除文件夹/newdir。Rm -rf /root/newdir

●在/etc/目录中查找文件passwd。Find /etc/passwd

●查看/etc/passwd文件的内容。Cat /etc/passwd

●分屏查看/etc/passwd文件的内容。

(Cat /etc/passwd | more)

(Cat /etc/passwd | less 用Q可以退出的)

●将整个/etc 目录下的文件全部打包成为

/tmp/etc.tar

tar -cvf /tmp/etc.tar /etc

tar -zcvf /tmp/etc.tar.gz /etc

tar -jcvf /tmp/etc.tar.bz2 /etc

# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用

.tar 来作为辨识.

# 如果加z 参数,则以.tar.gz 或.tgz 来代表gzip 压缩过的tar file ~

# 如果加j 参数,则以.tar.bz2 来作为附档名啊~

# 上述指令在执行的时候,会显示一个警告讯息:

# 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定.

●/tmp/etc.tar.gz 文件内有哪些文件?

tar -ztvf /tmp/etc.tar.gz

# 由於我们使用gzip 压缩,所以要查阅该tar file

内的文件时就得要加上z 这个参数了!

●将/tmp/etc.tar.gz 文件解压缩在/usr/local/src

底下

cd /usr/local/src

tar -zxvf /tmp/etc.tar.gz

# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,

我先将工作目录变换到/usr/local/src 底下,并

且解开/tmp/etc.tar.gz,则解开的目录会在

/usr/local/src/etc 呢!另外,如果进入/usr/local/src/etc

则会发现,该目录下的文件属性与/etc/ 可能会有所不

同!在/tmp 底下,我只想要将/tmp/etc.tar.gz 内的

etc/passwd 解开而已

cd /tmp

tar -zxvf /tmp/etc.tar.gz etc/passwd

#透过tar -ztvf 来查阅tarfile 内的文件名称,如果单只要一个文件,就可以透过这个方式来下达!

注意到! etc.tar.gz 内的根目录/ 是被拿掉了!

●将/etc/ 内的所有文件备份下来,并且保存其权限!

tar -zxvpf /tmp/etc.tar.gz /etc

# 这个-p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

●在/home 当中,比2005/06/01 新的文件才备份

tar -N '2005/06/01' -zcvf home.tar.gz /home

●要备份/home, /etc ,但不要/home/dmtsai

tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

●将/etc/ 打包后直接解开在/tmp 底下,而不产生

文件!

cd /tmp

tar -cvf - /etc | tar -xvf -

# 这个动作有点像是cp -r /etc /tmp 要注意的地方在於输出档变成- 而输入档也变成- ,又有一个| 存在~,这分别代表standard output, standard input 与管线命令,

Vi编辑器的常用命令

1. 请在/tmp 这个目录下建立一个名为vitest 的目录;

2. 进入vitest 这个目录当中;

3. 将/etc/passwd 拷贝到本目录底下

4. 使用vi 开启本目录下的passwd 这个文件;

5. 在vi 中设定一下行号;

6. 移动到第20 行,向右移动20 个字符

7. 移动到第一行,并且向下搜寻一下“backups”这个字符

串,请问他在第几行?

8. 接着下来,我要将10 到20 行之间的bin 改为BIN,

并且一个一个挑选是否需要修改,如何下达指令?

9. 修改完之后,突然反悔了,要全部复原,有哪些方法?

10. 我要复制10 到20 行这十行的内容,并且贴到最后一

行之后;

11. 删除10 到20 行之间的20 行;

12. 将这个文件另存成一个passwdback的文件;

13. 到第20 行,并且删除15 个字符;

14. 储存后离开

1. mkdir /tmp/vitest

2. cd /tmp/vitest

3. cp /etc/man.config .

4. vi man.config

5. :set nu

6. 先按下:20 再按下20→

7. 先执行:1 或gg 后,直接输入/backups

8. 直接执行:10,20s/bin/BIN/gc 即可

9. (1)简单的方法可以一直按u 恢复到原始状态,(2)使用不储存离开:q! 之后,再重新读取一次该文件;

10. :10 然后再10yy 之后按下G 到最后一行,再p粘贴10行

11. :10之后,再给他10dd即可删除20 行了;

12. :w passwdback

13. :20之后,再给他15x 即可删除15 个字符;

14. :wq!

四.编程与应用题:

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

参考程序:

#!/bin/sh

echo “Input file name:”

read FILENAME

if [ -c "$FILENAME" ]

then

cp $FILENAME /dev

fi

2.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。参考答案:

#!/bin/sh

i=1

groupadd class1

while [ $i -le 30 ]

do

if [ $i -le 9 ] ;then

USERNAME=stu0${i}

else

USERNAME=stu${i}

fi

useradd $USERNAME

mkdir /home/$USERNAME

chown -R $USERNAME /home/$USERNAME

chgrp -R class1 /home/$USERNAME

i=$(($i+1))

done

3.编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。

参考程序:

#!/bin/sh

i=1

while [ $i -le 50 ]

do

userdel -r stud${i}

i=$(($i+1 ))

done

4.源数据存放在在主硬盘/home/user/ workdata中,用以存放用户工作数据文件

备份位置:主硬盘/home/user/下建立备份目录disk1backup;另一块硬盘挂载为/dev/disk2backup

备份操作要求:每天将源数据备份到两个位置,保留最近三次的备份文件,命名要求为worknewdata.tar、work2nddata.tar、work3rddata.tar。

涉及命令:ls,cd,mkdir,mount,cp,mv,rm,tar

5.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback 存放在/usr/bin目录下。

参考答案:

编写shell程序fileback:

#!/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!"

6.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。

参考答案: 建立程序Pro16如下:

#!/bin/sh

i=1

while [ i -le 50 ]

do

if [ -d /userdata ];then

mkdir -p /userdata/user$i

chmod 754 /userdata/user$i echo "user$i"

let i = i + 1 (或i=$(($i+1))

else

mkdir /userdata

mkdir -p /userdata/user$i

chmod 754 /userdata/user$i

echo "user$i"

let "i = i + 1" (或i=$(($i+1))

fi

done

7. 写一个checkuser脚本文件,脚本运行时带一个用户名作为参数,要求:命令行格式不符合要求,应有错误提示信息;在/etc/passwd文件中查找是否有该用户。

8. 编写一个名为iffile程序,它执行时判断/bin目录下date 文件是否存在?

9.判断用户是否已经在系统当中登陆

#! /bin/bash

if test $# -ne 1 then

echo "Incorrect number of arguments“

else

user=$1

if who | grep –q $user ; then

echo $1 "user is logged on."

exit 0

else

echo $1 "user is not logged on."

exit 1

fi

fi

10.将当前目录下的所有*.txt更名

#!/bin/bash

for file in *.txt

do

leftname=`basename $file .txt`

mv $file $leftname.doc

done

相关文档