一、简述题(每题2分,共60分)
1、 1. 请简述Linux、Unix、GPL的联系与区别
a) GPL:GNU 通用公共许可协议(英语:GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德·斯托曼为GNU计划而撰写。此许可证最新版本为“第3版”(v3),2007年6月29日发布。GNU宽通用公共许可证(英语:GNU Lesser General Public License,一般简称LGPL)是改自GPL的另一个版本,其目的是为了应用于一些软件库。
GPL给予了电脑程序自由软件的定义,并且使用“Copyleft”来确保程序的自由被完善的保留。
GPL授予程序接受人以下权利,或称“自由”:
以任何目的运行此程序的自由;
再发行复制件的自由;
改进此程序,并公开发布改进的自由(前提是能得到源代码)。
b) Linux:Linux(i/ˈlɪnəks/ LIN-əks)是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。
Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统。目前Linux已经被移植到更多的计算机硬件平台。如大型主机、超级计算机、嵌入式系统(手机,平板电脑,路由器,电视和电子游戏机等)、移动设备。
Linux是自由软件和开放源代码软件。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。个人计算机使用的Linux发行版通常包X Window和一个相应的桌面环境,如GNOME或KDE。桌面Linux操作系统常用的应用程序,包括Firefox网页浏览器,LibreOffice办公软件,GIMP图像处理工具等。
绝大多数Linux操作系统使用了大量的GNU软件,包括了一个shell程序、工具、库、编译器及工具,还有许多其他程序,例如Emacs、Vi。
c) Unix:UNIX操作系统(英语:UNIX),是一个强大的多用户、多任务操作系统,支持多种处理器架构,属于分时操作系统;是美国AT&T公司贝尔实验室于1969年实现的操作系统。最早由肯·汤普逊(Ken Thompson),丹尼斯·里奇(Dennis Ritchie),道格拉斯·麦克罗伊(Douglas McIlroy),和Joe Ossanna于1969年在AT&T贝尔实验室开发。于1971年首次发布,最初是完全用汇编语言编写。在1973年,Unix被丹尼斯·里奇用编程语言C(内核和I/O例外)重新编写。从而使得UNIX可以更加轻松的移植到不同的计算机平台。
2、 2. ls –l 列出的每一项分别代表什么含义?
文件列表共分为11个字段,如果没有符号连接,则为9个字段。
第一字段,首位10个字符。分为四部分:d / rwx / rwx / r-x
第1部分为文件 类型,d---directory,目录;b---block,块文件;c--- character,字符设备文件;l---link,符号连接;p-pipe 管道;“-”---普通文件。
第2、3、4部分分别为文件属主、用户组、其他用户的操作权限,常用的权限设置有如下几种。
r:Read,读权限;w:Write,写权限;x:eXecute,执行权限
s:Socket,网络接口;t:Temporary,临时文件。
第二字段,文件硬链接数或目录子目录数。
第三字段,文件拥有者,即文件属主。
第四字段,文件拥有者所在的组。
第五字段,文件的大小(以字节计算)。
第六字段,文件最后一次修改月份。
第七字段,文件最后一次修改日期。
第八字段,文件最后一次修改时间。
第九字段,文件名或目录名。
第十字段,符号连接文件的链接指向符号“->”。
第十一字段,符号连接文件指向的文件名。
3、 3. 请简述Linux中的常见文件类型,并列出(ls –l查看时)代表该类型的类型符号
见上题中第一字段第一部分的回答。
补充内容,有关以扩展名区分的常用文件类型的扩展名。
压缩和打包文件
.bz2 — 使用bzip2命令压缩的文件,可以使用bzip2 -d filename 解包
.gz — 使用gzip命令压缩的文件,可以使用gunzip -d filename 解包
.tar — 使用tar打包的文件,即tarball文件,可以使用tar xf filename 解包
.tbz — 使用tar打完包后再以bzip2命令压缩的文件,可以使用tar jxf filename 解包
.tgz — 使用tar打完包后再以gzip命令压缩的文件,可以使用tar zxf filename 解包
普通文件格式
.au — 声音文件,可以使用系统的声音播放器或者是JAVA程序播放
.gif — GIF图像文件,可以使用WEB浏览器查看
.html/.htm — HTML文件,可以使用WEB浏览器查看
.jpg — JPEG图像文件,可以使用WEB浏览器查看
.pdf — 文档的电子版本,PDF是一种电子文档的标准,可以使用xpdf或者是adobe acrobat reader阅读
.png — PNG图像文件,PNG是Portable Network Graphic的简写,可以使用WEB浏览器或者图像浏览器查看
.ps — PostScript文件,一种打印格式文件,可以使用ghostview或者是支持ps查看的图像浏览器查看,也可以直接输出给打印机打印
.txt — 文本格式文件,可以使用任何编辑器查看
.wav — 声音文件,可以使用声音播放器播放
.xpm — XPM图像文件,可以使用图像查看器查看
系统文件
.conf — 某个程序的配置文件,一般可以使用vi进行编辑
.lock — 某个程序的锁定文件,用于检测某个程序在执行或者某个设备或者资源正在使用
.rpm — RedHat的软件包管理器文件,用于安装软件程序和脚本文件
.c — C语言程序源码文件
.cpp — C++语言程序源码文件
.h — C或C++语言的头文件
.o — 程序对象文件
.pl — Perl脚本文件
.so — 动态链接库文件
.tcl — TCL脚本文件
4、 4. 什么是符号链接,如何创建符号链接?
符号链接又叫软链接,是一类特殊的文件(本身建立inode),这个文件包含了另一个文件的路径名(绝对路径或者相对路径)。路径可以是任意文件或目录,可以链接不同文件系统的文件。(链接文件可以链接不存在的文件,这就产生一般称之为“断链”的现象),链接文件甚至可以循环链接自己(类似于编程中的递归)。在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。
5、 5. 什么是硬链接,如何给文件、目录创建硬链接?
硬链接只能引用同一文件系统中已经存在的文件。它引用的是文件在文件系统中的物理索引(也称为 inode),自身不再建立inode,只在原始文件inode link count中增加1。当移动或删除原始文件时,硬链接不会被破坏;如果删除硬链接,则相应的inode link count减1;如果inode link count值为零,则inode被收回,原文件数据真正删除。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置。
6、 6. 给指定文件创建一个符号链接link1,和一个硬链接link2,link1与link2哪个占用磁盘空间更大?
link1占用磁盘空间更大,link1是一个标准的文件,将占用一个基本文件的空间。link2只占用目录域中的一个文件名项,不占用数据区空间,因此,对磁盘的占用更小。
7、 7. 在桌面上创建/etc/passwd的符号链接。如何实现?
ln –s /etc/passwd /home/user/桌面/
或者先改变当前目录为桌面,然后执行ln –s /etc/passwd
8、 8. 在VIM中如何快速删除一行(请指出在哪个模式下使用哪个命令)
命令模式下,dd可删除光标所在行内容。
9、 9. 管道符号‘|’作用是什么?
管道符号用于连接两个命令,将前面命令的输出,作为后面命令的输入。
10、 10. VIM提供了三种模式,分别是哪些?他们之间如何进行转换。
三种模式是:命令模式、编辑模式、末行模式。初始进入到VIM编辑器即在命令模式下,键入i、a、o、I、A、O可以进入编辑模式;编辑模式中按ESC则切换到命令模式;在命令模式下,键入“:”,则转入末行(命令)模式,且只能由命令模式转入末行模式。
命令模式和末行模式都是用于完成相关命令的方式。其中命令模式主要对文件本身的内容进行操作,删除、复制、拷贝、粘贴等,命令为快捷方式;末行模式命令用于输入和执行所要进行测操作,如保存、退出、查找、替换、统计等,输入时显示键入的命令,回车执行,执行命令后自动转入到命令模式。
11、 11. 分页查看/etc/passwd文件,应该使用的指令是?
more /etc/passwd
12、 12. 查看文件/etc/passwd的后几行,应该使用的指令是?
tail –n 8 /etc/passwd 显示后8行
13、 13. 将文件/home/sramedu/hello.c 重命名为/home/sramedu/test.c 如何实现?
mv /home/sramedu/hello.c /home/sramedu/test.c
rename hello test /home/sramedu/hello.c
14、 14. 拷贝一份/etc/passwd到sramedu用户的桌面如何实现?
cp /etc/passwd /home/sramedu/桌面
15、 15. 将主目录下的code目录下所有文件打包为code.tar.gz,如何实现?
zip –r code.tar.gz /home/user/code
tar –zcvf code.tar.gz /home/user/code
16、 16. 在/usr/include中查找strtok函数在哪个头文件中有定义,如何实现?
find /usr/include -name '*.h' | xargs grep 'strtok'
17、 17. 使用find命令在后台查询文件系统中所有以.conf结尾的文件,并将结果保存在当前用户主目录下的conf_result.txt文件中,要求查找过程忽略所有错误信息。如何实现?
find / -name ‘*.conf’ >conf_result.txt 2>/dev/null &
18、 18. 如何查看进程?如何杀死进程?
查看进程:ps /u/au/aux
查看“当前终端/当前用户所有终端/所有用户所有终端/所有”进程
杀死进程:kill 进程id 或pkill 进程名
19、 19. 使用哪个组合键可以结束当前终端正在运行的前台进程?
ctrl-c
20、 20. ctrl-c, ctrl-z分别代表什么意思
ctrl+c和ctrl+z都是中断命令,但是作用却不一样。
ctrl+c发送 SIGINT 信号给前台进程组中的所有进程,用于强制中断程序的执行,中断后的程序退出。
ctrl+z发送 SIGTSTP 信号给前台进程组中的所有进程,用于将任务中断,但任务并没有结束,仍然在进程中,只是变成挂起状态。用户可以使用fg/bg操作恢复被挂起的任务,fg命令重新启动被挂起的任务在前台运行,bg命令则将被中断的任务放在后台执行。
21、 21. 修改密码可以使用哪个指令 ?
passwd 修改当前用户的密码
passwd Tony 修改Tony用户的密码
22、 22. 使用crontab指令设置服务器周1-周5每天晚上11:00关机(注:关机指令为poweroff)。如何实现?
crontab –e 进入编辑状态,输入以下指令并保存。
0 23 * * 1-5 poweroff
23、 23. Linux系统的7种运行级别在哪个文件中有描述?常用的运行级别是哪两个?
/etc/inittab文件描述并定义了Linux系统的运行级别。常用的是id=3和id=5的两个级别。
id=3为全多用户模式,id=5是Xwindows模式
24、 24. 将系统默认的运行级别设置为3,如何实现?
在inittab文件的最后一行为默认运行级别的定义,“id:5:initdefault:”,修改其中的数字即可设置变默认运行级别。
25、 25. /etc/rc.d/rcN.d 目录分别代表什么意思?
在Redhat的/etc/rc.d目录下有8个子目录init.d、rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d、rc6.d,和3个文件rc、rc.local、rc.sysinit。
其中init.d是系统初始化文件目录(包括各种服务器和程序的二进制文件),rcN.d对应Linux的7种运行级别的初始化文件的符号链接目录。
26、 26. /etc/rc.d/init.d目录作用是什么?
系统初始化文件目录,是各种服务器和程序的二进制文件的存放目录。
27、 27. 如何开启vsftpd服务?
service vsftpd start
28、 28. 设置vsftpd服务,在系统以level3、level5启动时自动启动,如何实现?
开机默认VSFTPD服务自动启动:
方法一:
[root@localhost etc]# chkconfig --list|grep vsftpd ( 查看情况)
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost etc]# chkconfig vsftpd on (执行ON设置)
方法二: 修改/etc/rc.local,把行/usr/local/sbin/vsftpd & 插入文件中。
方法三 修改/etc/rc.local,加入/etc/rc.d/init.d/vsftpd start
29、 29. 查看指令的帮助信息,应该用哪个指令。
man XXXX
30、 30. 修改网络接口eth0的ip地址为192.168.0.99,如何实现?
ifconfig eth0 192.168.0.99 up