1. Linux系统有哪些主要的优点?
答:Linux的优点主要有:开放性、多用户、多任务、良好的图形用户界面、 设备的独立性、丰富的网络功能、可靠的系统安全、良好的可移植性、丰富的应用软件支持、内核完全免费等优点。
2. 常用操作系统有哪些?它们各具有那些特点?
答:常用操作系统主要有Linux、Unix、Windows等。Linux是一个内核完全免费、可运行在多个硬件平台、功能齐全、安全性好、界面友好的一种操作系统。Unix功能强大、稳定性好,但价格昂贵,不适合小型企业或者个人使用。Windows是一个功能完全的多任务操作系统,具有丰富的应用软件,友好的用户界面,但Windows主要运行在基于Intel体系结构的PC系列机上,由微软公司独立控制系统的设计、升级和维护,用户使用Windows需要支付一定的费用。
3. Linux的组成结构有哪些?
答:Linux由四个主要部分组成,即内核、Shell、文件系统和实用工具。 4. Linux系统的主要应用领域有哪些?
答:Linux系统主要应用在桌面系统、服务器、嵌入式系统和集群计算机等领域。
第2章 Linux系统的安装
1. 什么是Linux的多系统安装?
答:Linux的多系统安装指在同一台计算机中,除了安装Linux外还安装其他操作系统。此时,需要对计算机中的硬盘空间进行合理分配,并且按照不同操作系统的需要,在硬盘上建立相应格式的分区。一般来说,Linux的多系统安装指在同一台计算机中同时安装Windows系统和Linux系统。
2. 虚拟机安装Linux有什么特点?
答:与多系统Linux相比,虚拟机安装Linux采用了完全不同的概念。多系统Linux在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。而虚拟机安装Linux系统是同时运行多个操作系统,而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据,并且还可以将几台虚拟机连接为一个局域网。虚拟机安装Linux时,多个虚拟机共享一台主机的资源,比起直接安装在硬盘上的系统,性能较低,速度慢,不太稳定,但安装与卸载系统非常方便。
3. 如何将只能显示英文的Linux改为可以显示中文的Linux?
答:打开一个终端窗口,在终端窗口的命令提示符“#”后执行“cd /usr/share/locale”命令,进入locale目录。然后,执行“du -sh zh_CN”命令查看安装的时候有没有安装中文包,这个包大约11M,如果小太多的话,那么系统默认没有安装中文包。最后,在命令提示符后执行“vi /etc/sysconfig/i18n”,查看文件i18n文件内容,并将LANG=“en_US.utf8”,改为LANG=“zh_CN.UTF-8”。修改完毕后保存并退出,执行命令“reboot”,重新启动虚拟机即可。
第3章 图形用户界面及其操作
1. 什么是X Window?它是由哪几部分组成?
答:X-Window是Linux从Unix中继承的图形用户接口(Graphics User Interface,GUI),是一个功能强大,可按需配置的界面,为用户提供方便的操作和开发界面。X-Window分为X-Server,X-Client,X-Protocol三部分,采用C/S(Client/Server)结构,但和常见的C/S结构相反。在常见的C/S结构中,Client端提交任务到Server端执行,而在X-Window中,Client是执行程序的一方,在其上面执行各种X程序,而Server则是接收用户输入和显示Client运行结果的一方。
2. KDE桌面系统中菜单有哪几类?
答:有“开始”菜单、右键菜单及其桌面、面板的快捷按钮或图标。
3. 在配置鼠标时,双击间隔、拖动起始时间、鼠标滚轮卷动单位分别表示什么? 答:双击间隔单位为毫秒,拖动起始时间单位为毫秒,鼠标滚轮卷动单位为行。 4. 请给您主机的网卡绑定3个IP地址,并在终端窗口通过ifconfig命令查看。
答:在“网络配置”的网卡“修改参数”页面,选中“允许绑定多IP”复选框,在其下的两列表格中依次输入2个空闲的IP地址和相应的子网掩码,即可给网卡绑定3个IP地址。在终端窗口中通过ifconfig命令可查看这3个地址。
5. 修改网卡配置,然后查看与网络配置相关文件内容的变化。
答:与网络相关的配置文件为:/etc/sysconfig/networking/devices/ifcfg-eth0、/etc/hosts、/etc/sysconfig/network、/etc/sysconfig/network-scripts/ifcfg-eth0、/etc/resolv.conf、/etc/host.conf等。
6. 直接通过修改与网络配置相关文件的内容来更换主机的IP地址。
答:可通过修改文件/etc/sysconfig/networking/devices/ifcfg-eth0或者/etc/sysconfig/network-scripts/ifcfg-eth0来实现。
7. 将桌面设置为放映幻灯片形式,每10分钟更换1次图片。 答:可通过选择屏幕背景设置页面的“放映幻灯片”实现。
8. 试将屏幕保护配置为:等待10分钟后自动启动的多边形保护程序,停止需要密码。 答:可通过选择屏幕保护设置页面的“设置”实现。
9. 将系统时间进行随机调整,然后通过网络上的时间服务器对系统时间进行自动校正。 答:可通过在时间配置页面选中“自动设定日期和时间”选项实现。
10. 创建student组,并将student组作为新建用户zhao、qian、sun、li的主组。 答:可通过Lime用户与组管理工具页面实现。
11. 查看系统配置文件“/etc/inittab”,将缺省运行级别设置为“3”后重新启动系统。 答:可通过将文件“/etc/inittab”中的缺省运行级别语句修改为“id:3:initdefault:”来实现。 12. 通过Guarddog设置本机能够与网络中的一台主机通过Ping进行通信。
答:在Guarddog的“网域”页面将要与本机通信的主机添加到Internet网域或者添加一个
包含与本机通信的主机的域,并在“连接到”窗口选中local网域与要通信主机所在域的连接关系,在“协议”页面选中“Ping”为local域与通信主机所在域的通信协议。 13. 用文件压缩归档工具将“/etc”中的所有内容压缩到文件etc.tar.gz中,并将文件etc.tar.gz
放置到桌面上。
答:在“文件压缩归档工具”中创建新文件,文件存储位置选为“桌面”,文件命名为etc,选择Gzip格式,添加目录“/etc”到文件中,然后存盘退出。 14. 利用gFTP连接一台FTP服务器,实现文件的下载与上传。
答:在gFTP的页面输入FTP的IP地址、用户名和密码,选择“FTP”协议后单击进
行连接,连接成功后左边窗口显示本地文件,右边窗口显示FTP服务器端文件,利用鼠标选择文件,用
和
实现文件下载与上传。
15. 利用文本编辑器创建一个文本文件test,保存到当前用户目录中,然后用二进制编辑器
对文件test进行修改。 答案略。
16. 利用Wireshark软件,对同一子网中某台主机进行监控,查看其数据包收发动态。 答:在Wireshark中设置过滤方案“IP address 192.168.0.1”,然后将“Filter string”中的IP地址“192.168.0.1”替换为指定主机的IP地址,即可抓取指定IP地址相关的数据包进行分析。
第4章Linux系统的常用命令
1. 某文件的权限设置为rwxrwxrwx,请说明之。
答:该文件的权限为文件主可读、可写、可执行;同组用户可读、可写、可执行;其他用户可读、可写、可执行。
2. 需要将文件test的所有者改为user,用户组改为root,请给出相应的命令。 答:chown user:root test。
3. 请问下列目录主要放置什么数据?/etc/,etc/init.d/,/boot/,/usr/bin/,/sbin/,/bin/,
/dev/,/var/log/。
答:/etc/存放配置文件;/etc/init.d/存放服务启动文件;/boot/存放系统启动文件;/usr/bin/存放从基本命令扩展的命令的可执行文件;/sbin/存放扩展的文件与网络相关命令的可执行文件;/bin/存放基本命令的可执行文件,/dev/存放设备文件,/var/log/存放日志文件。 4. 要知道2020.1.1是星期几,该执行什么命令? 答:date –d ‘20200101’ + %A。
5. 某用户的umask分别为033和044,请问该用户所建立的文件和目录的权限是什么? 答:rwxr--r--、rwx-wx-wx。
6. 找出/etc下,文件大小介于50KB到60KB之间的文件,并列出文件的操作权限。 答:find /etc –size +50k –and –size -60k。 7. 说明SUID、SGID和粘附位。
答:SUID表示当文件执行时,执行该文件的用户能够在文件执行期间获得文件主的权限,在文件执行结束后,权限被收回。与SUID类似,SGID表示当文件执行时,执行该文件的用户在文件执行期间拥有文件主主组用户的权限。粘附位表示只有文件主和root用户才能
删除带有该标识的文件,其他用户虽然有“w”权限,但仍然不能删除带有该标识的文件。 8. 如何挂载和卸载光驱?
答:挂载光驱:mount /dev/cdrom /mnt,卸载光驱:umount /mnt。 9. 举例说明tar指令对文件进行压缩和解压操作。
答:将/home的内容压缩打包:tar -czvf home.tar.gz;对home.tar.gz进行解压缩:tar -xzvf home.tar.gz
10. 在vi打开的文件中,如何定位到该文件的页首和页末?
答:命令状态下,按H键光标移至当前页首,按L键光标移至当前页末。 11. 如何进入vi编辑器的编辑模式?
答:在命令状态下,按Insert键或者输入i、I、a等字符均可进入编辑状态。 12. 在/etc下,列出含有XYZ三个字符的任何一个字符的行,该如何操作? 答:ls –l /etc|grep [XYZ]。
13. 如何查看启动端口2222的服务? 答:netstat –an|grep 2222。
14. 查看本机是否已经安装TFTP软件,若已经安装,先删除后再安装;否则,先安装后
再删除。写出实现上述操作的命令列表。
答:查看:rpm –qa|grep tftp;删除: rpm –e tftp-0.42-3.1,安装rpm –ivh tftp-0.42-3.1。
第5章 Linux系统的网络服务
1. Vsftp中如何限制用户只能在自己的家目录下?
答:在用户操作权限详细设置界面的“常规”页面,选中“在主目录活动”选项。 2. 说明Vsftp服务安装后的文件结构及各文件的含义。 答: 配置文件或目录名称 /etc/sbin/vsftpd /etc/rc.d/init.d/vsftpd /etc/vsftpd/vsftpd.conf /etc/pam.d/vsftpd /etc/vsftpd/ftpusers /etc/vsftpd/user_list /var/ftp/ /etc/vsftpd/ vsftpd/ /etc/logrotate/vdftpd.log vsftp的主程序 启动脚本 主配置文件 PAM认证文件 禁止使用vsftp的用户列表文件 禁止或允许使用vsftp的用户列表文件,当userlist_deny值为YES时禁止,为NO时允许,缺省值为YES。 匿名用户的主目录 存储各用户操作权限文件的目录 vsftp的日志文件 功能说明 3. 如何限制某个主机或某个网段的主机访问Apache服务器?
答:在WEB站点设置的“访问许可”页面,在“禁止”列表中加入限制访问WEB站点的主机IP地址和网段。
4. 如何在Apache服务器上创建虚拟主机?
答:在WEB站点设置页面,鼠标左键单击菜单项“操作→添加虚拟主机”或“
”快捷按
钮,或者鼠标右键单击Apache配置工具左栏的“默认主机”或“虚拟主机”,选择“添加虚拟主机”,启动“虚拟主机创建向导”,按照向导提示可创建虚拟主机。 5. 说明Apache服务安装后的文件结构及个文件的含义。 答:
名称 /usr/sbin/httpd /etc/rc.d/init.d/httpd /etc/httpd/conf/httpd.conf /etc/httpd/ /var/log/httpd / /var/www/html/ 启动脚本 配置文件 守护进程httpd的运行目录 日志文件目录 默认站点主目录 功能说明 Apache的主程序 6. 说明DNS服务器的正向域名解析和反向域名解析的过程。
答:正向域名解析过程:用户以域名访问某站点时,则他的本地DNS 服务器开始搜索自己的DNS数据库信息,如果找到,则直接将域名转换为IP地址。如果没有搜索到,就转到上级DNS服务器,若上级DNS服务器也没有该域名的记录,则继续转上级DNS服务器,直到根DNS 服务器。然后从根DNS服务器出发逐级到达能够解析此域名的DNS服务器,查找到与域名对应的IP地址。用户得到域名所对应IP地址同时,他的DNS 服务器缓冲了该NS记录,下次如果有用户再需要解析该域名时,相关信息在本地即可获得。反向域名解析只能在指定的DNS服务器上进行,不能逐级转发进行解析。 7. 说明DNS服务安装后的文件结构及各文件的含义。 答: 功能 主配置文件 缓冲文件 本地回送文件 正向区域文件 反向区域文件 文件名 /etc/named.conf 说明 设置DNS服务器的全局参数,并指定区域文件名及其保存路径。 缓存服务器的配置文件,通常不需要用户修改。 用于将localhost名转换为本地回送IP地址(127.0.0.1)。 用于实现区域内主机名到IP地址的正向解析。 用于实现区域内IP地址到主机名的反向解析。 /var/named/named.ca /var/named/named.local 由用户自定义文件名,通常为/var/named/{域名}.dns,例如/var/named/linux.lut.cn.dns。 由用户自定义文件名,通常为/var/named/{区域IP地址反序}.in-addr.arpa.dns,例如/var/named/100.23.222.in-addr.arpa.dns。 8. 说明DHCP服务器配置中子网的配置语句及基本配置选项。
答:ddns-update-style //设置DHCP与DNS的互动方式。因网络中主机IP地址的变化使得
//DNS中记录需要更新,该项值为interim时,定时更新DNS记录, //该项值为none时,不更新。
subnet 192.168.0.0 netmask 255.255.255.0 { //定义子网
range 192.168.0.100 192.168.0.254 //可自动分配的IP地址范围 default-lease-time 691200 ; //预设的IP地址租期 min-lease-time 691200 ; //IP地址最短租期
max-lease-time 691200 ; //IP地址最长租期 option routers 192.168.0.1 ; //默认网关IP地址
option domain-name-servers 192.168.0.20 ; //DNS服务器IP地址 option netbios-name-servers 192.168.0.11 ; //WINS服务器IP地址 host zhaoh { //子网中固定IP地址的主机 hardware ethernet 00-24-2c-e5-2a-51 ; //主机的MAC地址 min-lease-time 608400 ; //IP地址最短租期 max-lease-time 608400 ; //IP地址最长租期 default-lease-time 608400 ; //预设的IP地址租期 fixed-address 192.168.0.120 ; //主机固定IP地址 }
host ftp { //不属于子网的固定IP地址的主机 hardware ethernet 00-24-2c-e5-2a-f5 ; //主机的MAC地址 min-lease-time 864000 ; //IP地址最短租期 max-lease-time 864000 ; //IP地址最长租期 default-lease-time 864000 ; //预设的IP地址租期 fixed-address 192.168.0.10 ; //主机固定IP地址 }
9. 说明DHCP服务安装后的文件结构及各文件的含义。 答:/etc/dhcpd.conf //DHCP服务器主配置文件
/etc/rc.d/init.d/dhcpd //开机自动运行DHCP的执行脚本 /usr/bin/omshell //ISC DHCP服务器控制工具 /usr/bin/dhcpd //DHCP服务器的执行命令文件 /var/lib/dhcpd/dhcp.leases //已分配的IP 地址存放在该文件中 10. 简述Squid服务器的访问控制方法及选项。 答:选择Squid配置工具左栏的“访问控制”,Squid服务器默认为“拒绝访问”,在“以下所列除外”列表框中仅有本机IP地址。利用“添加”、“编辑”和“删除”按钮,将允许访问Squid服务器的单机IP地址或子网IP地址或域名加入到列表框中,然后单击工具栏的快捷按钮
对访问控制的设置进行保存。也可以将访问控制策略设置为“默认情况下,所有
计算机将被‘授权访问’”,然后利用利用“添加”、“编辑”和“删除”按钮,将不允许访问Squid服务器的单机IP地址或子网IP地址或域名加入到列表框中,然后单击工具栏的快捷按钮
对访问控制的设置进行保存。
11. 使用命令方式练习Vsftp、Apache、DNS、DHCP、Squid等服务的启动和停止。 答:使用类似“service vsftpd start”、“service vsftpd stop”、“service vsftpd restart”、“service vsftpd status”等命令。
12. 如何测试Sendmail服务和Dovecot服务是否工作正常?
答:测试Sendmail服务:telnet mail 25;测试Dovecot服务:telnet mail 110。
第6章 Linux系统工具
1.
以表格形式列出两种NFS服务端配置选项的对应关系。
答:
项目 配置工具 添加共享目录 设置共享目录权限 访问主机表示方式 使修改内容生效 2. 直接修改配置文件方式 文本编辑器 通过在配置文件/etc/exports中添加新行实现 图形界面方式 NFS服务器配置工具 通过在图形界面添加新共享目录项实现 需要给出权限的具体表示,如只需勾选相应权限项即可 ro表示只读,rw表示读写等。 通配符、CIDR方式 手动重启服务 仅CIDR方式 自动重启服务 将一台运行Linux系统的主机配置成NFS服务器,要求两组客户端能够共享各自的目录,分别用CIDR和通配符实现。
答:在/etc/exports文件中用独立的两行实现两组客户端对相应目录的共享。CIDR方式如192.168.1.0/24,通配符方式中可使用*、?、[]等通配符表示主机。
3. 在运行Linux系统的主机中配置TFTP服务,并使用不同的客户端访问,实现文件的
下载与上传。
答案略。提示:要实现向服务器端上传新文件,需要将配置文件中的语句“server_args = -s /tftpboot”中增加参数“-c”,即该语句为“server_args = -s /tftpboot -c”。 4. 将本章Samba共享级服务配置实例修改为用户对共享文件可修改。 答案略。提示:修改配置文件中安全级别语句为“security = user”。
5. 访问Samba网站http://www.samba.org/,了解Samba的发展动态与进一步的应用。 答案略。
6. 设置一台Linux服务器,仅允许IP地址为202.201.33.15和202.201.33.18的主机在
8:00-18:00期间通过Telnet访问该服务器。
答:需在配置文件中加入语句“only_from = 202.201.33.{15,18}”和“access_times = 8:00-18:00”。
7. 设置一台Linux服务器,创建用户sshtest1和sshtest2,使得sshtest1以密码验证方式
远程登录服务器,sshtest2以密钥验证方式远程登录服务器,并观察登录用户家目录中的.ssh/known_hosts文件内容。 答案略。
8. 启动Linux中的VNC Server,在Linux客户端分别使用浏览器和vncviewer进行连接;
在Windows中下载VNC客户端,分别使用VNC客户端和浏览器进行连接。 答案略。
9. 使用Linux中的VNC Server进行桌面共享时,要使不同用户登录到不同桌面,该如何
设置?
答:使用不同桌面号。
10. 选择Linux系统的“/”分区,在其上给用户设置磁盘限额。 答案略。
第7章 Shell编程
1.
Shell的环境变量PATH的作用是什么?写出将目录“/var/prog/”加入到PATH中的命令。 答:PATH的作用是搜索与要执行命令所对应的可执行文件,将目录“/var/prog/”加入到PATH
中的命令为“export PATH=$PATH: /var/prog/”。
2. 编辑自动执行的Shell程序/etc/profile,在文件末尾追加类似“echo Welcome”的语句,
重新启动系统,观察系统提示,或者无需重启系统,使用source执行,观察结果。 答案略。提示:/etc/profile作用于所有用户。
3. 编辑自动执行的Shell程序~/.bashrc,在文件末尾追加类似“echo Hello $LOGNAME”
的语句,重新登录系统或者使用source执行,观察结果。其中,$LOGNAME为保存当前用户名的环境变量。
答案略。提示:~/.bashrc仅作用于当前用户。
4. 写出将当前目录加入到PATH搜索路径的命令。
答:将当前目录加入到PATH搜索路径的命令为“export PATH=$PATH:./”。 5. 举例说明双引号与单引号作为引用符号的区别。 答:xx=Linux #给变量xx赋值字符串“Linux”
echo “* I love $xx” #显示字符串“* I love Linux”,“*”当作普通字符处理,而“$”起取变量值的作用。
echo ‘* I love $xx’ # 显示字符串“* I love $xx”,“$”被当作普通字符处理。
双引号内的管道符、别名、替换符、通配符等符号的特殊含义失效,但其他特殊字符的特殊含义仍有效,如$;单引号内的任意特殊字符的特殊含义均失效。
6. 编写一个Shell程序文件,能够判断用户家目录中是否存在“doc”子目录,若存在输
出提示信息,否则,创建“doc”子目录,并提示信息。 答:#!/bin/sh
if [ -e ~/doc ]; then
echo “~/doc was exist already!” else mkdir ~/doc echo “~/doc was created just now!” fi
7. 编写一个Shell程序文件,能够统计用户家目录中文件的总数,普通文件数和目录文件
数。 答:#!/bin/sh
declare –i total=0 gen_files=0 dir_files=0 cd ~
for file in * do
total=$total+1 if [ -f $file ]; then
gen_files=$gen_files+1 elif [ -d $file ]; then dir_files=$dir_files+1 fi done
echo “There are ” +$total +” files,” +“general files are ”+ $gen_files”+”,directory files are ”+$dir_files
第8章 Linux下的C语言编程
1.
编写一个打印3000~5000之间素数的程序,在其中定义函数“int prime(int x)”,用以判断参数“x”所代表的整数是否为素数。以GCC对该程序进行编译,编译时可以加不同的参数,然后运行。 答:#include 2. 利用GDB工具对上述程序进行调试,并观察程序中变量的变化过程。 答案略。 3. 将上述程序的源代码分散在两个文件中,其中一个文件包含main()函数,另一个文 件包含prime()函数。编写makefile文件实现对这两个文件的编译。修改其中一个文件后,再进行编译,观察make的输出信息。 答:makefile文件为: # Print prime number between 3000 and 5000. CC = gcc #设置变量CC的值为gcc,该变量代表编译器。 FLAGS += -Wall EXEC = myprime all:${EXEC} ${EXEC}:main.o prime.o #main()所在文件保存为main.c, #prime()所在文件保存为prime.c。 ${CC} ${FLAGS} –o $@ main.o prime.o main.o:main.c ${CC} ${FLAGS} –c @^ prime.o:prime.c ${CC} ${FLAGS} –c @^ clean: rm –f ${EXEC} main.o prime.o test: ./${EXEC} 因篇幅问题不能全部显示,请点此查看更多更全内容