1-1Unix 的前身是由贝尔实验室(Bell lab.)的 Ken Thompson 利用汇编语言写成的, 后来在 1971-1973 年间由Dennis Ritchie 以 C 程序语言进行改写,才称为 Unix。T
1-2 1977 年由 Bill Joy 释出 BSD (Berkeley Software Distribution),这些称为 Unix-like 的操作系统。T
1-3 1984 年由 Linus Torvalds 提倡 GNU 计划,倡导自由软件(Free software), 强调其软件可以『自由的取得、复制、修改与再发行』,并规范出 GPL 授权模式, 任何 GPL(General Public License)软件均不可单纯仅贩卖其软件,也不可修改软件授权。F
1-41991 年由芬兰人 Linus Torvalds 开发出 Linux 操作系统。简而言之,Linux 成功的地方主要在于:Minix(Unix),GNU, Internet, POSIX 及虚拟团队的产生。T
1-5符合 Open source 理念的授权相当多,比较知名的如 Apache / BSD / GPL / MIT 等。T
1-6每个用户都必然从属于一个与用户同名的独立的私有用户组。 F
1-7由普通用户之间相互切换时需要输入用户密码。 T
1-8如果有用户将某用户组作为其主用户组,那么在用户已经登录系统的情况下,无法修改这个用户组名。 F
1-9要执行一个根用户才有权限执行的命令,必须先切换为根用户身份。T
1-10可以通过修改passwd 和 shadow文件的内容来修改用户属性。F
1-11 /etc/gshadow为如果是空的或者叹号!,表示用户组没有密码。T
1-12静态链接库代码装载速度快,执行速度略比动态链接库快。T
1-13在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是-p T
1-14临界区不能用于Linux中的进程通信。 T
1-15 Linux文件权限一共10位长度,分成四段,第三段表示的内容是文件所有者的权限 。 F
1-16在vi编辑器环境中的任意时刻,选择“ESC”键后,编辑器将进入命令模式。T
1-17 使用In命令将生成了一个
指向文件old的符号链接new,如果你将文件old删除,还能够访问文件中的数据。 F
1-18用户线程因 I/O 而处于等待状态时,整个进程就会被调度程序切换为等待状态,其他线程得不到运行的机会。T
1-19内核线程只运行在内核态,不受用户态上下文的影响。T
1-20内核线程有利于发挥多处理器的并发优势,但却占用了更多的系统开支。T
1-21用户线程和内核线程的调度都需要经过内核态。F
单选题
2-1 Samba 服务器的配置文件是。
A.httpd.conf
B.inetd.conf
C.rc.samba
D.smb.conf
2-2是shell 具有的功能和特点的是 ___.
A.管道
B.输入输出重定向
C.执行后台进程
D.处理程序命令
2-3下面哪个命令表示不保存强制退出vi。
A. :!q
B. :wq
C. :q!
D. :q
2-4什么命令用来查看硬盘被占用了多少空间和剩余多少空间?
A. du
B. free
C. df
D. vmstat
2-5增加一个用户的命令是什么?
A. usermod
B. groupadd
C. useradd
D. userdel
2-6 vi编辑器中,删除一行的命令是?
A.rm
B.yy
C.dd
D.pp
2-7向下移动10行并定位到行尾,下面哪种做法是正确的?
A. 10j
B. 10x
C. 10↓
D. 10$
2-8进入可视模式( ), 来到第12行( ), 复制12-20行的前10列, 来到30行( ), 粘贴. ( ),下面哪个指令序列是正确的做法(指令之间用分号隔开)?
A. v;12j;30G;p
B. v;12G;30G;p
C. ctrl+v;12G;30G;p
D. ctrl+v;12G;30$;p
2-9 将当前编辑的文件另存成一个名为file.bak 的文件,保存在当前工作目录下,下面哪个做法是正确的?
A. :w ~/file.bak
B. :s ./file.bak
C. :w ./file.bak
D. :s ~/file.bak
2-10 打开当前目录下一个名为file01.txt的文件,将其内容追加到当前编辑的文件末尾,下面哪个做法是正确的?
A. :o ./file01.txt
B. :a ./file01.txt
C. :r ./file01.txt
D. :w ./file01.txt
2-11在用man命令查看一个命令的帮助文档的时候下列哪部分中有命令的用法说明?
A. COPYRIGHT
B. SEE ALSO
C. DESCRIPTION
D. AUTHOR
2-12当您在命令提示符的后面输入命令的一部分时,按(),Linux会帮你打剩下的字符,补充成为完整命令,如果有多个相符的命令,连按两下(),Linux会显示所有的相符的命令。
A. 左CTRL键
B. 左SHIFT键
C. TAB键
D. SPACE键
2-13 假设根用户root当前所在目录为/usr/local,键入cd .. 命令后,用户当前所在目录为( )。
A. /home
B. /usr
C. /root
D. /home/root
2-14假设当前工作目录下有一个名为sampledir 的目录,该目录下有一个名为sampledir01的目录, 键入 “rmdir sampledir”,会发生什么?
A. sampledir01被删除
B. sampledir和sampledir01被删除
C. sampledir被删除,但sampledir01未被删除
D. 出错
2-15 在Linux系统中,设备文件大部分安装在哪个目录下?
A. /mnt
B. /root
C. /dev
D. /proc
2-16 要将当前目录下的文件samplefile的文件从属组改为stu用户组,应该使用哪个命令?
A. chmod stu ./samplefile
B. chmod :stu ./samplefile
C. chown :stu ./samplefile
D. chown stu ./samplefile
2-17 如何在/tmp目录中查找过去24小时产生的,大小大于5k的普通文件并以不带提示的方式删除。
A. find /tmp (–type f -a -mtime -1 -a -size +5k ) -exec rm {} ;
B. find /tmp (–type f -a -ctime -1 -a -size +5k ) -exec rm {} ;
C. find /tmp (–type f -a -mtime -1 -a -size +5k ) -exec rm -f {} ;
D. find /tmp (–type f -a -ctime -1 -a -size -5k ) -exec rm -r {} ;
2-18在less命令中查找字符串时,可以用那两个按键在查找到的字符串之间跳转。
A. d 和 u
B. n和p
C. n 和 N
D. p 和 P
2-19关于less命令,下面哪些描述是正确的?
A. less命令不将文本文件内容直接输出到命令行上
B. 用ctrl+X可以退出less
C. 不可以用pageup和pagedown 按键来上下翻页
D. less命令中可以说使用 “:关键字” 在文本文件中查找特定字符串
2-20 现在需要在根目录下找所有的名字为temp的文件,然后删除,删除时不需要提示,请问可如何实现。
A. find / -name temp –exec rm
B. 编一个SHELL脚本实现
C. find / -name temp –exec rm {} \ ;
D. find / -name temp rm *
2-21写出完成以下功能的Linux命令:使用sed命令, 将文件xyz中的单词AAA全部替换为BBB。
A. sed 's/AAA/BBB' xyz
B. sed 's/AAA/BBB/p' xyz
C. sed 's/AAA/BBB/g' xyz
D. sed 's/AAA/BBB/d' xyz
2-22以下不属于Linux系统命令的是:
A. kill
B. ifconfig
C. mv
D. remove
2-23在linux系统中,用来存放系统所需要的配置文件和子目录是
A. /etc
B. /var
C. /root
D. /home
2-24 小王希望将他执行的ls命令的输出结果保存在当前目录下文件output.ls中,以供日后进行分析和使用,但要求不覆盖原文件的内容,他应该使用的命令是
A. ls>output.ls
B. ls< C. ls>>output.ls D. ls—output.ls 2-25 shell不仅仅是用户命令解释器,同时一种强大的编程语言,linux缺省的shell是什么 A. bash B. ruby C. PHP D. perl 2-26 在给定文件中查找与设定条件相符字符串的命令为 A. gzip B. grep C. sort D. find 2-27 哪个命令可以统计一个文件中"大鹏"出现的行数? A. vim "大鹏" 文件名 | wc -l B. grep "大鹏" 文件名 | wc -l C. ls "大鹏" | wc D. vim "大鹏" 文件名 | wc 2-28 linux查看cpu占用的命令是什么? A. top B. netstat C. free D. df 2-29 下面选项关于linux下查看cpu,内存,swap,硬盘信息的命令描述错误的是? A. cat /proc/cpuinfo 查看CPU相关参数的linux系统命令 B. cat /proc/meminfo 查看linux系统内存信息的linux系统命令 C. du -h: 查看硬盘信息 D. cat /proc/swaps :查看所有swap分区的信息 2-30 ___ 命令可以从文本文件的每一行中截取指定内容的数据。 A. cp B. dd C. fmt D. cut 2-31 终止一个前台进程可能用到的命令和操作_____. A. kill B. ;+C C. shut down D. halt 2-32 在使用mkdir 命令创建新的目录时,在其父目录不存在时先创建父目录的选项是___. A. -m B. -d C. -f D. -p 2-33具有很多C 语言的功能,又称过滤器的是___. A. csh B. tcsh C. awk (awk 详解 ) D. sed 2-34 建立动态路由需要用到的文件有__. A. /etc/hosts B. /etc/HOSTNAME C. /etc/resolv.conf D. /etc/gateways 2-35 下列提法中,不属于ifconfig 命令作用范围的是__. A. 配置本地回环地址 B. 配置网卡的IP 地址 C. 激活网络适配器 D. 加载网卡到内核中 2-36下列文件中,包含了主机名到IP 地址的映射关系的文件是:___. A. /etc/HOSTNAME B. /etc/hosts C. /etc/resolv.conf D. /etc/networks 2-37 Linux查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用 C__命令. A. cat B. more C. less D. head 2-38 当我们与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出现了问题,满足该目的的命令是 __. A.ping B. ifconfig C. traceroute D. netstat 2-39对名为fido 的文件用chmod 551 fido 进行了修改,则它的许可权是__. A. -rwxr-xr-x B. -rwxr--r-- C. -r------ D. -r-xr-x—x 2-40 用ls –al 命令列出下面的文件列表,__文件是符号连接文件. 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. l rwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng 2-41 Linux 系统通过 __命令给其他用户发消息。 A. less B. mesg y C. write D. echo to 2-42 ___命令可以在Linux 的安全系统中完成文件向磁带备份的工作。 A. cp B. tr C. dir D. cpio 2-43 Linux 文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在 ___目录中. A. /bin B. /etc C. /dev D. /lib 2-44在重新启动Linux 系统的同时把内存中的信息写入硬盘,应使用 __命令实现。 A. reboot B. halt C. reboot D. shutdown –r now 2-45 关闭linux 系统(不重新启动)可使用命令 __. A. Ctrl+Alt+Del B. halt C. shutdown -r now D. reboot 2-46在vi 编辑器中的命令模式下,键入 ___可在光标当前所在行下添加一新行。 A. ; B. o C. ; D. A 2-47 在vi 编辑器中的命令模式下,删除当前光标处的字符使用 __命令。 A. x B. ;; C. ; D. ;; 2-48 86.()命令是在vi 编辑器中执行存盘退出。 A. :q B. ZZ C. :q! D. :WQ 2-49 85.以下命令对中,正确的是: A. ls 和sl B. cat 和tac C. more 和erom D. exit 和tixe 2-50 以下不属于Linux系统命令的是: A. kill B. ifconfig C. mv D. remove 2-51 某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为__ _ ___ 。 A.467 B. 674 C.764 D. 476 2-52 linux 系统中,给文件授予可执行权限的命令是______。 A. mv B. chown C. chmod D. sudo 2-53 在linux系统中,用来存放系统所需要的配置文件和子目录是____。 A. /etc B. /var C. /root D. /home 2-54下面那些命令可以将当前目录下的名为file.txt文本文件中的所有小写t都替换成大写T。 A. cut ‘t’‘T’ file.txt B. cut ‘t’‘T’ C. tr ‘t’ ‘T’ D. tr ‘t’ ‘T’ file.txt 2-55 如何将ls -l file01 file02 命令的标准输出重定向到名为stdout.txt的文件中,并将错误输出重定向到名为stderr.txt的文件中。 A. ls -l file01 file02 1>stdout.txt &>stderr.txt B. ls -l file01 file02 &>stdout.txt C. ls -l file01 file02 2>stdout.txt 1>stderr.txt D. ls -l file01 file02 1>stdout.txt 2>stderr.txt 2-56 关于如下命令,哪个说法是错误的? sort -k3 < 002 张三 5500 005 李四 6600 009 王五 5120 EOF A. EOF是输入文件的界定符,是固定的 B. 该命令使用了输入重定向的Here Document功能 C. 界定符EOF一定要顶格写,前面不能有任何字符,后面也不能有任何字符 D.该命令的输出将对输入内容按字段三排序 2-57 linux下给文件start.sh设置权限为自己可读可修改可执行,组内用户为可读可执行不可修改,其余用户没有任何权限,那么设置该文件权限的命令为( )。 A. chmod start.sh 706 B.chmod start.sh 705 C. chmod start.sh 750 D. chmod start.sh 777 2-58文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列哪个命令是对的?。 A. chmod a+x,g+w exer1 B. chmod g+w exer1 C. chmod 765 exer1 D. chmod o+x exer1 2-59局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是? A. route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1 B. route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1 C. route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1 D. route add default 192.168.1.0 netmask 172.168.1.1 metric 1 2-60 在dhcpd.conf中用于向某个客户主机分配固定IP地址的参数是 A. server-name B. filename C. fixed-address D. hardware 2-61 Linux文件系统的目录结构是一棵倒挂的树,文件都按其作用分门别类地放在相关的目录中。现有一个外部设备文件,我们应该将其放在? A. /bin B. /etc C. /dev D. /lib 2-62 当内网内没有条件建立dns服务器,又不想用IP访问网站,应配置什么文件 A. hosts B. sysconfig C. network D. hostname 2-63 若一台计算机的内存为128MB,则交换分区的大小通常是 A. 64MB B. 128MB C. 256MB D. 512MB 2-64 建立动态路由需要用到的文件有 A. /etc/hosts B. /etc/HOSTNAME C. /etc/gateways D. /etc/resolv.conf 2-65 若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,那么要生成该程序代码的调试信息,编译时使用的GCC命令正确的是? A. arm-linux-gcc -c -o test.o test.c B. arm-linux-gcc -S -o test.o test.c C. arm-linux-gcc -g -o test test.c D. arm-linux-gcc -o test test.c 2-66在xdm的配置目录中,哪个文件用来设置在用户通过xdm登录后自动起动的应用程序? A. The Xsession file B. The Xstart_up file C. The Xsetup_0 file D. The GiveConsole file 2-67 在多核处理器上的Linux环境中,若临界区非常短,且不允许线程上下文切换的情况下,使用下列哪种机制满足上述需求并且性能最好? A. SpinLock B. Mutex C. Semaphore D. Condition variable 2-68 linux用户磁盘配额配置文件aquota.user的默认访问权限是( ) A.644 B. 755 C. 600 D. 700 2-69 终止系统中所有名为sshd的进程 A. kill sshd B. xkill sshd C. pkill sshd D. killall sshd 2-70 启动系统中的httpd服务命令是 A. service httpd start B. service httpd restart C. service httpd stop D. service httpd stauts 2-71 退出交互模式的shell,应键入____. A. ; B. ^q C. exit D. quit 2-72 下列变量名中有效的shell 变量名是:___. A. -2-time B. _2$3 C. trust_no_1 D. 2004file 填空题 4-1立即关机重启,写出该命令: reboot || shutdown -r now(2分)。 4-2在晚上11点重启,写出该命令: shutdown -r 23:00(2分)。 4-3在命令行下使用 vi 编辑一个文件时, yy 命令复制当前行。dd(1)命令可以删除光标所在的那一整行。(1分)。 4-4在Linux系统中,以 文件(2分)方式访问设备。 4-5 Linux内核引导时,从 /etc/fstab(2分)文件 中读取要加载的文件系统。 4-6 Linux文件系统中每个文件用 i节点(2分)来标识。 4-7全部磁盘块由四个部分组成,分别为引导块 专用块、i节点表块(4分)、和数据存储块 。 4-8链接分为: 硬链接 和 符号链接(2分)。 4-9超级块包含了 i节点和空闲块表(2分)等重要的文件系统信息。 4-10某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为: 644(2分) ,该文件属性是 目录(2分)。 4-11前台起动的进程使用 Ctrl + c(2分)终止。 4-12静态路由设定后,若网络拓扑结构发生变化,需由 系统管理员(2分)修改路由的设置。题目创建后不可修改填空数量。 4-13网络管理的重要任务是: 控制和监控(2分)。 4-14编写的Shell程序运行前必须赋予该脚本文件 执行(2分)权限。 4-15 系统管理的任务之一是能够在 分布式(2分)环境中实现对程序和数据的安全保护、备份、恢复和更新。 4-16系统交换分区是作为系统 虚拟存储器(2分)的一块区域。 4-17 内核配置是系统管理员在改变系统配置 硬件(2分)时要进行的重要操作。 4-18在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、 网关地址 (2分)和子网掩码等必要信息。 4-19唯一标识每一个用户的是 用户 ID || 用户名(2分)。 4-20 RIP 协议是最为普遍的一种内部协议,一般称为 动态路由信息协议(2分)。 4-21在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为 文件系统(2分)。 4-22 DHCP可以实现 动态(2分)IP 地址分配。 4-23 系统网络管理员的管理对象是服务器、 用户(2分)和服务器的进程以及系统的各种资源。 4-24网络管理通常由监测、传输 (2分)和管理三部分组成,其中管理部分是整个网络管理的中心。 4-25 假设要在当前工作目录的上层目录中创建一个名为sampledir 的目录,应该输入 mkdir ../sampledir(2分)命令。 4-26 :q!(2分)命令表示不保存强制退出vi。 4-27在CentOS 6.X中,默认情况下虚拟用户的UID范围是 1-499(2分)。 4-28 rpm管理软件最大的缺陷是 无法解决软件依赖性问题(2分)。 4-29 终止系统中所有名为sshd的进程命令是 pkill sshd(2分)。 4-30 当想删除本系统用不上的设备驱动程序时必须 设备驱动程序(2分),当内核不支持系统上的设备驱动程序时,必须对 设备驱动程序(1分) 。 4-31 Ping (2分)命令可以测试网络中本机系统是否能到达一台远程主机 ,所以常常用于测试网络的连通性 。 4-32 vi 编辑器具有两种工作模式 命令模式 (2分) 和 输入模式(2分) 4-33 可以用ls –al 命令来观察文件的权限,每个文件的权限都用10 位表示,并分为四段,其中第一段占 1 位,表示 文件类型(2分) ,第二段占3 位,表示文件文件所有者对该文件的权限(2分)。 4-34 进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为:运行态(2分) 、就绪态(2分) 和 等待态(阻塞态)(2分)。 4-35 DNS 实际上是分布在internet 上的主机信息的数据库 (2分) ,其作用是实现IP地址和主机名之间的转换(2分)。 4-36 Apache(2分)是实现WWW服务器功能 的 应用 程序,即通常所说的―浏览web 服务器‖,在服务器端为用户提供浏览 web 服务的就是apache 应用程序。 4-37 Linux 系统上做备份可以有两种类型:系统备份(2分)和用户备份(2分)。其中前者是指对操作系统的备份,后者是指对应用程序和用户文件的备份。 4-38 CD-ROM 标准的文件系统类型是 ISO9660(2分)。 4-39 当lilo.conf 配置完毕后,使之生效应运行的命令及参数是 lilo(2分)。 4-40在使用ls 命令时,用八进制形式显示非打印字符应使用参数 -b(2分)。 4-41 Linux 使用支持 Windows 9.x/2000 长文件名的文件系统的类型是 vfat (2分)。 4-42 设定限制用户使用磁盘空间的命令是 quota 。(2分)。 4-43在Linux 系统中,用来存放系统所需要的配置文件 和子目录的目录是 /etc (2分) 。 4-44 硬链接(2分)只能建立对文件链接。符号链接(2分)可以跨不同文件系统创建。 4-45 套接字文件的属性位是 s(2分) 。 4-46结束后台进程的命令是 kill(2分)。 4-47进程的运行有两种方式,即 独立运行(2分)和 父进程进行 (2分) 。 4-48 Links 分为硬链接(2份)和 符号链接(2分) 。 4-49超级用户下显示Linux 系统中正在运行的全部进程,应使用的命令及参数是 ps -aux (2分)。 4-50 管道文件的属性位是 p(2分)。 4-51 将前一个命令的标准输出作为后一个命令的标准输入,称之为 管道(2分)。 4-52 为脚本程序指定执行权的命令及参数是 chmod a+x filename(2分) 。 4-53 远程登录的命令是 telent(2分) 。 4-54 欲发送10个分组报文测试与主机abc.tuu.edu.cn 的连通性,应使用的命令和参数是: ping abc.tuu.edu.cn -c 10(2分) 。 4-55 DNS 服务器的进程命名为named,当其启动时,自动装载 /etc (2分) 目录下的 named.conf(2分)文件中定义的DNS 分区数据库文件。 4-56 Apache 服务器进程配置文件是 httpd.conf(2分)。 4- 57 可以在标准输出上显示整年日历的命令及参数是 cal -y(2分)。 4-58 在shell 编程时,使用方括号表示测试条件的规则是: 方括号两边必有空格(2分) 。 4-59 检查已安装的文件系统/dev/sda5 是否正常,若检查有错,则自动修复,其命令及参数是 Fsck-a/dev/had5(2分) 。 4-60 在Windows9.x 环境下共享Unix/Linux 中的用户目录的一个工具是 Samba服务器(2分)服务器 。 4-61系统管理员的职责是进行 系统资源管理(2分)、 设备管理(2分)、 系统性能管理(2分)、 安全管理(2分)和 系统性能监测(2分) 。 4-62 在Linux 系统中,测试DNS 服务器是否能够正确解析 域名的的客户端命令,使用命令 nslookup(2分) 。 4-63 在Linux 系统下,第二个IDE通道的硬盘(从盘)被标识为 hdb(2分)。 4-64系统管理员需升级内核版本和改变系统硬件配置时, 该重新编译内核(2分) 。 4-65 如果只是要修改系统的IP 地址,应修改 /etc/rc.d/rc.inet1(2分) 配置文件。 4-66 当LAN 内没有条件建立DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置 /etc/hosts(2分)文件。 4-67当LAN 内没有条件建立DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置 /etc/hosts(2分) 文件。 4-68 在vi 编辑环境下,使用 Esc键(2分) 键进行模式转换。 4-69 Linux 9.0 通常使用 ext3(2分) 文件系统,系统的全部磁盘块由四部分组成。 4-70 /home/stud1/wang 目录做归档压缩,压缩后生成wang.tar.gz 文件,并将此文件保存到/home 目录下,实现此任务的tar 命令格式 tar -czvf wang.tar.gz /home/stud1/wang(2分)。 4-71 管道就是将前一个命令的 标准输出(2分) 作为后一个命令的 标准输入(2分) 。 4-72在使用手工的方法配置网络时,可通过修改 /etc/hostname(2分) 文件来改变主机名,若要配置该计算机的域名解析客户端,需配置 /etc/resolv.conf(2分) 文件。 4-73启动进程有手动启动和调度启动两种方法,其中调度启动常用的命令为 at(2分) 、 batch(2分)和 crontab(2分) 。 4-74 test.bns.com.cn 的域名是 bns.com.cn(2分) ,如果要配置一域名服务器,应在 named.conf(2分) 文件中定义DNS 数据库的工作目录。 4-75 邮件系统使用的两个主要协议是: SMTP(2分) 和 POP(2分) ,前者用来发送邮件,后者用来接收邮件。 4-76 DHCP 是动态主机配置协议的简称,其作用是: 为网络中的主机分配IP地址(2分) 。 4-77 目前代理服务器使用的软件包有很多种,教材中使用的是 squid(2分) 。 4-78 rm 命令可删除文件或目录,其主要差别就是是否使用递归开关 -R(2分)。 4-79 mv(2分)命令可以移动文件和目录,还可以为文件和目录重新命名。 4-80路由选择 协议(RIP)的跳数表示到达目的地之前必须通过的网关 数,RIP 接受的最长距离是(2分)15 跳 。 4-81 ping 命令用于测试网络的连通性,ping 命令通过 ICMP(2分) 协议(internet 控制信息协议)来实现。 4-82 nfs (2分)协议 用于实现 Unix (/linux)主机之间的文件系统共享。 4-83不仅是用户命令的解释器 ,它同时也是一种功能强大的编程语言。 bash(2分) 是Linux 的缺省shell。 4-84用 >>(2分) 符号将输出重定向内容附加在原文的后面。 4-85增加一个用户的命令是:usradd(2分) 或 adduser(2分) 。 4-86字符串查找,使用 grep(2分) 命令。 4-87 使用 *(2分)每次匹配若干个字符。 4-88 /sbin(2分)目录用来存放系统管理员使用的管理程序。 4-89 阅读以下内容,回答以下问题。 【说明】:某公司搭建一个小型的局域网,局域网内有200台pc机,网络中配置一台Linux服务器作为Internet接入服务器,Linux服务器的E0网卡的IP地址为192.168.1.1,E1网卡的IP地址为202.100.20.30,该网络结构如图所示: 为了方便局域网IP管理,决定在Linux Server中配置DHCP服务器。要求DHCP服务满足以下几个条件: (1)考虑当前扩展需求,当前只从192.168.1.2到192.168.1.200的ip地址; (2)PC100(MAC地址为00:A0:78:8E:9E:AA)作为内部文件服务器,需要使用固定的IP地址是192.168.1.100; (3)在Linux服务器上配置DNS服务。 根据以上说明,完成dhcp服务器的配置文件dhcpd.conf的配置项。 default-lease-time 1200; max-lease-time 2400; option domain-name-servers 192.168.1.1(1分); subnet 192.168.1.0 (1分) netmask 255.255.255.0(1分) { option routers (1分); range 192.168.1.2 (1分)192.168.1.201 (1分) ; host fixed { hardware ethernet 00:A0:78:8E:9E:AA(1分); fixed address 192.168.1.100(1分); } } 主观题 8-1 h0164.简述Linux 文件系统通过i 节点把文件的逻辑结构和物理结构转换的工作过程。 答案:Linux 通过i 节点表将文件的逻辑结构和物理结构进行转换。 i 节点是一个64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在i 节点表中最重要 的内容是磁盘地址表 。在磁盘地址表中有13 个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux 文件系统通过把i 节点和文件名进行 连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i 节点号,通过该i 节点的磁盘地址表把分散存放的文件物 理块连接成文件的逻辑结构。 答: Linux通过i节点表将文件的逻辑结构和物理结构进行转换。i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息,在i节点表中最主要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查询该文件名对应的项,由于此得到该文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。 8-2 h0165.简述进程的启动、终止的方式以及如何进行进程的查看。 答案:在Linux 中启动一个进程有手工启动和调度启动两种方式: (1)手工启动 用户在输入端发出命令,直接启动一个进程的启动方式。可以分为: ①前台启动:直接在SHELL 中输入命令进行启动。 ②后台启动:启动一个目前并不紧急的进程,如打印进程。 (2)调度启动 系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务。 经常使用的进程调度命令为:at、batch、crontab。 答: 在Linux中启动一个进程有手工启动和调度启动两种方式: (1)手工启动用户在输入端发出命令,直接启动一个进程的启动方式。可以分为: ①前台启动:直接在SHELL中输入命令进行启动。 ②后台启动:启动一个目前并不紧急的进程,如打印进程。 (2)调度启动系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时 间和场合,到时候系统会自动完成该任务。 经常使用的进程调度命令为:at、batch、crontab。 8-3 h512.Linux进程有几个状态,简述各状态的转换条件。 答案: 1.运行状态 2. 可中断睡眠状态 3.不可中断睡眠状态 4.暂停状态 5.跟踪状态 6.僵死状态 7.退出状态 (7分) (1)进程创建时的状态为不可中断睡眠状态,在do_fork()结束前被父进程唤醒后,变为执行状态,适当时候获得CPU。 (2)获得CPU且正在运行的进程若申请不到某个资源时,进入睡眠状态,如果调用sleep_on(),则其状态变为不可中断睡眠状态,如果调用interruptible_sleep_on(),则其状态变为可中断睡眠状态,当进程获取所申请的资源时,睡眠进程进入运行状态。 (3)当系统调用do_exit()时,进程进入僵死状态。若进程通过系统调用设置标志PF_SYSTRACE,则在系统调用返回前进入函数syscall_trace(),状态改为暂停。只有通过其他进程发送的信号SIG_KILL或SIG_CONT,才能把暂停状态进程唤醒,重新进入run-queue队列。 答: 进程通常至少有三种基本状态: (1)就绪状态(ready):进程运行所需的外部条件满足,但因为其它进程已占用CPU,所以暂时不能运行。 (2)执行状态(running):外部条件满足,进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态。 (3)阻塞状态(blocked):进程因资源无法满足而等待资源,暂时不能运行的状态,称为阻塞状态,也称为等待状态。 各状态的转换条件: (1)就绪 à 执行:对于处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可执行。相应地,它由就绪状态转变为执行状态。 (2)执行 à就绪:正在执行的进程(执行状态)也称为当前进程,如果因分配给它的时间片已用完而被暂停执行时,该进程便由执行状态又回到就绪状态; (3)执行 à阻塞:一个处在执行状态的进程,如果因等待资源而使进程的执行受阻,使之无法继续执行,该进程将由执行状态转变为阻塞状态。 (4)阻塞 à 就绪:一个处于阻塞状态的进程,当它所需的外部事件满足,它应由阻塞状态变为就绪状态。 Linux系统的一个任务总体上有以下几种状态: (1)TASK-RUNNING状态 :执行和就绪两种状态 (2)TASK-INTERRUPTIBLE状态:可中断的等待状态。 (3)TASK-UNINTERRUPTIBLE状态:不可中断等待状态。 (4)TASK-ZOMBIE状态,僵死状态。由于某些原因进程被终止,这个进程所占有的资源全部释放之后,还保存着PCB信息,这种占有PCB但已被撤消的进程就处于僵死状态。 (5)TASK-STOPPED状态,暂停状态。 8-4 h513.Linux中的线程调度算法有几种,简述之? 调度策略有三种: (1)SCHED_OTHER(普通分时调度策略):它是缺省调度策略,适用于优先级为0的线程,它为链表中的每个线程分配时间片,保证链表中的每个线程有公平的执行时间。 (2)SCHED_FIFO(先进先出调度策略):适用于优先级高于0的线程,当SCHED_FIFO中有可运行线程时,该线程会抢先任何当前运行的SCHED_OTHER线程称为当前运行线程。当有优先级更高的线程抢先时,该进程保留在对应链表的头部,在高优先级线程结束后立即投入运行。 (3)SCHED_RR(循环调度策略):它是SCHED_FIFO策略的简单增强,增加了时间片限制。如果某个SCHED_RR 运行的线程等于或超过分配给它时间片,结束运行,排到对应链表的尾部。 8-5 h16.试解释apache 服务器以下配置的含义: 16.试解释apache 服务器以下配置的含义: (1)port 1080 (2)UserDir userdoc (3)DocumentRoot ―/home/htdocs‖ (4); Options Indexes FollowSymLinks AllowOverride Non Order deny,allow deny from all allow from 192.168.1.5; (5)Server Type Standlone Apache 服务器配置行含义如下: (1)将apache 服务器的端口号设定为1080; (2)设定用户网页目录为userdoc; (3)设定apache 服务器的网页根目录:/home/htdocs; (4)在此apache 服务器上设定一个目录/home/htdocs/inside,且此目录只允许IP 地 址为192.168.1.5 的主机访问; (5)定义apache 服务器以独立进程的方式运行。 8-6 h17.简述使用ftp 进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp 文件传输命令是什么? (1)ftp 有两种登录方式:匿名登录和授权登录。使用匿名登录时,用户名为:anonymous,密码为:任何合法email 地址;使用授权登录时,用户名为用户在远程系统中的用户帐号,密码为用户在远程系统中的用户密码。 区别:使用匿名登录只能访问ftp 目录下的资源,默认配置下只能下载;而授权登录访问的权限大于匿名登录,且上载、下载均可。 (2)ftp 文件传输有两种文件传输模式:ASCII 模式和binary 模式。ASCII 模式用来传输文本文件,其他文件的传输使用binary模式。 (3)常用的ftp 文件传输命令为:bin、asc、put、get、mput、mget、prompt、bye 8-7 h18. 将内网 192.168.0.0/24 的原地址修改为 公网IP地址:1.1.1.1 [root@xuegod63 ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1 [root@xuegod63 ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.1 8-8 h19.简述raid0 raid1 raid5 三种工作模式的工作原理及特点。 RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID 结构。RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0 不能应用于数据安全性要求高的场合。 RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能。RAID1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写 ,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。 8-9 h20.如何查看占用端口8080 的进程 8-10请写出apache2.X 版本的两种工作模式,以及各自工作原理。如何查看apache 当前所支持的模块,并且查看是工作在哪种模式下? prefork(多进程,每个进程产生子进程)和worker(多线程,每个进程生成多个线程) prefork 的工作原理是,控制进程在最初建立―StartServers 个子进程后,为了满足MinSpareServers 设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32 个,直到满足MinSpareServers 设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。 worker 是2.0 版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker 也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性。这种MPM 的工作方式将是Apache 2.0 的发展趋势。 可以通过命令httpd -l 可以查看apache 当前的模块,如果带有worker.c 就是工作在worker 模式下,如果有prefork.c 就是工作在prefork.c 的模式下。 8-11 h22.你使用过监控软件吗?说说其特点 使用nagios 对服务器进行监控,其特点可实时实现手机短信、电子邮件、MSN、飞信报警。 使用cacti 对流量进行监控。 8-12 h23.你对现在运维工程师的理解和以及对其工作的认识 运维工程师在公司当中责任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务.运维工程师的一个小小的失误,很有可能会对公司及客户造成重大损失,因此运维工程师的工作需要严谨及富有创新精神。 8-13 linux 下常用的DNS服务软件是什么,举出几种常用的DNS记录,如果域名abc.com配置好了一台邮件服务器,IP 地址为202.106.0.20,我该如何做相关的解析?是否了解bind 的智能解析,如果了解请简述一下其原理 1)常用的DNS 软件是bind 2)A 记录 地址记录 MX 记录 邮件交换记录 CNAME 记录 别名域记录 3)修改abc.com 域名的配置文件,增加以下记录 IN MX 10 mail.abc.com. mail IN A 202.106.0.20 4)bind 根据请求解析客户端的IP 地址,做出不同的解析,其原理是在配置文件中,设定了view,在每个view 都有客户端的IP 地址段,bind 服务器根据请求解析客户端的IP 地址,匹配不同的view,再根据该view 的配置,到相应的配置文件进行查询,将结果返回给请求的客户端。 8-14 通过apache 访问日志access.log 统计IP 和每个地址访问的次数,按访问量列出前10 名。日志格式样例如下192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] ―GET / HTTP/1.1″ 200 19 [root@xuegod63 ~]# service httpd restar [root@xuegod63 ~]# curl http://192.168.1.63 #自己产生一些日志 [root@xuegod63 ~]# cat /var/log/httpd/access_log | awk '{ print $1 }' | uniq -c|sort -rn|head -10 //这个别的方法也能统计,但有些命令是必要的 awk , sort,uniq ,主要看是否这些命令都使用了。 8-15 h26.如何用MySQL 命令进行备份和恢复?以test 库为例,创建一个备份,并再用此备份进行恢复。 [root@xuegod63 ~]# yum install -y mysql-server [root@xuegod63 ~]# service mysqld start [root@xuegod63 ~]# mysqldump -u root -p test > test.sql //主要考对方msqldump > test.sql 和 mysql < test.sql 8-16 h1.用Shell 编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 #!/bin/bash directory=/dev for file in anaconda-ks.cfg install.log install.log.syslog do if [ -f $file ] then cp $file $directory/$file.bak echo " HI, $LOGNAME $file is backed up already in $directory !!" fi done 8-17 h27.你认为在系统调优方面都包括哪些工作,以linux 为例,请简明阐述,并举一些参数为例。 系统调优包括内核参数优化和应用优化2 个方面,对方只要从这两方面来说,就可以了,尽量能有些经验的阐述。 8-18 h28.挂载windows 的共享目录? mount.cifs //IP/SHARE linux 的目录 --verbose -o user=username <--这个用户是windows 下的用户--verbose 这个参数可以不加,它是显示过程的 例如mount.cifs //10.1.1.246/gongxiang /mnt --verbose -o user=gao 或者是mount -t cifs umount /mnt 或umount.cifs /mnt -l <--取消挂载 图形界面:smb://IP 8-19 h29.A B 网络是通的,最少列出五种传输文件的服务 nfs ,ftp,scp ,rsync,samba,http:// 8-20假设Apache 产生的日志文件名为access_log,在apache 正在运行时,执行命令mv access_log access_log.bak,执行完后,请问新的apache 的日志会打印到哪里,为什么? 新的日志会打印在access_log.bak 中,因为apache 启动时会找到access_log 文件,随时准备向文件中加入日志信息,虽然此时文件被改名,但是由于服务正在运行,因为它的inode 节点的位置没有变,程序打开的fd 仍然会指向原来那个inode,不会因为文件名的改变而改变。apache 会继续向已改名的文件中追加日志,但是若重启apache 服务,系统会检查access_log文件是否存在,若不存在则创建。 8-21如何查看当前Linux 系统的状态,如CPU 使用,内存使用,负载情况等.Linux 系统中―/proc‖是个伪文件目录,不占用系统空间,及时的反应出内存现在使用的进程情况......其中许多文件都保存系统运行状态和相关信息对于―/proc‖中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息: cpuinfo 主机CPU 信息 filesystems 文件系统信息 meninfo 主机内存信息 version Linux 内存版本信息 diskstatus 磁盘负载情况 另外top 命令可以动态的显示当前系统进程用户的使用情况,而且是动态的显示出来,尤其是在该命令显示出来的对上方对系统的情况进行汇总. free 命令呢可以查看真实使用的内存 一般用free -m 使用lsof 、ps -aux 可以查看详细的每个进程的使用状况 dmesg 也是常用来查看系统性能的命令 8-22请将下列shell 程序加注释,并说明程序的功能和调用方法:#!/bin/sh #!/bin/sh /etc/rc.d/rc.httpd Start/stop/restart the Apache web server. To make Apache start automatically at boot, make this file executable: chmod 755 /etc/rc.d/rc.httpd case "$1" i 'start') /usr/sbin/apachectl start ;; 'stop') /usr/sbin/apachectl stop ;; 'restart') /usr/sbin/apachectl restart ;; *) echo "usage $0 start|stop|restart" ; esac (1)程序注释 #!/bin/sh 定义实用的shell # /etc/rc.d/rc.httpd 注释行,凡是以星号开始的行均为注释行。 # Start/stop/restart the Apache web server. # To make Apache start automatically at boot, make this # file executable: chmod 755 /etc/rc.d/rc.httpd #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" ;; #显示命令提示信息:程序的调用方法 esac #case 结构结束 (2)程序的功能是启动,停止或重新启动httpd 进程 (3)程序的调用方式有三种:启动,停止和重新启动。 8-23 比如, ext2 文件系统, 如果异常死机,开机如何修复文件系统?如果异常关机,比如断电,通知机房的人开机之后,我们需要远程修复、检查文件系统除了/分区之外, 其他的分区: umount /home fsck -y /home / 分区需要开机之后, 由机房的人来扫描随后我们再登录并扫描/home 等其他分区如何查看一个进程所使用的文件句柄?看这里面 /proc/进程号/fd/的个数就行了 8-24 简单的比如如何查看apache 进程数 [root@localhost fd]# ps -ef|grep httpd|wc -l 1 8-25 proc/sys 子目录的作用该子目录的作用是报告各种不同的内核参数,并让您能交互地更改其中的某些。与 /proc中所有其他文件不同,该目录中的某些文件可以写入,不过这仅针对 root。其中的目录以及文件的详细列表将占据过多的篇幅,而且该目录的内容是依赖于系统的,而大部分的文件也仅仅对某些特殊的应用程序有用。然而,以下是该子目录的两个最常见的用途: 允许路由:即便是 Mandrakelinux 默认的内核也是允许路由的,您必需显式允许它这么做。为此,您只要以 root 身份键入以下命令:$ echo 1 >/proc/sys/net/ipv4/ip_forward如果您要禁用路由,请将上述命令中的 1 改为 0。 阻止 IP 欺骗:IP 欺骗会让人认为某个来自于外部的某个数据包是来自于它到达的那个接口。这一技术常被骇客(cracker)所使用。您可以让内核阻止这种入侵。请键入:$ echo 1 >/proc/sys/net/ipv4/conf/all/rp_filter这样,这种攻击就不再可能了。这些改变仅当系统运行时有效。在系统重新启动之后,它们会改会它们的默认值。要在启动时就改动这些值,您可以将您在 shell 提示符后键入的命令添加到 /etc/rc.d/rc.local 中以免每次都键入它们。另一个方法是修改/etc/sysctl.conf 8-26 h0035.实现字符串翻转 [root@localhost bin]# cat 8 qweqewqedadaddas [root@localhost bin]# rev 8 saddadadeqweqewq 8-27 h3.设计一个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 8-28 h0036.sed awk grep 哪个最好 我答的是 哪个掌握的精通,都很好,但是还是问我哪个最好,我只能说awk 了,对于行操作和列操作都可以操作的很好。 8-29 h0037.grep -E -P 是什么意思 我说的是-E, --extended-regexp 采用规则表示式去解释样式。 -P 不太清楚 8-30 h0038.简述Apache 两种工作模式,以及它们之间的区别。 最主要的两种模式是prefork 模式与worker 模式。prefork 每个子进程只有一个线程,效率高但消耗内存大,是unix 下默认的模式;worker 模式每个子进程有多个线程,内存消耗低,但一个线程崩溃会牵连其它同子进程的线程。 8-31 h39.用iptables 添加一个规则允许192.168.0.123 访问本机3306 端口 iptables -I INPUT 1 -p tcp -m tcp --dport 3306 -s 192.168.0.123 -j ACCEPT 8-32 h4.编写shell 程序,实现自动删除50 个账号的功能。账号名为stud1 至stud50。 #!/bin/sh i=1 while [ $i -le 50 ] do userdel -r stud${i} i=$(($i+1 )) done 8-33设计一个shell 程序,在每月第一天备份并压缩/etc 目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy 为年,mm为月,dd 为日。Shell 程序fileback 存放在/usr/bin 目录下。 #!/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!" (2)编写任务定时器: echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron crontab /root/etcbakcron 或使用crontab -e 命令添加定时任务: 0 1 * * * /bin/sh /usr/bin/fileback 8-34 h7.有一普通用户想在每周日凌晨零点零分定期备份/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 使生效。 8-35设计一个Shell 程序,在/userdata 目录下建立50 个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 #!/bin/sh i=1 while [ i -le 50 ] do if [ -d /userdata ];then mkdir -p -m 754 /userdata/user$i 加上-m 754 就不用写下面那一句了 -p 是递归建 立目录 #chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) else mkdir /userdata mkdir -p -m /userdata/user$i #chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) fi done 8-36有文件file [root@xuegod63 ~]# cat file #file中内容如下: aaaaaa bbbbbbbb cccccccab (1)查询file里面空行的所在行号; (2)查询file1 以abc 结尾的行; (3)打印出file1 文件第1 到第3 行。 (1)查询file里面空行的所在行号: awk '{if($0~/^$/)print NR}' file or grep -n ^$ file |awk 'BEGIN{FS=":"}{print $1}' (2)查询file1 以abc 结尾的行: grep abc$ file1 (3)打印出file1 文件第1 到第3 行: sed -n '1,3p' file head -3 file 8-37 h10.编写个shell 脚本将/boot/grub/目录下大于100K 的文件转移到/opt 目录下 [root@xuegod63 ~]# cat test.sh #!/bin/bash cd /boot/grub for file in ls /boot/grub #for file in ls /boot/grub do if [ -f $file ]; then if [ ls -l $file|awk '{print $5}' -gt 10000 ]; then mv $file /opt/ fi fi done 8-38 h11.有个文件如下: http://a.domain.com/1.html http://b.domain.com/1.html http://c.domain.com/1.html http://a.domain.com/2.html http://b.domain.com/2.html 要求:得到主机名(和域名),并统计哪个网址出现的次数,并排序。可以shell 或C。 得到的结果应该是: 3 a.domain.com 2 b.domain.com 1 c.domain.com [root@mail ~]# awk ‗BEGIN{FS=‖/‖}{arr[$3]++}END{for(i in arr) print arr[i],i}‘ list| sort -r 3 a.domain.com 2 b.domain.com 1 c.domain.com