linux面试题知识整理

ai小艺 贡献于2012-12-25

作者 王春明  创建于2012-05-25 13:11:00   修改者王春明  修改于2012-05-25 14:25:00字数45510

文档摘要:1. 在Linux系统中,以 文件 方式访问设备 。 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux文件系统中每个文件用 i节点 来标识。 4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块
关键词:

Linux基础知识 一.填空题 1. 在Linux系统中,以 文件 方式访问设备 。 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux文件系统中每个文件用 i节点 来标识。 4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。 5. 链接分为: 硬链接 和 符号链接 。 6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。 7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 目录 。 8. 前台起动的进程使用 Ctrl+c 终止。 9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。 10. 网络管理的重要任务是: 控制 和 监控 。 11. 安装Linux系统对硬盘分区时,必须有两种分区类型: 文件系统分区 和 交换分区 。 13. 编写的Shell程序运行前必须赋予该脚本文件 执行 权限。 14. 系统管理的任务之一是能够在 分布式 环境中实现对程序和数据的安全保护、备份、恢复和更新。 15. 系统交换分区是作为系统 虚拟存储器 的一块区域。 16. 内核分为 进程管理系统 、 内存管理系统 、 I/O管理系统 和文件管理系统 等四个子系统。 17. 内核配置是系统管理员在改变系统配置 硬件 时要进行的重要操作。 18. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、 网关地址 和 子网掩码 等必要信息。 19. 唯一标识每一个用户的是用户 ID 和用户名。 20 . RIP 协议是最为普遍的一种内部协议,一般称为动态路由选择协议。 21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为 文件系统 。 22. DHCP可以实现动态 IP 地址分配。 23. 系统网络管理员的管理对象是服务器、 用户 和服务器的进程 以及系统的各种资源。 24. 网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。 25. 当想删除本系统用不上的 设备驱动程序 时必须编译内核,当内核不支持系统上的 设备驱动程序 时,必须对内核 升级 。 26 Ping命令可以测试网络中本机系统是否能到达 一台远程主机 ,所以常常用于测试网络的 连通性 。 27. vi编辑器具有两种工作模式: 命令模式 和 输入模式 。 28. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占 1 位,表示 文件类型 ,第二段占3位,表示 文件所有者 对该文件的权限。 29. 进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为: 运行态 、 就绪态 和 等待态(阻塞态) 。 30. DNS实际上是分布在internet上的主机信息的数据库,其作用是实现 IP地址和主机名 之间的转换。 31. Apache是实现WWW服务器功能的应用程序,即通常所说的“浏览web服务器”,在服务器端 为用户提供浏览 web服务 的就是apache应用程序。 32. 在Linux系统上做备份可以有两种类型:系统备份 和 用户备份 。其中前者是指对 操作系统 的备份,后者是指对 应用程序和用户文件的备份。 33. CD-ROM标准的文件系统类型是 iso9660 。 34. 当lilo.conf配置完毕后,使之生效,应运行的命令及参数是 lilo 。 35. 在使用ls命令时,用八进制形式显示非打印字符应使用参数 -b 。 36. Linux使用支持Windows 9.x/2000长文件名的文件系统的类型是 vfat 。 37. 设定限制用户使用磁盘空间的命令是 quota 。 38 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是 /etc 。 39. 硬连接只能建立对 文件 链接。符号链接可以跨不同文件系统创建。 40. 套接字文件的属性位是 s 。 41. 结束后台进程的命令是 kill 。 42. 进程的运行有两种方式,即 独立运行和使用父进程运行 。 43. Links分为 硬链接和符号链接 。 44. 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是 ps -aux 。 45. 管道文件的属性位是 p 。 46. 将前一个命令的标准输出作为后一个命令的标准输入,称之为 管道 。 47. 为脚本程序指定执行权的命令及参数是 chmod a+x filename 。 48. 进行远程登录的命令是 telnet 。 49. 欲发送10个分组报文测试与主机abc.tuu.edu.cn的连通性,应使用的命令和参数是: ping abc.tuu.edu.cn –c 10 。 50. DNS服务器的进程命名为named,当其启动时,自动装载 /etc目录下的 named.conf 文件中定义的DNS分区数据库文件。 51. Apache服务器进程配置文件是 httpd.conf 。  52.在 Linux系统中,压缩文件后生成后缀为.gz文件的命令是 gzip 。 53. 在用vi编辑文件时,将文件内容存入test.txt文件中,应在命令模式下键入 :w test.txt 。 54 可以在标准输出上显示整年日历的命令及参数是 cal -y 。 55. 在shell编程时,使用方括号表示测试条件的规则是:方括号两边必须有 空格 。 56. 检查已安装的文件系统/dev/had5是否正常,若检查有错,则自动修复,其命令及参数是 fsck –a /dev/had5 。 57. 在Windows9.x环境下共享Unix/Linux中的用户目录的一个工具是 Samba服务器 。 58. 系统管理员的职责是进行系统资源管理、系统性能管理、设备管理、安全管理和 系统性能监测 。 59 在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令 nslookup 。 60. 在Linux系统下,第二个IDE通道的硬盘(从盘)被标识为 hdb 。 61. 当系统管理员需升级内核版本和改变系统硬件配置时,应 重新编译内核 。 62. 如果只是要修改系统的IP地址,应修改 /etc/rc.d/rc.inet1 配置文件。 63. 当LAN内没有条件建立DNS服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置 /etc/hosts 文件。 64. 在vi编辑环境下,使用 Esc键 进行模式转换。 65. Slackware Linux 9.0通常使用 ext3 文件系统,系统的全部磁盘块由 四 部分组成。 66. 将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式 tar zcvf /home/wang.tar.gz /home/stud1/wang 。 67. 管道就是将前一个命令的 标准输出 作为后一个命令的 标准输入 。 68. 在使用手工的方法配置网络时,可通过修改 /etc/HOSTNAME 文件来改变主机名,若要配置该计算机的域名解析客户端,需配置 /etc/resolv.conf 文件。 69. 启动进程有手动启动和调度启动两种方法,其中调度启动常用的命令为 at 、 batch 和 crontab 。 70. test.bns.com.cn的域名是 bns.com.cn ,如果要配置一域名服务器,应在 named.conf 文件中定义DNS数据库的工作目录。 71. Sendmail邮件系统使用的两个主要协议是: SMTP 和 POP ,前者用来发送邮件,后者用来接收邮件。 72. DHCP是动态主机配置协议的简称,其作用是:为网络中的主机分配IP地址 。 73. 目前代理服务器使用的软件包有很多种,教材中使用的是 squid 。 74. rm命令可删除文件或目录,其主要差别就是是否使用递归开关 -r或-R 。 75. mv 命令可以移动文件和目录,还可以为文件和目录重新命名。 76. 路由选择协议(RIP)的跳数表示到达目的地之前必须通过的 网关 数,RIP接受的最长距离是 15跳 。 77. ping命令用于测试网络的连通性,ping命令通过 ICMP 协议来实现。 78. nfs 协议用于实现Unix(/linux)主机之间的文件系统共享。 79. 在Linux操作系统中,设备都是通过特殊的 文件 来访问。 80. shell不仅是 用户命令的解释器 ,它同时也是一种功能强大的编程语言。 bash是Linux的缺省shell。 81. 用 >;>; 符号将输出重定向内容附加在原文的后面。 82. 增加一个用户的命令是:adduser 或useradd 。 83 进行字符串查找,使用grep命令。 84. 使用 * 每次匹配若干个字符。 85. /sbin 目录用来存放系统管理员使用的管理程序。 二.单项选择题: 1. 下面的网络协议中,面向连接的的协议是: A 。 A 传输控制协议 B 用户数据报协议 C 网际协议 D 网际控制报文协议 2. 在/etc/fstab文件中指定的文件系统加载参数中, D 参数一般用于CD-ROM等移动设备。 A defaults B sw C rw和ro D noauto 3. Linux文件权限一共10位长度,分成四段,第三段表示的内容是 C 。 A 文件类型 B 文件所有者的权限 C 文件所有者所在组的权限 D 其他用户的权限 4. 终止一个前台进程可能用到的命令和操作 B 。 A kill B ;+C C shut down D halt 5.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是 D 。 A -m B -d C -f D -p 6. 下面关于i节点描述错误的是 A 。 A i节点和文件是一一对应的 B i节点能描述文件占用的块数 C i节点描述了文件大小和指向数据块的指针 D 通过i节点实现文件的逻辑结构和物理结构的转换 7. 一个文件名字为rr.Z,可以用来解压缩的命令是: D 。 A tar B gzip C compress D uncompress 8. 具有很多C语言的功能,又称过滤器的是 C 。 A csh B tcsh C awk D sed 9. 一台主机要实现通过局域网与另一个局域网通信,需要做的工作是 C 。 A 配置域名服务器 B 定义一条本机指向所在网络的路由 C 定义一条本机指向所在网络网关的路由 D 定义一条本机指向目标网络网关的路由 10. 建立动态路由需要用到的文件有 D 。 A /etc/hosts B /etc/HOSTNAME C /etc/resolv.conf D /etc/gateways 11. 局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是 B 。 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.255 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 12. 下列提法中,不属于ifconfig命令作用范围的是 D 。 A 配置本地回环地址 B 配置网卡的IP地址 C 激活网络适配器 D 加载网卡到内核中 13. 下列关于链接描述,错误的是 B 。 A 硬链接就是让链接文件的i节点号指向被链接文件的i节点 B 硬链接和符号连接都是产生一个新的i节点 C 链接分为硬链接和符号链接 D 硬连接不能链接目录文件 14. 在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是 C。 A 主机IP设置有误 B 没有设置连接局域网的网关 C 局域网的网关或主机的网关设置有误 D 局域网DNS服务器设置有误 15. 下列文件中,包含了主机名到IP地址的映射关系的文件是: B 。 A /etc/HOSTNAME B /etc/hosts C /etc/resolv.conf D /etc/networks 16. 不需要编译内核的情况是 D 。 A 删除系统不用的设备驱动程序时 B 升级内核时 C 添加新硬件时 D 将网卡激活 17. 在shell中变量的赋值有四种方法,其中,采用name=12的方法称 A 。 A 直接赋值 B使用read命令 C 使用命令行参数 D使用命令的输出 18. D 命令可以从文本文件的每一行中截取指定内容的数据。 A cp B dd C fmt D cut 19. 下列不是Linux系统进程类型的是 D 。 A 交互进程 B 批处理进程 C 守护进程 D 就绪进程 20.配置Apache 1.3.19服务器需要修改的配置文件为___A______ A httpd.conf B access.conf C srm.conf D named.conf 21. 内核不包括的子系统是 D 。 A 进程管理系统 B 内存管理系统 C I/O管理系统 D硬件管理系统 22. 在日常管理中,通常CPU会影响系统性能的情况是: A 。 A CPU已满负荷地运转 B CPU的运行效率为30% C CPU的运行效率为50% D CPU的运行效率为80% 23. 若一台计算机的内存为128MB,则交换分区的大小通常是 C 。 A 64MB B 128MB C 256MB D 512MB 24. 在安装Linux的过程中的第五步是让用户选择安装方式,如果用户希望安装部分组件(软件程序),并在选择好后让系统自动安装,应该选择的选项是 D 。 A full B expert C newbie D menu 25. Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用 C 命令。 A cat B more C less D menu 26. 下列信息是某系统用ps –ef命令列出的正在运行的进程, D 进程是运行Internet超级服务器,它负责监听Internet sockets上的连接,并调用合适的服务器来处理接收的信息。 A root 1 4.0 0.0 344 204? S 17:09 0:00 init B root 2 0.0 0.1 2916 1520? S 17:09 0:00 /sbin/getty C root 3 0.0 0.2 1364 632? S 17:09 0:00 /usr/sbin/syslogd D root 4 0.0 1344 1204? S 17:09 0:10 /usr/sbin/inetd 27.在TCP/IP模型中,应用层包含了所有的高层协议,在下列的一些应用协议中, B 是能够实现本地与远程主机之间的文件传输工作。 A telnet B FTP C SNMP D NFS 28.当我们与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出现了问题,满足该目的的命令是 C 。 A ping B ifconfig C traceroute D netstat 29.对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是 D 。 A -rwxr-xr-x B -rwxr--r-- C -r--r--r-- D -r-xr-x—x 30. 在i节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第1块到第11块,则该文件共占有 B 块号。 A 256 B 266 C 11 D 256×10 31. 用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 32. DNS域名系统主要负责主机名和 A 之间的解析。 A IP地址 B MAC地址 C 网络地址 D 主机别名 33. WWW服务器是在Internet上使用最为广泛,它采用的是 B 结构。 A 服务器/工作站 B B/S C 集中式 D 分布式 34.Linux系统通过 C 命令给其他用户发消息。 A less B mesg y C write D echo to 35.NFS是 C 系统。 A 文件 B 磁盘 C 网络文件 D 操作 36. B 命令可以在Linux的安全系统中完成文件向磁带备份的工作。 A cp B tr C dir D cpio 37.Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在 C 目录中。 A /bin B /etc C /dev D /lib 38.在重新启动Linux系统的同时把内存中的信息写入硬盘,应使用 D 命令实现。 A # reboot B # halt C # reboot D # shutdown –r now 39.网络管理具备以下几大功能:配置管理、 A 、性能管理、安全管理和计费管理等。 A 故障管理 B 日常备份管理 C 升级管理 D 发送邮件 40.关于代理服务器的论述,正确的是 A 。 A 使用internet上已有的公开代理服务器,只需配置客户端。 B 代理服务器只能代理客户端http的请求。 C 设置好的代理服务器可以被网络上任何主机使用。 D 使用代理服务器的客户端没有自己的ip地址。 41.关闭linux系统(不重新启动)可使用命令 B 。 A Ctrl+Alt+Del B halt C shutdown -r now D reboot 42.实现从IP地址到以太网MAC地址转换的命令为: C 。 A ping B ifconfig C arp D traceroute 43.在vi编辑器中的命令模式下,键入 B 可在光标当前所在行下添加一新行。 A ; B ; C ; D A 44.在vi编辑器中的命令模式下,删除当前光标处的字符使用 A 命令。 A ; B ;; C ; D ;; 45.在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用 C 命令。 A 上箭头 B 下箭头 C <.>; D <*>; 46.用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为 A 。 -rwxr-xr-- 1 root root 599 Cec 10 17:12 ff A 普通文件 B 硬链接 C 目录 D 符号链接 47.删除文件命令为: D 。 A mkdir B rmdir C mv D rm 48.在下列的名称中,不属于DNS服务器类型的是:C A Primary Master Server B Secondary Master Server C samba D Cache_only Server 49.网络管理员对WWW服务器进行访问、控制存取和运行等控制,这些控制可在 A 文件中体现。 A httpd.conf B lilo.conf C inetd.conf D resolv.conf 50.邮件转发代理也称邮件转发服务器,它可以使用SMTP协议,也可以使用 C 协议。 A FTP B TCP C UUCP D POP 51.启动samba服务器进程,可以有两种方式:独立启动方式和父进程启动方式,其中前者是在 C 文件中以独立进程方式启动。 A /usr/sbin/smbd B /usr/sbin/nmbd C rc.samba D /etc/inetd.conf 52.DHCP是动态主机配置协议的简称,其作用是可以使网络管理员通过一台服务器来管理一个网络系统,自动地为一个网络中的主机分配___D______地址。 A 网络 B MAC C TCP D IP 53.为了保证在启动服务器时自动启动DHCP进程,应将 A文件中的dhcpd=no改为dhcpd=yes。 A rc.inet1 B lilo.conf C inetd.conf D httpd.conf 54.对文件进行归档的命令为 D 。 A dd B cpio C gzip D tar 55.改变文件所有者的命令为 C 。 A chmod B touch C chown D cat 56.在给定文件中查找与设定条件相符字符串的命令为: A 。 A grep B gzip C find D sort 57.建立一个新文件可以使用的命令为 D 。 A chmod B more C cp D touch 58.在下列命令中,不能显示文本文件内容的命令是: D 。 A more B less C tail D join 59.在使用匿名登录ftp时,用户名为 B 。 A users B anonymous C root D guest 60.在实际操作中,想了解命令logname 的用法,可以键入 D 得到帮助。 A logname --man B logname/? C help logname D logname --help 61.如果LILO被安装在MBR,使用 A 命令即可卸载LILO。 A lilo –u B lilo –c C lilo –v D lilo -V 62.当用命令ls –al查看文件和目录时,欲观看卷过屏幕的内容,应使用组合键 D 。 A Shift+Home B Ctrl+ PgUp C Alt+ PgDn D Shift+ PgUp 63.mc是UNIX风格操作系统的 C 。 A 文件编辑器/程序编译器 B 配置网络的窗口工具 C 目录浏览器/文件管理器 D Samba服务器管理工具 64.i节点是一个 D 长的表,表中包含了文件的相关信息。 A 8字节 B 16字节 C 32字节 D 64字节 65.文件权限读、写、执行的三种标志符号依次是 A 。 A rwx B xrw C rdx D srw 66.Linux 文件名的长度不得超过 C 个字符。 A 64 B 128 C 256 D 512 67.进程有三种状态: C 。 A 准备态、执行态和退出态 B 精确态、模糊态和随机态 C 运行态、就绪态和等待态 D 手工态、自动态和自由态 68. 从后台启动进程,应在命令的结尾加上符号 A 。 A & B @ C # D $ 69. B 不是邮件系统的组成部分。 A 用户代理 B 代理服务器 C 传输代理 D 投递代理 70.在Shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是 D 。 A fold B join C tr D read 71.crontab文件由六个域组成,每个域之间用空格分割,其排列如下: B 。 A MIN HOUR DAY MONTH YEAR COMMAND B MIN HOUR DAY MONTH DAYOFWEEK COMMAND C COMMAND HOUR DAY MONTH DAYOFWEEK D COMMAND YEAR MONTH DAY HOUR MIN 72.用ftp进行文件传输时,有两种模式: C 。 A Word和binary B .txt和Word Document C ASCII和binary D ASCII和Rich Text Format 73.某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为 D 。 A 467 B 674 C 476 D 764 74.在DNS系统测试时,设named进程号是53,命令 D 通知进程重读配置文件。 A kill –USR2 53 B kill –USR1 53 C kill -INT 63 D kill –HUP 53 75.Apache服务器默认的接听连接端口号是 C 。 A 1024 B 800 C 80 D 8 76.PHP和MySQL的联合使用解决了 C 。 A 在Proxy上处理数据库的访问问题 B 在WWW服务器上处理黑客的非法访问问题 C 在WWW服务器上处理数据库的访问问题 D 在Sendmail邮件系统上处理数据库的访问问题 77.OpenSSL是一个 A 。 A 加密软件 B 邮件系统 C 数据库管理系统 D 嵌入式脚本编程语言 78.Samba服务器的配置文件是 D 。 A httpd.conf B inetd.conf C rc.samba D smb.conf 79.关于DNS服务器,叙述正确的是 D 。 A DNS服务器配置不需要配置客户端 B 建立某个分区的DNS服务器时只需要建立一个主DNS服务器 C 主DNS服务器需要启动named进程,而辅DNS服务器不需要 D DNS服务器的root.cache文件包含了根名字服务器的有关信息 80.退出交互模式的shell,应键入 C 。 A ; B ^q C exit D quit 81.将Windows C:盘(hda1)安装在Linux文件系统的/winsys目录下,命令是 B 。 A root@l04.edu.cn:~#mount dev/had1 /winsys B root@l04.edu.cn:~#mount /dev/had1 /winsys C root@l04.edu.cn:~#mount /dev/had1 winsys D root@l04.edu.cn:~#mount dev/had1 winsys 82.设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为 B 。 A /home B /root C /home/root D /usr/local 83.字符设备文件类型的标志是 B 。 A p B c C s D l 84.将光盘CD-ROM(hdc)安装到文件系统的/mnt/cdrom目录下的命令是 C 。 A mount /mnt/cdrom B mount /mnt/cdrom /dev/hdc C mount /dev/hdc /mnt/cdrom D mount /dev/hdc 85.将光盘/dev/hdc卸载的命令是 A 。 A umount /dev/hdc B unmount /dev/hdc C umount /mnt/cdrom /dev/hdc D unmount /mnt/cdrom /dev/hdc 86.在/home/stud1/wang目录下有一文件file,使用 D 可实现在后台执行命令,此命令将file文件中的内容输出到file.copy文件中。 A cat file >;file.copy B cat >;file.copy C cat file file.copy & D cat file >;file.copy & 87.在DNS配置文件中,用于表示某主机别名的是: B 。 A NS B CNAME C NAME D CN 88.可以完成主机名与IP地址的正向解析和反向解析任务的命令是: A 。 A nslookup B arp C ifconfig D dnslook 89.下列变量名中有效的shell变量名是: C 。 A -2-time B _2$3 C trust_no_1 D 2004file 90.qmail是 B 。 A 收取邮件的协议 B 邮件服务器的一种 C 发送邮件的协议 D 邮件队列 91.已知某用户stud1,其用户目录为/home/stud1。如果当前目录为/home,进入目录/home/stud1/test的命令是 C 。 A cd test B cd /stud1/test C cd stud1/test D cd home 92.已知某用户stud1,其用户目录为/home/stud1。分页显示当前目录下的所有文件的文件或目录名、用户组、用户、文件大小、文件或目录权限、文件创建时间等信息的命令是 D 。 A more ls –al B more –al ls C more < ls –al D ls –al | more 93.关于进程调度命令, B 是不正确的。 A 当日晚11点执行clear命令,使用at命令:at 23:00 today clear B 每年1月1日早上6点执行date命令,使用at命令:at 6am Jan 1 date C 每日晚11点执行date命令,crontab文件中应为:0 23 * * * date D 每小时执行一次clear命令,crontab文件中应为:0 */1 * * * clear 94.系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有 B 权限。 A 744 B 664 C 646 D 746 95.如果想配置一台匿名ftp服务器,应修改 C 文件。 A /etc/gateway B /etc/ftpservers C /etc/ftpusers D /etc/inetd.conf 96.Samba服务器的进程由B 两部分组成 。 A named和sendmail B smbd和nmbd C bootp和dhcpd D httpd和squid 97.要配置NFS服务器,在服务器端主要配置 C 文件。 A /etc/rc.d/rc.inet1 B /etc/rc.d/rc.M C /etc/exports D /etc/rc.d/rc.S 98.为保证在启动服务器时自动启动DHCP进程,应对 B 文件进行编辑。 A /etc/rc.d/rc.inet2 B /etc/rc.d/rc.inet1 C /etc/dhcpd.conf D /etc/rc.d/rc.S 99.在配置代理服务器时,若设置代理服务器的工作缓存为64MB,配置行应为 D 。 A cache 64MB B cache_dir ufs /usr/local/squid/cache 10000 16 256 C cache_ mgr 64MB D cache_ mem 64MB 100.安全管理涉及的问题包括保证网络管理工作可靠进行的安全问题和保护网络用户及网络管理对象问题。 C 属于安全管理的内容。 A 配置设备的工作参数 B 收集与网络性能有关的数据 C 控制和维护访问权限 D 监测故障 101.以下命令对中,正确的是: B 。 A ls和sl B cat和tac C more和erom D exit和tixe 102. B 命令是在vi编辑器中执行存盘退出。 A :q B ZZ C :q! D :WQ 103.下列关于/etc/fstab文件描述,正确的是 D 。 A fstab文件只能描述属于linux的文件系统 B CD_ROM和软盘必须是自动加载的 C fstab文件中描述的文件系统不能被卸载 D 启动时按fstab文件描述内容加载文件系统 104.通过文件名存取文件时,文件系统内部的操作过程是通过 C 。 A 文件在目录中查找文件数据存取位置。B 文件名直接找到文件的数据,进行存取操作。 C 文件名在目录中查找对应的I节点,通过I节点存取文件数据。 D 文件名在中查找对应的超级块,在超级块查找对应i节点,通过i节点存取文件数据 105.Linux将存储设备和输入/输出设备均看做文件来操作, C 不是以文件的形式出现。 A 目录 B 软链接 C i节点表 D 网络适配器 106.关于i节点和超级块,下列论述不正确的是 B 。 A i节点是一个长度固定的表 B 超级块在文件系统的个数是唯一的 C i节点包含了描述一个文件所必需的全部信息 D 超级块记录了i节点表和空闲块表信息在磁盘中存放的位置 107. D 设备是字符设备。 A hdc B fd0 C hda1 D tty1 108. B 目录存放着Linux的源代码。 A /etc B /usr/src C /usr D /home 109.关于文件系统的安装和卸载,下面描述正确的是 A 。 A 如果光盘未经卸载,光驱是打不开的 B 安装文件系统的安装点只能是/mnt下 C 不管光驱中是否有光盘,系统都可以安装CD-ROM设备 D mount /dev/fd0 /floppy 此命令中目录/floppy是自动生成的 110. B 不是进程和程序的区别。 A 程序是一组有序的静态指令,进程是一次程序的执行过程 B 程序只能在前台运行,而进程可以在前台或后台运行 C 程序可以长期保存,进程是暂时的 D 程序没有状态,而进程是有状态的 111.文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是 A 。 A chmod a+x g+w exer1 B chmod 765 exer1 C chmod o+x exer1 D chmod g+w exer1 112.有关归档和压缩命令,下面描述正确的是 C 。 A 用uncompress命令解压缩由compress命令生成的后缀为.zip的压缩文件 B unzip命令和gzip命令可以解压缩相同类型的文件 C tar归档且压缩的文件可以由gzip命令解压缩 D tar命令归档后的文件也是一种压缩文件 113.不是shell具有的功能和特点的是 C 。 A 管道 B 输入输出重定向 C 执行后台进程 D 处理程序命令 114.下列对shell变量FRUIT操作,正确的是: C 。 A 为变量赋值:$FRUIT=apple B 显示变量的值:fruit=apple C 显示变量的值:echo $FRUIT D 判断变量是否有值:[ -f “$FRUIT” ] 三.简答题: 1.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。 参考答案: Linux通过i节点表将文件的逻辑结构和物理结构进行转换。 i 节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在i节点表中最重要 的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux文件系统通过把i节点和文件名进行 连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件物 理块连接成文件的逻辑结构。   2.简述进程的启动、终止的方式以及如何进行进程的查看。 参考答案: 在Linux中启动一个进程有手工启动和调度启动两种方式: (1)手工启动 用户在输入端发出命令,直接启动一个进程的启动方式。可以分为: ①前台启动:直接在SHELL中输入命令进行启动。 ②后台启动:启动一个目前并不紧急的进程,如打印进程。 (2)调度启动 系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务。 经常使用的进程调度命令为:at、batch、crontab。 3. 简述DNS进行域名解析的过程。 参考答案: 首先,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后: (1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息; (2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息; (3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。 (4)若没有找到,则返回错误信息。 4.系统管理员的职责包括那些?管理的对象是什么? 参考答案: 系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测。管理的对象是服务器、用户、服务器的进程及系统的各种资源等。 5.简述安装Slackware Linux系统的过程。 参考答案: (1)对硬盘重新分区。 (2)启动Linux系统(用光盘、软盘等)。 (3)建立Linux主分区和交换分区。(4)用setup命令安装Linux系统。 (5)格式化Linux主分区和交换分区(6)安装Linux软件包 (7)安装完毕,建立从硬盘启动Linux系统的LILO启动程序,或者制作一张启动Linux系统的软盘。重新启动Linux系统。 6.什么是静态路由,其特点是什么?什么是动态路由,其特点是什么? 参考答案: 静态路由是由系统管理员设计与构建的路由表规定的路由。适用于网关数量有限的场合,且网络拓朴结构不经常变化的网络。其缺点是不能动态地适用网络状况的变化,当网络状况变化后必须由网络管理员修改路由表。 动态路由是由路由选择协议而动态构建的,路由协议之间通过交换各自所拥有的路由信息实时更新路由表的内容。动态路由可以自动学习网络的拓朴结构,并更新路由表。其缺点是路由广播更新信息将占据大量的网络带宽。 87.进程的查看和调度分别使用什么命令? 参考答案: 进程查看的命令是ps和top。 进程调度的命令有at,crontab,batch,kill。 8.当文件系统受到破坏时,如何检查和修复系统? 参考答案: 成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前首先卸载将被修复的文件系统。 使 用命令fsck对受到破坏的文件系统进行修复。fsck检查文件系统分为5步,每一步检查系统不同部分的连接特性并对上一步进行验证和修改。在执行 fsck命令时,检查首先从超级块开始,然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、i-node。 9.解释i节点在文件系统中的作用。 参考答案: 在linux文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的位置,用i节点对一个文件进行索引。I节点包含了描述一个文件所必须的全部信息。所以i节点是文件系统管理的一个数据结构。 10.什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么? 参考答案: 链接分硬链接和符号链接。 符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。 硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。 11.在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则。 参考答案: 磁盘簇(或i节点密度)是文件系统调度文件的基本单元。磁盘簇的大小,直接影响系统调度磁盘空间效率。当磁盘分区较大时,磁盘簇也应选得大些;当分区较小时,磁盘簇应选得小些。通常使用经验值。 12.简述网络文件系统NFS,并说明其作用。 参考答案: 网 络文件系统是应用层的一种应用服务,它主要应用于Linux和Linux系统、Linux和Unix系统之间的文件或目录的共享。对于用户而言可以通过 NFS方便的访问远地的文件系统,使之成为本地文件系统的一部分。采用NFS之后省去了登录的过程,方便了用户访问系统资源。   13.某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义。 参考答案: (1)第一列:将被加载的文件系统名;(2)第二列:该文件系统的安装点; (3)第三列:文件系统的类型;(4)第四列:设置参数; (5)第五列:供备份程序确定上次备份距现在的天数; (6)第六列:在系统引导时检测文件系统的顺序。 14.Apache服务器的配置文件httpd.conf中有很多内容,请解释如下配置项: (1)MaxKeepAliveRequests 200 (2)UserDir public_html (3)DefaultType text/plain (4)AddLanguare en.en (5)DocumentRoot“/usr/local/httpd/htdocs” (6)AddType application/x-httpd-php.php.php.php4 参考答案: (1)允许每次连接的最大请求数目,此为200;(2)设定用户放置网页的目录; (3)设置服务器对于不认识的文件类型的预设格式; (4)设置可传送语言的文件给浏览器;(5)该目录为Apache放置网页的地方; (6)服务器选择使用php4。 15.某Linux主机的/etc/rc.d/rc.inet1文件中有如下语句,请修正错误,并解释其内容。 /etc/rc.d/rc.inet1: …… ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1 ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1 参考答案: 修正错误: (1)ROUTE应改为小写:route;(2)netmask 255.255.0.0应改为:netmask 255.255.255.0; (3)缺省路由的子网掩码应改为:netmask 0.0.0.0; (4)缺省路由必须在最后设定,否则其后的路由将无效。 解释内容: (1)route:建立静态路由表的命令;(2)add:增加一条新路由; (3)-net 192.168.1.0:到达一个目标网络的网络地址; (4)default:建立一条缺省路由;(5)gw 192.168.0.101:网关地址; (6)metric 1:到达目标网络经过的路由器数(跳数)。 16.试解释apache服务器以下配置的含义: (1)port 1080 (2)UserDir userdoc (3)DocumentRoot “/home/htdocs” (4); Options Indexes FollowSymLinks AllowOverride None 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服务器以独立进程的方式运行。 17.简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么? 参考答案: (1)ftp有两种登录方式:匿名登录和授权登录。使用匿名登录时,用户名为:anonymous,密码为:任何合法email地址;使用授权登录时,用户名为用户在远程系统中的用户帐号,密码为用户在远程系统中的用户密码。 区别:使用匿名登录只能访问ftp目录下的资源,默认配置下只能下载;而授权登录访问的权限大于匿名登录,且上载、下载均可。 (2)ftp文件传输有两种文件传输模式:ASCII模式和binary模式。ASCII模式用来传输文本文件,其他文件的传输使用binary模式。 (3)常用的ftp文件传输命令为:bin、asc、put、get、mput、mget、prompt、bye。 四.编程与应用题: 1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 参考程序: #!/bin/sh FILENAME= echo “Input file name:” read FILENAME if [ -c "$FILENAME" ] then cp $FILENAME /dev fi 2.请下列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" in '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)程序的调用方式有三种:启动,停止和重新启动。 3.设计一个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 4.编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。 参考程序: #!/bin/sh i=1 while [ $i -le 50 ] do userdel -r stud${i} i=$(($i+1 )) done 5.某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案: (1)在下午4 :50删除/abc目录下的全部子目录和全部文件; (2)从早8:00~下午6:00每小时读取/xyz目录下x1文件中每行第一个域的全部数据加入到/backup目录下的bak01.txt文件内; (3)每逢星期一下午5:50将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz; (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/bak01.txt 50 17 * * * tar zcvf backup.tar.gz /data 55 17 * * * umount /dev/hdc (3)由超级用户登录,用crontab执行 prgx文件中的内容: root@xxx:#crontab prgx;在每日早晨8:00之前开机后即可自动启动crontab。 6.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。 参考答案: (1)编写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!" (2)编写任务定时器: echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron crontab /root/etcbakcron 或使用crontab -e 命令添加定时任务: 0 1 * * * /bin/sh /usr/bin/fileback 7.有一普通用户想在每周日凌晨零点零分定期备份/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.设计一个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 五、多选题 1.关于硬链接的描述正确的(BE)。 A 跨文件系统 B不可以跨文件系统 D可以做目录的连接 C 为链接文件创建新的i节点 E链接文件的i节点同被链接文件的i节点 2.在网站发布用户wang的个人网页时,需要创建用户网页目录,假定用户网页目录设定为web (用户目录在/home目录下),如下描述正确的是(BCE) A 存放用户网页的绝对路径/wang/web B存放用户网页的目录~wang/ C 存放用户网页的绝对路径/home/wang/web D存放用户网页的绝对路径/home/web E 在本机访问用户wang的个人网页的URL地址http://localhost/~wang/ 3.在一台WWW服务器上将端口号设定为8000,默认的网页文件index.html,服务器网页的根目录/www。在本机访问服务器时,正确的用法是(BDE) A 浏览器访问该服务器的URL地址http://localhost/ B 浏览器访问该服务器的URL地址http://localhost:8000/ C 浏览器访问该服务器的用户li网页URL地址http://localhost/~li D 浏览器访问该服务器的用户li网页URL地址http://localhost:8000/~li E 浏览器访问该服务器的URL地址localhost:8000/ 4.在shell编程中关于$2的描述正确的是(CE) A 程序后携带了两个位置参数 B 宏替换 C 程序后面携带的第二个位置参数 D 携带位置参数的个数 E 用$2引用第二个位置参数 5.某文件的权限是 - r w x r - - r- -,下面描述正确的是(CD) A 文件的权限值是755 B 文件的所有者对文件只有读权 限 C 文件的权限值是 744 D 其他用户对文件只有读权限 E同组用户对文件只有写权限 6.关于OpenSSH的作用的描述正确的是(ACE) A 开放源代码的安全加密程序 B OpenSSH常用于为http协议加密 C OpenSSH用于提高远程登录访问的安全性 D 它和telnet实用同样的端口号 E OpenSSH是免费下载的应程序 7.关于NFS服务器描述正确的是(BC) A 网络中实现Windows系统之间文件系统共享的应用软件 B 网络中实现Linux系统之间文件系统共享的应用软件 C 网络中实现Unix系统之间文件系统共享的应用软件 D 网络中实现Windows系统和Unix之间文件系统共享的应用软件 E 网络中实现Windows系统和Linux之间文件系统共享的应用软件 8.关于sed描述正确的是(ABD) A sed 是Linux系统中的流编辑器 B sed 是UNIX系统中的流编辑器 C sed 网络文件系统的类型 D 利用管道对标准输入/标准输入的数据进行编辑和组合 E sed是NFS的应用程序 9.关于限制磁盘限额,描述正确的是(ABD) A 使用edquota可以监控系统所有用户使用的磁盘空间,并在接近极限时提示用户 B 用户组的磁盘限额是用户组内所有用户予设磁盘空间总和 C 单个用户的磁盘限额就是该用户所在用户组内所有磁盘限额的总合 D 在Linux系统下限制用户使用的磁盘空间可以使用edquota E 用户组的磁盘限额就是该用户组内拥有最大磁盘限额值的用户的磁盘限额 10.关于建立系统用户的正确描述是(ABD) A 在Linux系统下建立用户使用adduser命令 B 每个系统用户分别在/etc/passwd和/etc/shadow文件中有一条记录 C 访问每个用户的工作目录使用命令“cd /用户名” D 每个系统用户在默认状态下的工作目录在/home/用户名 E 每个系统用户在/etc/fstab文件中有一条记录 Linux运维工程师面试题 编程题目 一、有文件file1 1、请用shell查询file1 里面空行的所在行号 awk ‘{if($0~/^$/)print NR}’ file or grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’ 2、编写ShellScript查询file1 以abc 结尾的行 grep abc$ file1 3、打印出file1 文件第1 到第3 行 sed -n ’1,3p’ file1 head -3 file1 二、如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.2.1 Iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp –dport 80 -j DNAT -to-destination 192.168.2.1:8080 三、crontab 在11 月份内,每天的早上6 点到12 点中,每隔2 小时执行一次/usr/bin/httpd.sh 怎么 实现 0 6-12/2 * 11 * /usr/bin/httpd.sh 四、编写个shell 脚本将/usr/local/test 目录下大于100K 的文件转移到/tmp 目录下 #!/bin/bash for file in `ls /root` do if [ -f $file ]; then if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then mv $file /tmp/ fi fi done 五、简述raid0 raid1 raid5 三种工作模式的工作原理及特点。   RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID 结构。RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0 不能应用于数据安全性要求高的场合。   RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能。RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写 ,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。   RAID10:高可靠性与高效磁盘结构一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。主要用于容量不大,但要求速度和差错控制的数据库中。   RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常运行。 六、oracle 数据库备份方式   物理备份:开启网络监听,备份数据库文件。   RMAN 备份:通过表空间文件在RMAN 模式对ORACLE 数据备份。 七、如何查看占用端口8080 的进程 lsof -i:8080 八、请写出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 的模式下。 九、你使用过监控软件吗?说说其特点 使用nagios 对服务器进行监控,其特点可实时实现手机短信、电子邮件、MSN、飞信报警。使用cacti 对流量进行监控。 十、你对现在运维工程师的理解和以及对其工作的认识运维工程师在公司当中责任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务。运维工程师的一个小小的失误,很有可能会对公司及客户造成重大损失,因此运维工程师的工作需要严谨及富有创新精神。 十一、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 的配置,到相应的配置文件进行查询,将结果返回给请求 的客户端。 十二、通过apache 访问日志access.log 统计IP 和每个地址访问的次数,按访问量列出 前10 名。 日志格式样例如下 192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19 答案: cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10 //这个别的方法也能统计,但有些命令是必要的 awk , sort,uniq ,主要看是否这些命令都 使用了。 十三、如何用mysql 命令进行备份和恢复?以test 库为例,创建一个备份,并再用此备份 进行恢复。 mysqldump -u root -p test > test.sql mysql -u root -p test < test.sql //主要考对方msqldump > test.sql 和 mysql < test.sql 十四、你认为在系统调优方面都包括哪些工作,以linux 为例,请简明阐述,并举一些参数 为例。 答案: 系统调优包括内核参数优化和应用优化2 个方面,对方只要从这两方面来说,就可以了, 尽量能有些经验的阐述。 有个文件如下: 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 http://a.domain.com/3.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 挂载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 A B 网络是通的,最少列出五种传输文件的服务 nfs ,ftp,scp ,rsync,samba,http:// 1.假设Apache 产生的日志文件名为access_log,在apache 正在运行时,执行命令mv access_log access_log.bak,执行完后,请问新的apache 的日志会打印到哪里,为什么? 新的日志会打印在access_log.bak 中,因为apache 启动时会找到access_log 文件, 随时准备向文件中加入日志信息, 虽然此时文件被改名,但是由于服务正在运行,因为它的inode 节点的位置没有变,程序 打开的fd 仍然会指向原来那个inode, 不会因为文件名的改变而改变。apache 会继续向已改名的文件中追加日志,但是若重启 apache 服务,系统会检查access_log 文件是否存在,若不存在则创建。 2.在Shell 环境下,如何查看远程Linux 系统运行了多少时间? 2、监控主机执行: ssh user@被监控主机ip "uptime" 这样得到了被监控主机的uptime 3.处理以下文件内容,将域名取出并进行计数排序,如处理: http://www.baidu.com/index.html http://www.baidu.com/1.html http://post.baidu.com/index.html http://mp3.baidu.com/index.html http://www.baidu.com/3.html http://post.baidu.com/2.html 得到如下结果: 域名的出现的次数 域名 3 www.baidu.com 2 post.baidu.com 1 mp3.baidu.com 可以使用bash/perl/php/c 任意一种 3、[root@localhost shell]# cat file | sed -e ' s/http:\/\///' -e ' s/\/.*//' | sort | uniq -c | sort -rn 3 www.baidu.com 2 post.baidu.com 1 mp3.baidu.com [root@codfei4 shell]# awk -F/ '{print $3}' file |sort -r|uniq -c|awk '{print $1"\t",$2}' 3 www.baidu.com 2 post.baidu.com 1 mp3.baidu.com 4.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如 把0123456789 作为基准的字串字符表,产生一个6 位的字串642031,打印出的字串为 130246,可使用bash/perl/php/c 任意一种. 4、[root@localhost ~]# awk -v count=6 'BEGIN {srand();str="0123456789";len=length(str);for(i=count;i>0;i--) marry[i]=substr(str,int(rand()*len),1);for(i=count;i>0;i--) printf("%c",marry[i]);printf("\n");for (i=0;i<=count;i++) printf("%c",marry[i]);printf("\n")}' 838705 507838 5.如何查看当前Linux 系统的状态,如CPU 使用,内存使用,负载情况等. 5、Linux 系统中“/proc”是个伪文件目录,不占用系统空间,及时的反应出内存现在使用的 进程情况......其中许多文件都保存系统运行状态和相关信息 对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息: cpuinfo 主机CPU 信息 filesystems 文件系统信息 meninfo 主机内存信息 version Linux 内存版本信息 diskstatus 磁盘负载情况 另外top 命令可以动态的显示当前系统进程用户的使用情况,而且是动态的显示出来,尤其 是在该命令显示出来的对上方对系统的情况进行汇总. free 命令呢可以查看真实使用的内存 一般用free -m 使用lsof 、ps -aux 可以查看详细的每个进程的使用状况 dmesg 也是常用来查看系统性能的命令 #题目:有10 台被监控主机、一台监控机,在监控机上编写脚本,一旦某台被监控机器/ 分区适用率大于80%, 就发邮件报警放到crontab 里面, 每10 分钟检查一次 #测试机器:虚拟机Linux as 4 #1.首先建立服务器间的信任关系。拿两台机器做测试 本机ip:192.168.1.6 [root@codfei ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? y (以为我是第2 次建立关系所以此处覆盖原来的文件) Enter passphrase (empty for no passphrase):(直接回车无须输入密钥) Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 root@codfei [root@codfei ~]# cd .ssh/ [root@codfei .ssh]# ll -rw------- 1 root root 883 Apr 25 17:51 id_rsa -rw-r--r-- 1 root root 221 Apr 25 17:51 id_rsa.pub -rw-r--r-- 1 root root 442 Apr 25 17:37 known_hosts id_rsa 是密钥文件,id_rsa.pub 是公钥文件。 [root@codfei .ssh]# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6 root@192.168.1.4's password: id_rsa.pub 100% 221 0.2KB/s 00:00 这里把公钥文件取名为本机的ip 地址就是为了以后和更多的机器建立信任关系不发生混 淆。 现在登陆到192.168.1.4 机器 [root@codfei ~]# cd .ssh/ [root@codfei .ssh]# cat 192.168.1.6 >> authorized_keys 然后回到192.168.1.6 机器直接 [root@codfei .ssh]# ssh 192.168.1.4 Last login: Wed Aug 8 12:14:42 2007 from 192.168.1.6 这样就可以了,里面偶尔涉及到权限问题。一般./ssh 文件夹是755 authorized_keys 为 600 或者644 ####脚本如下####################### #!/bin/bash #SCRIPT:df_check.sh #Writeen by codfei Mon Sep 3 07:25:28 CST 2007 #PURPOSE:This script is used to monitor for full filesystems. #######################Begining#################### #################### FSMAX="80" remote_user='root' #####完全可以不用root remote_ip=(192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 ) ----> 这里填写你要监控的主机ip ip_num='0' while [ "$ip_num" -le "$(expr ${#remote_ip[@]} - 1)" ] do read_num='1' ssh "$remote_user"@"${remote_ip[$ip_num]}" df -h > /tmp/diskcheck_tmp grep '^/dev/*' /tmp/diskcheck_tmp|awk '{print $5}'|sed 's/\%//g' > /tmp/diskcheck_num_tmp while [ "$read_num" -le $(wc -l < /tmp/diskcheck_num_tmp) ] do size=$(sed -n "$read_num"'p' /tmp/diskcheck_num_tmp) if [ "$size" -gt "$FSMAX" ] then $(grep '^/dev/*' /tmp/diskcheck_tmp|sed -n $read_num'p' > /tmp/disk_check_mail) $(echo ${remote_ip[$ip_num]} >> /tmp/disk_check_mail) $(mail -s "diskcheck_alert" admin < /tmp/disk_check_mail) fi read_num=$(expr $read_num + 1) done ip_num=$(expr $ip_num + 1) done #############over################################ ################让脚本每十分钟执行一次############# 在cron 表中加入 0/10 * * * * /home/codfei/diskcheck.sh 2>&1 ################################################ ########################## 比如, ext2 文件系统, 如果异常死机,开机如何修复文件系统? 如果异常关机,比如断电,通知机房的人开机之后, 我们需要远程修复、检查文件系统 除了/分区之外, 其他的分区: umount /home fsck -y /home / 分区需要开机之后, 由机房的人来扫描 随后我们再登录并扫描/home 等其他分区 如何查看一个进程所使用的文件句柄? 看这里面 /proc/进程号/fd/ 的个数就行了 简单的比如如何查看apache 进程数 [root@localhost fd]# ps -ef|grep httpd|wc -l 1 如何统计apache 的每秒访问数? tail access_log | awk '{print $1,$4}' [root@localhost logs]# grep -c `date -d '3 second ago' +%T` access_log 0 ################################################ 1、/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 2、将一个文本的奇数行和偶数行合并,第2 行和第3 行合并 [root@localhost bin]# cat 1 48 Oct 3bc1997 lpas 68.00 lvx2a 138 484 Jan 380sdf1 usp 78.00 deiv 344 483 nov 7pl1998 usp 37.00 kvm9d 644 320 aug der9393 psh 83.00 wiel 293 231 jul sdf9dsf sdfs 99.00 werl 223 230 nov 19dfd9d abd 87.00 sdiv 230 219 sept 5ap1996 usp 65.00 lvx2c 189 216 Sept 3zl1998 usp 86.00 kvm9e 234 [root@localhost bin]# sed '$!N;s/\n/ /g' 1 48 Oct 3bc1997 lpas 68.00 lvx2a 138 484 Jan 380sdf1 usp 78.00 deiv 344 483 nov 7pl1998 usp 37.00 kvm9d 644 320 aug der9393 psh 83.00 wiel 293 231 jul sdf9dsf sdfs 99.00 werl 223 230 nov 19dfd9d abd 87.00 sdiv 230 219 sept 5ap1996 usp 65.00 lvx2c 189 216 Sept 3zl1998 usp 86.00 kvm9e 234 [root@localhost bin]# sed -n -e 2p -e 3p 1|sed '$!N;s/\n/ /' 484 Jan 380sdf1 usp 78.00 deiv 344 483 nov 7pl1998 usp 37.00 kvm9d 644 3、read 命令5 秒后自动退出 [root@localhost bin]# read -t 5 4、自动ftp 上传 #!/bin/sh ftp -n< chmod +x autoaddusr ./autoaddusr 8、个人对该工作的未来如何规划,需要加强哪些能力。 首先,我有一颗真诚的心,遇事沉着冷静,不急不躁; 其次,我有相应的专业知识和工作经验。一年多的系统管理经历锻炼了我在这个行业的业务 能力,并对行业前景和发展动态有相应的了解; 最后,我会用踏实的作风在今后的工作中证明我自己的能力! 9、日常监控都需要监控哪些? 1)硬件: CPU:/proc/cpuinfo 内存:/proc/meminfo 硬盘:fdisk -l 2)系统: 负载:/proc/loadavg uptime 查看实时load average、swap 虚拟内存:vmstat(参数-s;2 4) SUID,用户,进程 系统日志:tail -f /var/log/messages logwatch --print --range Today --service SSHD --service pam_unix 3)网络:Host_Alive,Ping,端口,连接 1.如何将本地80 端口的请求转发到8080 端口,当前主机IP 为192.168.16.1,其中本地 网卡eth0: 答: #iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080 或者: #iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 2.什么是NAT,常见分为那几种,DNAT 与SNAT 有什么不同,应用事例有那些? 3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗? 4.iptables 是否支持time 时间控制用户行为,如有请写出具体操作步骤 5.说出你知道的几种linux/unix 发行版本 6.列出linux 常见打包工具并写相应解压缩参数(至少三种) 7.计划每星期天早8 点服务器定时重启,如何实现? 8.列出作为完整邮件系统的软件,至少二类 9,当用户在浏览器当中输入一个网g 站,说说计算机对dns 解释经过那些流程?注:本机 跟本地dns 还没有缓存。 答: a.用户输入网址到浏览器 b.浏览器发出DNS 请求信息 c.计算机首先查询本机HOST 文件,看是否存在,存在直接返回结果,不存在,继续下一 步 d.计算机按照本地DNS 的顺序,向合法dns 服务器查询IP 结果, e.合法dns 返回dns 结果给本地dns,本地dns 并缓存本结果,直到TTL 过期,才再次 查询此结果 f.返回IP 结果给浏览器 g.浏览器根据IP 信息,获取页面 10,我们都知道,dns 既采用了tcp 协议,又采用了udp 协议,什么时候采用tcp 协议? 什么时候采用udp 协议?为什么要这么设计? 答:这个题需要理解的东西比较的多,分一下几个方面 a,从数据包大小上分:UDP 的最大包长度是65507 个字节,响应dns 查询的时候数据包 长度超过512 个字节,而返回的只要前512 个字节,这时名字解释器通常使用TCP 从发 原来的请求。 b,从协议本身来分:大部分的情况下使用UDP 协议,大家都知道UDP 协议是一种不可靠 的协议,dns 不像其它的使用UDP 的Internet 应用 (如:TFTP,BOOTP 和SNMP 等), 大部分集中在局域网,dns 查询和响应需要经过广域网,分组丢失和往返时间的不确定性在 广域网比局域网上更大,这就要求dns 客户端需要好的重传和超时算法,这时候使用TCP 11,一个EXT3 的文件分区,当使用touch test.file 命令创建一个新文件时报错,报错的 信息是提示磁盘已满,但是采用df -h 命令查看磁盘大小时,只使用了,60%的磁盘空间, 为什么会出现这个情况,说说你的理由。 答:两种情况,一种是磁盘配额问题,另外一种就是EXT3 文件系统的设计不适合很多小 文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode 耗尽了。 12,我们都知道FTP 协议有两种工作模式,说说它们的大概的一个工作流程? FTP 两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP) 在主动模式下,FTP 客户端随机开启一个大于1024 的端口N 向服务器的21 号端口发起 连接,然后开放N+1 号端口进行监听,并向服务器发出PORT N+1 命令。 服务器接收到命令后,会用其本地的FTP 数据端口(通常是20)来连接客户端指定的端口 N+1,进行数据传输。 在被动模式下,FTP 客户端随机开启一个大于1024 的端口N 向服务器的21 号端口发起 连接,同时会开启N+1 号端口。然后向服务器发送PASV 命令,通知服务器自己处于被动 模式。服务器收到命令后,会开放一个大于1024 的端口P 进行监听,然后用PORT P 命 令通知客户端,自己的数据端口是P。客户端收到命令后,会通过 N+1 号端口连接服务器的端口P,然后在两个端口之间进行数据传输。 总的来说,主动模式的FTP 是指服务器主动连接客户端的数据端口,被动模式的FTP 是指 服务器被动地等待客户端连接自己的数据端口。 被动模式的FTP 通常用在处于防火墙之后的FTP 客户访问外界FTp 服务器的情况,因为在 这种情况下,防火墙通常配置为不允许外界访问防火墙之 后主机,而只允许由防火墙之后的主机发起的连接请求通过。 因此,在这种情况下不能使用主动模式的FTP 传输,而被动模式的FTP 可以良好的工作。 13.编写个shell 脚本将当前目录下大于10K 的文件转移到/tmp 目录下 #/bin/sh #Programm : # Using for move currently directory to /tmp for FileName in `ls -l |awk '$5>10240 {print $9}'` do mv $FileName /tmp done ls -al /tmp echo "Done! " 14.apache 有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模 式? apache 主要有两种工作模式:prefork(apache 的默认安装模式)和worker(可以在编译 的时候加参数--with-mpm-worker 选择工作模式) prefork 的特点是:(预派生) 1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销 2.可以防止意外的内存泄漏 3.在服务器负载下降的时候会自动减少子进程数 worker 的特点是:支持混合的多线程多进程的多路处理模块 如果对于一个高流量的HTTP 服务器,worker MPM 是一个比较好的选择,因为worker MPM 占用的内存要比prefork 要小。 15.名词解释 HDLC,VTP,OSPF,RIP,DDOS,system V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等 16.编写shell 脚本获取本机的网络地址。比如:本机的ip 地址是: 192.168.100.2/255.255.255.0,那么它的网络地址是 192.168.100.1/255.255.255.0 方法一: 1. #!/bin/bash 2. #This script print ip and network 3. file="/etc/sysconfig/network-scripts/ifcfg-eth0" 4. if [ -f $file ] ;then 5. IP=`grep "IPADDR" $file|awk -F"=" '{ print $2 }'` 6. MASK=`grep "NETMASK" $file|awk -F"=" '{ print $2 }'` 7. echo "$IP/$MASK" 8. exit 1 9. fi 方法二: 1. #!/bin/bash 2. #This programm will printf ip/network 3. # 4. IP=`ifconfig eth0 |grep 'inet ' |sed 's/^.*addr://g'|sed 's/ Bcast.*$//g'` 5. NETMASK=`ifconfig eth0 |grep 'inet '|sed 's/^.*Mask://g'` 6. echo "$IP/$NETMASK" 7. exit 17.在命令行下发一邮件,发件人:123@abc.com,收信人:abc@xyz.com #!/bin/bash mail -s "Qiao mei zi, I've done, just one command" -c mamiao@baidu.com,wangqiao@baidu.com shupan@baidu.com < test.txt 具体没找到带有登录邮件服务器的 18.linux 下如何改IP地址,主机名及DNS 如果Linux要使用sendmail 或者Exim等发送邮件,或主机名不是一个正确的域名,配置正确的主机名必不可少,下面是修改主机名的步骤: 修改主机名分为三步: 查看自己的主机名的命令为:hostname -f 1)hostname修改主机名 hostname Brucecentos.org 2)修改/etc/hosts文件   vim /etc/hosts   内容大致如下:   127.0.0.1 localhost.localdomain localhost 173.255.246.150(实际IP) hostname Brucecentos.org 3)修改/etc/sysconfig/network中的HOSTNAME那行,如果不存在则添加   vi /etc/sysconfig/network   内容为   HOSTNAME=ahuang.org   现在,测试Sendmail是否能正常发送邮件:   echo "Subject: test" | /usr/lib/sendmail -v godkingman@163.com 在搭建服务器的过程中,难免要对客户机或服务端进行一些IP,网关和DNS的设置下面介绍两种方法:即时生效和永久生效 第一种:及时生效 Ifconfig eth0 192.168.20.130 netmask 255.255.255.0 route and default gm 70.15.255.2 第二种: 永久生效 修改对应网卡的IP地址的配置文件 1. # vi /etc/sysconfig/network-scripts/ifcfg-eth0 2. 3. 修改以下内容 4. DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0 5. BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址 6. BROADCAST=192.168.0.255 #对应的子网广播地址 7. HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址 8. IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址 9. IPV6INIT=no 10. IPV6_AUTOCONF=no 11. NETMASK=255.255.255.0 #网卡对应的网络掩码 12. NETWORK=192.168.1.0 #网卡对应的网络地址 13. ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备 NETWORK=192.168.1.0 #网卡对应的网络地址ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备 二、修改网关 修改对应网卡的网关的配置文件 [root@centos]# vi /etc/sysconfig/network 修改以下内容 NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应) GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2) 三、修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf 修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameserver 8.8.4.4 #google域名服务器 四、重新启动网络配置 # service network restart 或 # /etc/init.d/network restart 19.linux 下如何添加路由 一:使用 route 命令添加 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法: //添加到主机的路由 # route add –host 192.168.1.11 dev eth0 # route add –host 192.168.1.12 gw 192.168.1.1 //添加到网络的路由 # route add –net 192.168.1.11 netmask 255.255.255.0 eth0 # route add –net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1 # route add –net 192.168.1.0/24 eth1 //添加默认网关 # route add default gw 192.168.2.1 //删除路由 # route del –host 192.168.1.11 dev eth0 二:在linux下设置永久路由的方法: 1.在/etc/rc.local里添加 方法: route add -net 192.168.3.0/24 dev eth0 route add -net 192.168.2.0/24 gw 192.168.2.254 2.在/etc/sysconfig/network里添加到末尾 方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev 3./etc/sysconfig/static-routes : (没有static-routes的话就手动建立一个这样的文件) any net 192.168.3.0/24 gw 192.168.3.254 any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129 4.开启 IP 转发: # echo "1" >/proc/sys/net/ipv4/ip_forward (临时) # vi /etc/sysctl.conf --> net.ipv4.ip_forward=1 (永久开启) 如果在rc.local中添加路由会造成NFS无法自动挂载问题,所以使用static-routes的方法是最好的。无论重启系统和service network restart 都会生效 按照linux启动的顺序,rc.local里面的内容是在linux所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在netfs之后才被执行的,那也就是说在netfs启动的时候,服务器上的静态路由是没有被添加的,所以netfs挂载不能成功。 static-routes文件又是什么呢,这个是network脚本执行时调用的一个文件,这个文件的放置在/etc/sysconfig目录下,在network脚本中的位置是: # Add non interface-specific static-routes. if [ -f /etc/sysconfig/static-routes ]; then      grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do          /sbin/route add -$args       done    fi 从这段脚本可以看到,这个就是添加静态路由的方法,static-routes的写法是 any net 192.168.0.0/16 gw 网关ip 这样的话,在启动network脚本的时候路由就自动添加上了,又因为network是在netfs前面启动的,自然在挂载nfs的时候就正常了。 这样看来,如果需要添加静态路由,使用static-routes文件要比使用rc.local好,而且当改变了网络配置,需要重启network脚本的时候,相应的静态路由是可以自动添加上的,但这时如果使用rc.local的话,在重启network服务的时候,原本添加好的静态路由就消失了。 20.简述Linux 启动过程 开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了。 启动第二步--读取MBR 硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,可里面却存放了预启动信息、分区表信息。可分为两部分:第一部分为引导(PRE-BOOT)区,占了446个字节;第二部分为分区表(PARTITION PABLE),共有66个字节,记录硬盘的分区信息。预引导区的作用之一是找到标记为活动(ACTIVE)的分区,并将活动分区的引导区读入内存。 系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。 启动第三步--Boot Loader Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。通常,BootL oade:是严重地依赖于硬件而实现的,不同体系结构的系统存在着不同的Boot Loader。 Linux的引导扇区内容是采用汇编语言编写的程序,其源代码在arch/i386/boot中(不同体系的CPU有其各自的boot目录),有4个程序文件: ◎bootsect.S,引导扇区的主程序,汇编后的代码不超过512字节,即一个扇区的 大 小 ◎setup.S, 引导辅助程序 ◎edd.S,辅助程序的一部分,用于支持BIOS增强磁盘设备服务 ◎video.S,辅助程序的另一部分,用于引导时的屏幕显示 Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的Loader,这里以Grub为例来讲解吧。 系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。 启动第四步--加载内核 根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。 系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。 start_kenrel()定义在init/main.c中,它就类似于一般可执行程序中的main()函数,系统在此之前所做的仅仅是一些能让内核程序最低限度执行的初始化操作,真正的内核初始化过程是从这里才开始。函数start_kerenl()将会调用一系列的初始化函数,用来完成内核本身的各方面设置,目的是最终建立起基本完整的Linux核心环境。 start_kernel()中主要执行了以下操作: (1) 在屏幕上打印出当前的内核版本信息。 (2) 执行setup_arch(),对系统结构进行设置。 (3)执行sched_init(),对系统的调度机制进行初始化。先是对每个可用CPU上的runqueque进行初始化;然后初始化0号进程(其task struct和系统空M堆栈在startup_32()中己经被分配)为系统idle进程,即系统空闲时占据CPU的进程。 (4)执行parse_early_param()和parsees_args()解析系统启动参数。 (5)执行trap_in itQ,先设置了系统中断向量表。0-19号的陷阱门用于CPU异常处理;然后初始化系统调用向量;最后调用cpu_init()完善对CPU的初始化,用于支持进程调度机制,包括设定标志位寄存器、任务寄存器、初始化程序调试相关寄存器等等。 (6)执行rcu_init(),初始化系统中的Read-Copy Update互斥机制。 (7)执行init_IRQ()函数,初始化用于外设的中断,完成对IDT的最终初始化过程。 (8)执行init_timers(), softirq_init()和time_init()函数,分别初始系统的定时器机制,软中断机制以及系统日期和时间。 (9)执行mem_init()函数,初始化物理内存页面的page数据结构描述符,完成对物理内存管理机制的创建。 (10)执行kmem_cache_init(),完成对通用slab缓冲区管理机制的初始化工作。 (11)执行fork_init(),计算出当前系统的物理内存容量能够允许创建的进程(线程)数量。 (12)执行proc_caches_init() , bufer_init(), unnamed_dev_init() ,vfs_caches_init(), signals_init()等函数对各种管理机制建立起专用的slab缓冲区队列。 (13 )执行proc_root_init()Wl数,对虚拟文件系统/proc进行初始化。 在 start_kenrel()的结尾,内核通过kenrel_thread()创建出第一个系统内核线程(即1号进程),该线程执行的是内核中的init()函数,负责的是下一阶段的启动任务。最后调用cpues_idle()函数:进入了系统主循环体口默认将一直执行default_idle()函数中的指令,即CPU的halt指令,直到就绪队列中存在其他进程需要被调度时才会转向执行其他函数。此时,系统中唯一存在就绪状态的进程就是由kerne_hread()创建的init进程(内核线程),所以内核并不进入default_idle()函数,而是转向init()函数继续启动过程。 启动第五步--用户层init依据inittab文件来设定运行等级 内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。 其实/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。Linux的运行等级设定如下: 0:关机 1:单用户模式 2:无网络支持的多用户模式 3:有网络支持的多用户模式 4:保留,未使用 5:有网络支持有X-Window支持的多用户模式 6:重新引导系统,即重启 启动第六步--init进程执行rc.sysinit 在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。如果你有兴趣,可以到/etc/rc.d中查看一下rc.sysinit文件。 线程init的最终完成状态是能够使得一般的用户程序可以正常地被执行,从而真正完成可供应用程序运行的系统环境。它主要进行的操作有: (1) 执行函数do_basic_setup(),它会对外部设备进行全面地初始化。 (2) 构建系统的虚拟文件系统目录树,挂接系统中作为根目录的设备(其具体的文 件系统已经在上一步骤中注册)。 (3) 打开设备/dev/console,并通过函数sys_dup()打开的连接复制两次,使得文件号0,1 ,2 全部指向控制台。这三个文件连接就是通常所说的“标准输入”stdin,“标准输出”stdout和“标准出错信息”stderr这三个标准I/O通道。 (4) 准备好以上一切之后,系统开始进入用户层的初始化阶段。内核通过系统调用execve()加载执T子相应的用户层初始化程序,依次尝试加载程序"/sbin/initl"," /etc/init"," /bin/init',和“/bin/sh。只要其中有一个程序加载获得成功,那么系统就将开始用户层的初始化,而不会再回到init()函数段中。至此,init()函数结束,Linux内核的引导 部分也到此结束。 启动第七步--启动内核模块 具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。 启动第八步--执行不同运行级别的脚本程序 根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。 启动第九步--执行/etc/rc.d/rc.local 你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然: # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don’t # want to do the full Sys V style init stuff. rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。 启动第十步--执行/bin/login程序,进入登录状态 此时,系统已经进入到了等待用户输入username和password的时候了,你已经可以用自己的帐号登入系统了。 21.简述DDOS 攻击的原理 DOS:即Denial Of Service,拒绝服务的缩写,拒绝服务,就相当于必胜客在客满的时候不再让人进去一样,呵呵,你想吃馅饼,就必须在门口等吧。DOS攻击即攻击者想办法让目标机器停止提供服务或资源访问,这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。比如: * 试图FLOOD服务器,阻止合法的网络通讯 * 破坏两个机器间的连接,阻止访问服务 * 阻止特殊用户访问服务 * 破坏服务器的服务或者导致服务器死机 DOS攻击会被作为一次入侵的一部分,比如,绕过入侵检测系统的时候,通常从用大量的攻击出发,导致入侵检测系统日志过多或者反应迟钝,这样,入侵者就可以在潮水般的攻击中混骗过入侵检测系统。 对SERVER实施拒绝服务攻击,实质上的方式就是有两个: 一, 迫使服务器的缓冲区满,不接收新的请求。 二, 使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接 这就是DOS攻击实施的基本思想。具体实现有这样的方法: 1、SYN FLOOD 利用服务器的连接缓冲区(Backlog Queue),利用特殊的程序,设置TCP的Header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。 如果你的SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求了。其他合法用户的连接都被拒绝掉。可以持续你的SYN请求发送,直到缓冲区中都是你的只有SYN标记的请求。 现在有很多实施SYN FLOOD的工具,呵呵,自己找去吧 2、IP欺骗DOS攻击 这种攻击利用RST位来实现。假设现在有一个合法用户(1.1.1.1)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1.1.1.1,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从1.1.1.1发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。 攻击时,伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务。 3、 带宽DOS攻击 如果你的连接带宽足够大而服务器又不是很大,你可以发送请求,来消耗服务器的缓冲区消耗服务器的带宽。这种攻击就是人多力量大了,配合上SYN一起实施DOS,威力巨大。不过是初级DOS攻击。呵呵。Ping白宫??你发疯了啊! 4、自身消耗的DOS攻击 这是一种老式的攻击手法。说老式,是因为老式的系统有这样的自身BUG。比如Win95 (winsock v1), Cisco IOS v.10.x, 和其他过时的系统。 这种DOS攻击就是把请求客户端IP和端口弄成主机的IP端口相同,发送给主机。使得主机给自己发送TCP请求和连接。这种主机的漏洞会很快把资源消耗光。直接导致当机。这中伪装对一些身份认证系统还是威胁巨大的。 上面这些实施DOS攻击的手段最主要的就是构造需要的TCP数据,充分利用TCP协议。这些攻击方法都是建立在TCP基础上的。还有其他的DOS攻击手段。 5、塞满服务器的硬盘 通常,如果服务器可以没有限制地执行写操作,那么都能成为塞满硬盘造成DOS攻击的途径,比如: 发送垃圾邮件。一般公司的服务器可能把邮件服务器和WEB服务器都放在一起。破坏者可以发送大量的垃圾邮件,这些邮件可能都塞在一个邮件队列中或者就是坏邮件队列中,直到邮箱被撑破或者把硬盘塞满。 让日志记录满。入侵者可以构造大量的错误信息发送出来,服务器记录这些错误,可能就造成日志文件非常庞大,甚至会塞满硬盘。同时会让管理员痛苦地面对大量的日志,甚至就不能发现入侵者真正的入侵途径。 向匿名FTP塞垃圾文件。这样也可以塞满硬盘空间。 6、合理利用策略 一般服务器都有关于帐户锁定的安全策略,比如,某个帐户连续3次登陆失败,那么这个帐号将被锁定。这点也可以被破坏者利用,他们伪装一个帐号去错误登陆,这样使得这个帐号被锁定,而正常的合法用户就不能使用这个帐号去登陆系统了。 22.简述Tcp 三次握手的过程 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念: 未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。 Backlog参数:表示未连接队列的最大容纳数目。 SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。 半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。 7.简述VPN,常见有哪几种? 虚拟专用网络(Virtual Private Network ,简称VPN)指的是在公用网络上建立专用网络的技术。其之所以称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(异步传输模式〉、Frame Relay (帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。它涵盖了跨共享网络或公共网络的封装、加密和身份验证链接的专用网络的扩展。VPN主要采用了隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术。 常见的有PPTP,L2TP和IPSec

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档