admin 管理员组

文章数量: 1184232


2024年1月14日发(作者:unity3d游戏开发pdf)

LINUX(UBUNTU)大作业

Linux第一次作业

一、选择题

1、下列哪种说法是错误的( C ) 。

A.操作系统是裸机之上的第一层软件

B.操作系统控制和管理全部的计算机资源

oft Office 是操作系统的一种

D.操作系统应为用户提供便捷的操作界面

2、以下说法中正确的是( C )。

s 8是单用户单任务操作系统

-DOS是多用户多任务操作系统

是多用户多任务操作系统

是单用户多任务操作系统

3、下列哪种说法是错误的( C ) 。

A.操作系统可用于控制和管理计算机系统资源

B.操作系统可用于对各类任务进行调度

C.操作系统可用于完成源代码编译

D.操作系统应为用户提供便捷的操作界面

4、Linux中系统超级管理员的帐户是( B )。

strator

ser

5、Linux系统是一个( D )的操作系统。

A.单用户、单任务

B.单用户、多任务

C.多用户、单任务

D.多用户、多任务

6、Linux是一个功能强大的操作系统,同时它是一个 ( C )。

A、商业软件 B、共享软件 C、自由软件 D、专利软件

7、自由软件的含义是( B )。

A.用户不需要付费 B.软件可以自由修改和发布

C.只有软件作者才能向用户收费 D.软件发行商不能向用户收费

8. 超级用户登录后的操作提示符是( B ) 。

A、$ B、# C、& D、@

9、在某终端显示信息为:[user@localhost ~]$,其中“~”表示( D )。

A.当前目录

B.名为~的主机

C.系统根目录/

D.用户user的家目录

1 / 21

10、关于Linux内核版本的说法,以下错误的是(C )。

A.表示为主版本号.次版本号.修正号

B.1.2.3表示稳定的发行版

C.1.3.3表示稳定的发行版

D.2.2.5表示对内核2.2的第5次修正

二、简答题

1、请简述Linux操作系统有什么优点?

答:Linux的主要优点包括:

• 提供了先进的网络支持:内置TCP/IP协议;

•真正意义上的多任务、多用户作系统;

•与UNIX系统在源代码级兼容,符合IEEE POSIX标准;

•支持数十种文件系统格式;

•开放源代码,用户可以自己对系统进行改进;

•采用先进的内存管理机制,更加有效地利用物理内存。

2、Linux的运行级别都有那些?如何更改运行级别?

答:

Ubuntu的默认开机的runlevel是5,可以用’runlevel’命令来查看当前的默认运行级别。

0 – Halt,关机模式 init 0

1 – Single,单用户模式

2 - Full multi-user with display manager (GUI)

3 - Full multi-user with display manager (GUI)

4 - Full multi-user with display manager (GUI)

5 - Full multi-user with display manager (GUI)

6 – Reboot,重启 init 6

S - 单用户恢复模式

2~5级是没有任何区别的,他们为多用户模式。

查看运行级别命令:

runlevel

先后显示系统上一次和当前运行级别。如果不存在上一次运行级别,则用N表示。

更改运行级别:命令:

init [0123456]

3、什么是自由软件?

(1)可以自由地运行;

(2)可以自由地拷贝;

(3)可以自由地修改;

(4)可以自由地再发行。

这里指的自由,并不是价格免费,这和价格无关而是使用软件对所有的用户来说是自由的。

4、系统如何重启和关机,实例说明。

重启命令:

1、 reboot

2、 init 6

3、shutdown -r now 立刻重启(root用户使用)

2 / 21

4、shutdown -r 10 过10分钟自动重启(root用户使用)

5、shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

关机命令:

1、halt 立刻关机

2、poweroff 立刻关机

3、shutdown -h now 立刻关机(root用户使用)

4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

5、init 0

Linux第二次作业

一、选择题

1、下面哪个Linux命令可以一次显示一页内容? ( C )

A. pause B. cat C. more less D. grep

2、下面哪个参数可以删除一个用户并同时删除用户的主目录?( C )

A. rmuser -r B. deluser -r C. userdel -r D. usermgr -r

3、如果你的umask设置为022,缺省的你创建的文件的权限为:( D )

A. ----w--w- B. -w--w---- C. r-xr-x--- D. rw-r--r--

文件:666-022=644 110100100 rw-r--r--

目录:777-022=755 111101101 rwxr-xr-x

4、在一条命令中如何查找一个二进制命令 Xconfigurator 的路径?( D )

A. apropos Xconfigurator B. find Xconfigurator

C. where Xconfigurator D. which Xconfigurator

5、下面哪条命令可以把复制为? ( C )

A. cp |

B. cat |

C. cat >

D. copy |

6、显示一个文件最后几行的命令是:( B )

A. tac B. tail C. rear D. last

7、使用ln命令将生成了一个指向文件old的符号链接new,如果你将文件old删除,是否还能够访问文件中的数据?( A )

A. 不可能再访问

B. 仍然可以访问

C. 能否访问取决于文件的所有者

D. 能否访问取决于文件的权限

8、如何在file文件中查找显示所有以"*"打头的行?( D )

A. find * file B. wc –l * < file

C. grep -n * file D. grep ‘^*’ file

9、如何删除一个非空子目录/tmp( B )

A. del /tmp/* B. rm -rf /tmp C. rm -Ra /tmp/* D. rm -rf /tmp/*

3 / 21

10、能够匹配任何字符和任何数目的字符常用的通配符是( C )。

A、/ B、? C、* D、[ ] [abc]

11、关于硬链接的描述正确的( B )。

A 、跨文件系统 B、不可以跨文件系统

C 、为链接文件创建新的i节点 D、可以做目录的连接

12、某文件的权限是 - r w x r - - r- -,下面描述正确的是( D )

A、文件的权限值是755 B 、文件的所有者对文件只有读权限

C、文件的权限值是722 D、 其他用户对文件只有读权限

E、同组用户对文件只有写权限

13、用rm命令删除非空目录需要加上哪个参数?( A )

A、r B、t C、c D、f

14、怎样显示当前目录(A )

A、pwd B、cd C、who D、ls

15、用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为 ( A ) 。

-rwxr-xr-- 1 root root 599 Cec 10 17:12 ff

A、 普通文件 B、 硬链接 C、目录 D、符号链接

16、删除文件命令为( D ) 。

A 、mkdir B、 rmdir C 、mv D、 rm

17、在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是(D ) 。

A、 -m B、 -d C、 -f D、 -p

18、对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是(D ) 。

A、 -rwxr-xr-x B、 -rwxr--r— C、 -r--r--r— D、 -r-xr-x--x

101101001 r-xr-x--x

19、用ls –al 命令列出下面的文件列表,( D ) 文件是符号链接文件。

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

B 、-rwxrwxrwx 2 hel-s users 56 Sep 09 11:05 goodbey

C、 drwxr--r-- 1 hel users 1024 Sep 10 08:10 zhang

D、 lrwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng-->ff

20、若当前目录为/home,命令ls –l 将显示home目录下的( D )。

A、所有文件 B、所有隐含文件

C、所有非隐含文件 D、文件的具体信息

21、如何快速切换到用户John的主目录下?( D )

A、cd @John B、cd #John C、cd &John D、cd ~John

22、如何显示Linux系统中注册的用户数(包含系统用户)?(D)

A. account -l

B. nl /etc/passwd |head

C. wc --users /etc/passwd

D. wc --lines /etc/passwd wc -l /etc/passwd

23、在一行结束位置加上什么符号,表示未结束,下一行继续?(B)

A. /

B.

C. ;

D. |

4 / 21

24、下列指令中,无法获取指令ls用法提示的是(C )。

ls

ls

s ls

--help

25、键盘组合键( C )的作用是将程序后台暂停。

+C

+D

+Z

+F

26、在Linux中,可以输入文件名称的前几个字符,然后用( D )键进行自动补全。

+Alt+F1

+F1

27、下列哪几个符号是Linux通配符( B )

① # ② @ ③ * ④ ? ⑤ &

A、①④⑤ B、③④ C、②④⑤ D、①③

28、下面哪个命令可以分页显示大文本文件( C )

A、 vi B、cat C、more D、tail

二、命令操作题:

1、cat

查看文件名为的内容。

2、ls -al >

将显示的结果输出到 文件中,若该文件存在则予以取代

3、ls -al 1> 2>

将显示的数据,正确的输出到 错误的数据输出到

4、ls -al >>

将显示的结果累加到 文件中,该文件为累加的,旧数据保留

5、cat /etc/passwd | cut -d ":" -f 1

将 passwd 这个文件里面,每一行里头的 : 用来作为分隔号,而列出第一个区块!也就是姓名所在

6、history | less

将查看命令历史使用记录并通过less分页显示

7、head -5 /etc/passwd

显示文件/etc/passwd开头前5行。

8、grep "root" /etc/passwd

查找/etc/passwd文件中是否存在root用户信息

---------------------------------------------------------------------------------

9、查看/tmp/test文件的时间戳信息。

stat /tmp/test

5 / 21

10、Linux系统中默认使用的shell是什么?通过执行命令显示系统当前所使用的shell。

bash #echo $SHELL

11、显示root家目录中所有后缀为.bak的文件的详细信息。

ll /root/*.bak

ls -l /root/*.bak

12、删除/tmp目录中所有以test开头的文件或目录。

rm -rf /tmp/test*

13、查看/etc/passwd文件的前5行内容

head -5 /etc/passwd

14、将/etc/passwd文件中前8行的内容复制到/root/文件中。

head -8 /etc/passwd > /root/

15、将/etc/fstab文件复制到/tmp目录中,并重命名为。

cp /etc/fstab /tmp/

16、以长格式列出/dev目录中以"d"、"f"开头并且文件名为3个字符的文件。

ll -d /dev/[df]??

17、在/tmp目录中创建一个名为ssh的软链接,指向源文件 /etc/ssh/sshd_config。

ln -s /etc/ssh/sshd_config /tmp/ssh

18、在家目录中创建名为data的目录。

mkdir ~/data

19、强制删除/root/rc.d目录。

rm -rf /root/rc.d

20、将/etc目录中所有以".d"结尾的文件或目录复制到/tmp目录下。

find /etc -name "*.d" -exec cp -r {} /tmp ;

21、在/etc/fstab文件中查找所有不是以"#"开头的行。

grep -v "^#" /etc/fstab

22、分页显示/etc/inittab文件中的内容。

more(less) /etc/inittab

23、在/etc目录中查找最近1天之内被改动过的文件。

find /etc -ctime -1

24、查找/etc/passwd文件中所有以"nologin"结尾的行。

grep "nologin$" /etc/passwd

25、查找/etc目录下小于1M且类型为普通文件的所有文件。

find /etc -size -1M -type f

25、统计/etc目录中后缀是"*.conf"的文件个数。

find /etc -name "*.conf" -type f | wc -l

ll *.conf |wc -l

26、显示/dev目录中所有以sd开头,并且文件名只有3个字符的文件。

ls /dev/sd?

27、显示/tmp目录中所有以test开头的文件或目录的详细信息,目录只显示目录本身的信息。

ll -d /tmp/test*

28、假设/var/log/messages文件的内容一直在增加,如何动态显示这个文件的内容?

tail -f /var/log/messages

6 / 21

LINUX第三次作业

一、选择题

1、删除文件命令为(D)

A、 mkdir B 、rmdir C、 mv D 、rm

2、改变文件所有者的命令为 ( C )。

A、 chmod B、 touch C、 chown D、 cat

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

A 、grep B 、gzip C 、find D、 sort

4、 建立一个新文件可以使用的命令为(D )。

A chmod B more C cp D touch

5、 在下列命令中,不能显示文本文件内容的命令是( D )。

A、 more B、 less C、 tail D、 join

6、显示文件和目录由根目录开始的树形结构( A )。

A、 tree B、 ls C 、pwd D 、ln

7、下列指令中,能够获取指令ls用法提示的是( C )。

s ls -l ls -i

8、Linux中系统管理员的帐户是( B )。

strator ser

9、在Linux中,若某一文件夹下有多个同一字符串开头的文件,则用户可以在输入该字符串后连续两次使用(D )键将所有可选项列出。

+Alt+F1 +F1

10、键盘组合键( C )的作用是将程序终止。

+Z +D +C +F

11、以下(C )指令可以显示当前登录的用户账号。

12、以下(A )指令可以显示当前所在目录。

13、在bash中,普通用户默认使用的提示符是( A )

A.$ B.# C.> D.:

14、设文件file的当前权限为拥有者可读可写、群组用户和其他人只读,则以下选项中,( A )不可以将其权限改为拥有者和群组用户可读可写、其他人只读。

rw-r--r--

rw-rw-r--

a+w file 664 file

g+w file ug=rw-,o=r— file

15、下列命令中(C )可以将文件file的拥有者改为user。

user file file user

user file file user

7 / 21

16、设用户root当前所在目录为/tmp/dir1,若要进入其家目录的子目录dir2中,则如下指令中错误的是(C )。/root/dir2

~/dir2 /root/dir2

dir2 ../../root/dir2

17、按照Linux所遵循的文件系统层次标准,目录( B )中主要放置的系统设备文件。

A./mnt B./dev C./etc D./home

18、以下( B )指令可以显示当前用户的账号。

19、设用户当前所在目录为/tmp,以下( C)指令可以在当前目录下创建目录结构son/grandson,其中子目录son/及其下层目录grandson/当前都不存在。

-p son/grandson

-r son/grandson

-p son/grandson

son/grandson

20、使用( D )可以令当前用户未来新建的文件的权限变为仅拥有者可读可写,其他用户都只能读。

644

022

644

022 修改默认权限!

rw-r—r--

644

666 022

21、下列哪种说法是错误的( C ) 。

A.软链接文件的操作权限不一定与源文件相同

B.软链接文件需要新申请inode空间

C.软链接文件与源文件共用一个inode

D.新增软链接文件不会造成源文件连接数的变化

22、以下说法中正确的是( C )。

A.硬链接可以链接目录类型文件

B.使用ls -l指令查看硬链接文件的属性时其类型符号为l

C.硬链接文件的属性与源文件完全相同

D.硬链接文件的inode号码与源文件不同

23、为文件file分别创建复制文件filecp、硬链接文件filehl、软链接文件filesl和压缩文件,则当源文件file删除后,以下文件中( C )将会失效。

8 / 21

24、以下指令中( D )可以将目录/tmp/dir1打包并压缩为文件。

-xvf /tmp/dir1

-cvf /tmp/dir1

-zxvf /tmp/dir1

-zcvf /tmp/dir1

25、在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是( D)。

A. -m B. -d C. -f D. -p

26、删除文件命令为( D )

27、下列哪个命令在建立一个 tar归档文件的时候列出详细列表( A)。

A、tar -t B、tar -cv B、tar -cvf D、tar –r

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

也随之被删除

仍存在,但是属于无效文件

C.因为fileB未被删除,所以fileA会被系统自动重新建立

会随fileA的删除而被系统自动删除

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

30、存放Linux基本命令的目录是什么( A )?

A. /bin B. /tmp C. /lib D. /root

/bin /sbin

31、在LINUX中,要查看文件内容,可使用( A )命令。

32、若要将当前目录中的文件压缩成,则实现的命令为( C )。

–cvf

–zcvf

–zcvf

–cvf

33、用 "rm -i",系统会提示什么来让你确认( B )

A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置

34、以长格式列目录时,若文件test的权限描述为:drwxrw-r--,则文件test的类型及文件主的权限是(A ) 。

A. 目录文件、读写执行 B. 目录文件、读写

C. 普通文件、读写 D.普通文件、读

9 / 21

35、若当前目录为/home,命令ls –l 将显示home目录下的( D )。

A.所有文件 B.所有隐含文件

C.所有非隐含文件 D.文件的具体信息

===============================2020-12-1

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

也随之被删除

仍存在,但是属于无效文件

C.因为fileB未被删除,所以fileA会被系统自动重新建立

会随fileA的删除而被系统自动删除

37、对文件重命名的命令为(C )

A.rm B. move C. mv D. mkdir

38、 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。

A. /usr B. /home C. /root D. /etc

39、如果要列出一个目录下的所有文件需要使用命令行( C)。

A. ls –l B. ls C. ls –a D. ls –d

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

A. super B. passwd C. tar D. su

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

A. 用户目录 B. home目录 C. root目录 D. 当前目录

42、若要将鼠标从VM中释放出来,可按 ( A )键来实现

A. Ctrl + Alt B. Ctrl +Alt +Del C. Ctrl +Alt +Enter D Ctrl +Enter

43、若当前目录为/home,命令ls –l 将显示home目录下的( D )。

A.所有文件 B.所有隐含文件

C.所有非隐含文件 D.文件的具体信息

44、以下命令中,可以将用户身份临时改变为root的是( B)。

45、欲把当前目录下的 复制为 ,正确的命令是( D )。

A. copy B. cp |

C. cat D. cat >

10 / 21

46、 如果您想列出当前目录以及子目录下所有扩展名为“.txt”的文件,那么您可以使用的命令是( B)。

A. ls *.txt B. find . –name “.txt” C. ls –d .txt D. find . “.txt”

47、如何删除一个非空子目录 /tmp( B )。

A. del /tmp/* B. rm -rf /tmp C. rm -Ra /tmp/* D. rm –rf /tmp/*

48、从后台启动进程,应在命令的结尾加上符号( A )

A.& B. @ C. # D. $

49、如果执行命令 #chmod 746 ,那么该文件的权限是( A )。

A. rwxr--rw- B. rw-r--r-- C. –xr--rwx D. rwxr--r--

111 100 110

50、文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是( A ) rwx rwx r-x 775

A.chmod a+x, g+w exer1 B.chmod 765 exer1

C.chmod o+x exer1 D.chmod g+w exer1

二、简述题:

1、什么是(软)符号链接,什么是硬链接?符号链接与硬链接的区别是什么?

参考答案:

链接分硬链接和符号链接。

符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。

硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。

2、执行命令 ls –l 时,某行显示如下:

-rw-r--r-- 1 chris chris 207 jul 20 11:58 mydata

(1)用户chris 对该文件具有什么权限?

(2)执行命令useradd Tom后,用户Tom对该文件具有什么权限?

(3)如何使任何用户都可以读、写、执行该文件?

(4)如何把该文件属主改为用户root ?

参考答案:

(1)读写

(2)只读

(3)chmod 777 mydata || chmod a=rwx mydata

|| chmod u=rwx,g=rwx,o=rwx mydata

(4)chown root mydata (在root用下操作)

11 / 21

3、在Linux中执行ls -l命令时,结果如下:

-rw-r--r-- 1 myuser1 useradm 1024 May 18 08:43 f1

drwxr-xr-x 2 myuser1 useradm 512 Apr 15 10:36 dd

回答问题:

1)上面所列的两项f1和dd,哪个是普通文件,哪个是目录文件?

f1 是普通文件 dd 是目录文件

2)f1的主人(拥有者)是哪个用户,属于哪个组?

主人:myuser1 组:useradm

3)请解释f1对于除root以外的其他三类用户的权限是?

所有者:可读、可写 同组用户:可读 其他用户:可读

4)使用chmod命令,修改f1的权限,使同组用户对f1可写。

chmod g+w f1 (在myuser1、root用户操作)

LINUX第四次作业

一、选择题

1、Linux中,文件( A )中保存有所有合法用户的加密密码。

A./etc/shadow

B./etc/passwd

C./etc/group

D./etc/gpasswd

2、用户的初始群组是指(C )。

A.用户当前所在的群组

B.当前指令执行时用户所在的群组

C.新增用户时所加入的群组

D.使用指令newgrp为其设置的新群组

===============================================================================

3、要在系统中新增一个用户user,并设置其UID为501,GID为502,则应使用指令( C)。

d -u 501 -G 502 user

r -u 501 -G 502 user

d -u 501 -g 502 user

r -u 501 -g 502 user

4、要删除用户user,同时也删除其家目录,则应使用指令( B)。

l user

l -r user

r -r user

r user

5、下面哪个命令可以列出定义在以后特定时间运行一次的所有任务?( A )

A. atq

B. cron

C. batch

12 / 21

D. at

6、有一个备份程序mybackup,需要在周一至周五下午1点和晚上8点各运行一次,下面哪条crontab的项可以完成这项工作?( B)

A. 0 13,20 * * 1,5 mybackup

B. 0 13,20 * * 1,2,3,4,5 mybackup

C. * 13,20 * * 1,2,3,4,5 mybackup

D. 0 13,20 1,5 * * mybackup

7、 cron 后台常驻程序 (daemon) 用于( D)

A. 负责文件在网络中的共享

B. 管理打印子系统

C. 跟踪管理系统信息和错误

D. 管理系统日常任务的调度

8、从后台运行程序myprog,正确的命令是(D )

A、./myprog! B、./myprog C、./myprog@ D、./myprog&

9、下列不是Linux系统进程类型的是( D )。

A. 交互进程 B. 批处理进程 C. 守护进程 D. 就绪进程

10、/etc/shadow文件中存放 ( B ) 。

A.用户账号基本信息 B.用户口令的加密信息

C.用户组信息 D.文件系统信息

二、简答题

1、某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:

(1)在下午4 :50删除/abc目录下的全部子目录和全部文件;

(2)从早8:00~下午6:00每小时读取/xyz目录下x1文件中每行第一个域的全部数据加入到/backup目录下的文件内;

(3)每逢星期一下午5:50将/data目录下的所有目录和文件归档并压缩为文件:;

(4)在下午5:55将IDE接口的CD-ROM卸载(假设:CD-ROM的设备名为hdc);

(5)在早晨8:00前开机后启动。

参考答案:

解决方案:

(1)用vi创建编辑一个名为prgx的crontab文件;

(2)prgx文件的内容:

50 16 * * * rm -r /abc/*

0 8-18/1 * * * cut -f1 /xyz/x1 >;>; /backup/

50 17 * * * tar zcvf /data

55 17 * * * umount /dev/hdc

(3)由超级用户登录,用crontab执行 prgx文件中的内容:

root@xxx:#crontab prgx;在每日早晨8:00之前开机后即可自动启动crontab。

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

13 / 21

参考答案:

编写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_

tar zcvf $BACKETC /etc

echo "fileback finished!"

(2)编写任务定时器:

echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron

crontab /root/etcbakcron

或使用crontab -e 命令添加定时任务:

0 1 * * * /bin/sh /usr/bin/fileback

3、有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?

参考答案:

(1)第一种方法:用户应使用crontab –e 命令创建crontab文件。格式如下:

0 0 * * sun cp –r /user/backup /tmp

(2)第二种方法:

用户先在自己目录下新建文件file,文件内容如下:

0 * * sun cp –r /user/backup /tmp

然后执行 crontab file 使生效。

4、使用进程调度启动,指定30分钟后(或在2008年12月28日晚上20点30分)将/home/stu目录里的文件备份并压缩为,并放到/home/temp目录里(当前/home/temp目录并不存在)。

解答1:

(1) 编辑一个文件,如:atfile,内容如下:

mkdir /home/temp

tar –czvf /home/temp/ /home/stu/*

(2) 执行at命令

at –f atfile now +30 minutes

14 / 21

解答2:

(1) 执行at命令

at now +30 minutes

(2) 回车出现at>提示符后,继续输入要做的命令

at> mkdir /home/temp

at> tar –czvf /home/temp/ /home/stu/*

at>

LINUX第五次作业

一、选择题

1、下面命令的作用是:set PS1="[uwt]$" ; export PS1 ( B )

A. 改变错误信息提示

B. 改变命令提示符

C. 改变一些终端参数

D. 改变辅助命令提示符

2、在bash中,export命令的作用是:( C )

A. 在子shell中运行命令

B. 使在子shell中可以使用命令历史记录

C. 为其它应用程序设置环境变量

D. 提供NFS分区给网络中的其它系统使用

3、以下( A )指令可以取消变量myvar。

myvar

myvar

myvar

=’ ’

4、以下哪个命令是用来定义shell的全局变量( A )。

A、export B、import C、set D、alias

5、当字符串用单引号(’ ’)括起来时,shell将 ( C) 。

A.解释引号内的特殊字符 B.执行引号中的命令

C.不解释引号内的特殊字符 D.结束进程

6、一个bash shell脚本的第一行是( D )

A.#/bin/csh B.#/bin/bash

C./bin/bash D.#!/bin/bash

二、简答题

1、编写一个SHELL脚本,利用for循环把当前目录下的所有*.C文件复制到指定的目录中去,并显示复制后的该目录内按文件大小排序的目录文件清单。

参考答案:

read -p "input copy dir:" dir

if [ ! -d $dir ]

then echo "dir not exist ,creat this dir now " ; mkdir $dir

15 / 21

fi

for f in *

do

if [ -f $f ]

then cp $f $dir ; echo " copy file $f already "

fi

done

cd $dir

ls -l | sort -n -r -k5

2、编写一个SHELL脚本,它把第二个位置参数及其以后的各个位置参数指定的文件复制到第一个位置参数指定的目录中去。

参考答案:

dir=$1

shift

if [ ! -d $dir ]

then echo "dir not exist ,creat it now " ; mkdir $dir

fi

for name in $*

do

if [ -f $name ]

then cp $name $dir

echo "$name file copy already"

fi

done

cd $dir

ls -l

3、用shell编写一个可以打印出九九乘法表(上三角形式)的程序。

参考答案1

#!/bin/bash

for i in 1 2 3 4 5 6 7 8 9

do

for j in 1 2 3 4 5 6 7 8 9

do

if ( test $j -le $i ) then

echo $i*$j=`expr $i*$j` "c"

else

break

fi

done

16 / 21

echo "n"

done

参考答案2

#!/bin/bash

for i in ` seq 1 9 `

do

for j in ` seq 1 9 `

do

if ( test $j -le $i ) then

echo $i*$j=`expr $i*$j` "c"

else

break

fi

done

echo "n"

done

4、下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。

#!/bin/bash

DIRNAME=`ls /root | grep bak` #(1)

if [ -z "$DIRNAME" ] ; then #(2)

mkdir /root/bak ; cd /root/bak #(3)

fi

YY=`date +%y` ; MM=`date +%m` ; DD=`date +%d` #(4)

BACKETC=”$YY””$MM””$DD””_” #(5)

tar zcvf $BACKETC /etc #(6)

echo "fileback finished!"

答:#(1)获取/root中名称包含bak的文件或目录

#(2)判断1结果为空

#(3)创建目录/root/bak并进入该目录

#(4)获取当前时间的年月日

#(5)按照年(2位)月(2位)日(2位)_etc方式构造压缩文件名

#(6)压缩etc目录并保存在/root/bak中

程序功能:若/root/bak不存在则创建之,然后将/etc按日期打包保存于该目录中。

5、下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。

#!/bin/bash #(1)

dir=$1 #(2)

if [ -d $dir ] #(3)

then

cd $dir #(4)

17 / 21

for file in *

do

if [-f $file ] #(5)

then

cat $file #(6)

echo “end of file $file”

fi

done

else

echo “bad directory name $dir”

fi

答:#(1)使用/bin/bash解释脚本

#(2)将位置变量1赋值给变量dir

#(3)如果dir所指为目录

#(4)将当前目录改为dir

#(5)如果循环变量file所指是普通文件

#(6)显示文件file的内容

程序功能:若命令行参数是一个合法目录则显示该目录下所有普通文件的内容,否则显示错误的目录名信息。

6、设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。

答:#!/bin/bash

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)) #或let “i=i+1”

done

18 / 21

7、创建一个shell 脚本,它从用户那里接收10个数,并显示已输入的最大的数。

参考程序:

#!/bin/bash

max=0

i=1

while [ $i -lt 10 ]

do

echo -n "Enter number $i :"

read value

if [ $max -lt $value ]

then

max=$value

fi

i=` expr $i + 1 `

done

echo $max

8、编写1个弹出式菜单的shell程序并实现其简单的菜单功能:

*******************************************************

* MENU *

* *

* *

* *

*******************************************************

即用户按下数字1,则提示用户输入源和目的文件名后执行复制;输入数字2,则提示用户输入要更名的文件或目录后执行更名操作;输入数字3,则提示用户输入要删除的文件并执行删除操作;输入数字4,则提示用户输入要查找的文件并执行查找操作;输入数字5,则退出该菜单shell程序的执行。

#!/bin/bash

clear

while [ 0 ]

do

echo "************************************************"

echo "* menu *"

echo "* *"

echo "* *"

echo "* *"

echo "************************************************"

echo

echo -n " select:"

read choice

echo

19 / 21

case $choice in

1)

echo -n "source file:"

read src

echo

echo -n "destination fold:"

read des

cp -arf $src $des

if [ $? -eq 0 ]

then

echo "copy sucessful!"

else

echo " copy fail!"

fi;;

2)

echo -n "the file to be renamed:"

read src

echo

echo -n "the new file:"

read des

mv $src $des

if [ $? -eq 0 ]

then

echo "rename sucessful!"

else

echo " rename fail"

fi;;

3)

echo -n "the file to be removed:"

read src

rm -rf $src

if [ $? -eq 0 ]

then

echo "remove sucessful!"

else

echo " remove fail"

fi;;

4)

echo -n "the file to be found:"

read src

find $HOME -name $src;;

5) exit;;

*) echo "Invalid option";;

esac

20 / 21

done

9、请编写shell程序,功能上实现打印如下图形:

0

0 1

0 1 2

0 1 2 3

0 1 2 3 4

………………………

0 1 2 3 4 5 6 7 8 9

参与答案

#! /bin/bash

j=10

while [ "$j" -gt 0 ]

do

i=`expr 10 - $j`

while [ "$i" -ge 0 ]

do

echo " $i c "

i=`expr $i - 1`

done

echo "n"

j=`expr $j - 1`

done

21 / 21


本文标签: 文件 用户 目录 命令 链接