第1章 Linux基础及安装
1. 什么是Linux?
Linux是一款优秀的计算机操作系统,支持多用户、多进程、多线程,实时性好,功能强大且稳定。同时,它又具有良好的兼容性和可移植性,被广泛应用于各种计算机平台上。作为Internet的产物,Linux操作系统由全世界的许多计算机爱好者共同合作开发,是一个自由的操作系统。
2. Linux的主要特点是什么?
Linux具有UNIX的所有特性并且具有自己独特的魅力,主要表现在以下几个方面:
(1)开放性 (2)多用户 (3)多任务
(4)出色的稳定性能
(5)良好的用户界面:Linux向用户提供了两种界面:用户界面和系统调用界面。
(6)设备独立性:设备独立性是指操作系统把所有外部设备统一当作文件来看,只要安装它们的 驱动程序,任何用户都可以像使用文件那样操作并使用这些设备,而不必知道它们的具体存在形式。 (7)丰富的网络功能:完善的内置网络是Linux的一大特点,Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密的内核结合在一起的联接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。 (8)可靠的安全性 (9)良好的可移植性:可移植性是指将操作系统从一个平台转移到另一个平台,使它仍然能按其自身的方式运行的能力。
3. Linux的主要组成包括什么?
(1)Linux内核(Kernel):内核(Kernel)是系统的心脏,是运行程序和管理硬件设备的内核程序, 决定着系统的性能和稳定性,实现操作系统的基本功能。
(2)Linux的Shell:Shell是系统的用户界面,提供用户与内核进行交互操作的一种接口。Shell 是一个命令解释器,它解释由用户输入的命令并且把他们送到内核执行。Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写shell程序与其他应用程序具有同样的效果。
(3)Linux 文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法。通常是按照目录层
次的方式进行组织,用户能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限、文件的共享程度。
(4)Linux实用程序(utilities)和应用程序(Applications):标准的Linux系统都有一套成为应用程 序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。
4. Linux与Windows的主要区别是什么?
(1)Linux的应用目标是网络:Linux的设计定位于网络操作系统。虽然现在已经实现Linux操作 系统的图形界面,但仍然没有舍弃文本命令行。由于纯文本可以非常好地跨越网络进行工作,所以 Linux配置文件和数据都以文本为基础。
(2)可选的GUI:目前,许多版本的Linux操作系统具有非常精美的图形界面。Linux支持高端 的图形适配器和显示器,完全胜任与图形相关的工作。但是,图形环境并没有集成到Linux中,而是运行于系统之上的单独一层。这意味着用户可以只运行GUI,或者在需要时使用图形窗口运行GUI。
(3)文件名扩展:Linux不使用文件名扩展来识别文件的类型,这与Windows操作系统不同。
Linux操作系统是根据文件的头内容来识别其类型。为了提高用户的可读性,Linux仍可以使用文件名扩 展,这对Linux系统来说没有任何影响。Linux通过文件访问权限来判断文件是否为可执行文件,任何一个文件都可以赋予可执行权限,程序和脚本的创建者或管理员可以将它们识别为可执行文件,这样做有利于安全,使得保存到系统上的可执行文件不能自动执行,可以防止许多脚本病毒。
(4)重新引导:在使用Windows系统时,也许已经习惯出于各种原因而重新引导系统(即重新启 动),但在Linux系统中这一习惯需要改变。一旦开始运行,它将保持运行状态,直到受到外来因素的影响,比如硬件故障。实际上,Linux系统的设计使得应用程序不会导致内核的崩溃,因此不必经常重新
引导,所以除了Linux内核之外,其他软件的安装、启动、停止和重新配置都不用重新引导系统。如果用户确实重新引导了Linux系统,问题很可能得不到解决,甚至还会使问题更加恶化,因此在学习Linux操作系统时,要克服重新引导系统的习惯。
另外,可以远程地完成Linux中的很多工作,只要有一些基本的网络服务在运行,就可以进入到那个系统。而且,如果系统中一个特定的服务出现了问题,用户还可以在进行故障诊断的同时让其他服务继续运行。当用户在一个系统上同时运行多个服务的时候,这种管理方式更为重要。
(5)命令区分大小写:所有的Linux命令和选项都区分大小写。
5. 什么是Linux的内核版本和发行版本?
Linux的内核版本是指在Linus Torvalds领导下开发小组开发出的系统内核的版本号。内核版本号由3个数字组成,形式如下:major.minor.patchlevel
(1)major:目前发布的Kernel主版本号。
(2)minor:为次版本号,一般来说minor位为偶数的版本标明这是一个可以使用的稳定版本,如
2.6.4;minor位为奇数的版本一般加入了一些新的内容,不一定很稳定,是测试版本,如2.5.11。
(3)patchlevel:表示对当前版本的修补次数
发行版本是一些组织或厂家将Linux系统内核与应用软件和文档封装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合。目前已经有了几百种发行版本。
6. Linux系统的用户有哪些?
Linux是多用户系统,用户分为根用户(系统管理员)和普通用户两大类。
每个用户在系统中都有唯一的用户名称,该用户名称为用户账号,使用户使用系统的凭证。根用户(系统管理用)又称为超级用户,用户账号为root,在系统中拥有最高权限,主要负责系统的管理工作。普通用户账号有根用户创建,命名时不能以数字和下划线作为第一个字符。普通用户是系统的使用者,只在自己的目录下工作,没有系统管理权限。
7. 什么是运行级别?Linux有哪些运行级别?
所谓运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6,具有不同的功能,在/etc/inittab 文件中定义。七个运行级别为:
(1)0----关机(千万不要把initdefault 设置为0 ) (2)1----单用户模式 (3)2----多用户模式,但是没有 NFS (4)3----完全多用户模式 (5)4----没有用到 (6)5----X11 (7)6----重启(千万不要把initdefault 设置为6 )
8. 如何更改默认的运行级别?
运行级别可以由超级用户通过 telinit 命令来转换,此命令可以将转换信号传递给init,告诉它切换到哪个运行级别。也可以通过修改/etc/inittab文件来进行缺省运行级别的修改。
9. 如何登录和注销?
(1)登录----图形界面:图形提示用户名+口令;字符界面:输入用户名+口令
(2)注销----图形界面:运行―系统->注销‖命令;字符界面:logout或ctrl+d或exit
10. 如何安全关闭系统?
图形界面:系统?关机;文本界面:有shutdown、halt、reboot、init。
11. 简述X Window的原理。
X Window系统由三部分构成。
(1)X Server:控制实际的显示与输入设备
(2)X Client:向X Server发出请求以完成特定的窗口操作。 (3)通信通道:负责X Server与X Client之间的通信。
X Server是用来控制实际的显示设备和输入设备(键盘和鼠标或其他输入设备)的软件。X Serve可以
建立窗口、在窗口中画图形、图像和文字;响应X Client的需求。它不会自己执行动作,只有在X Client提出请求后才完成动作。每一个显示设备只有一个唯一的X Server。X Server一般由系统的供应厂商提供,用户通常无法修改。对操作系统而言,X Server只是一个普通的用户程序而已,因此很容易更换一个新的版本,甚至可编译运行由第三方厂商提供的原始程序。
X Client是指使用系统窗口功能的一些应用程序。把X下的应用程序称作X Client,原因是它们是X Server的客户,X Client要求服务器应它的请求完成特定的动作。X Client无法直接影响窗口或显示,它们只能向X Server发送请求,让X Server来完成它们的需求。用户可以使用不同来源的X Client:一些是由系统提供的(例如时钟) ,一些来自于第三方厂商,一些是用户为了特殊应用而编写的自己的客户程序。
通信通道是X Server和X Client之间传递信息的通道,凭借这个通道,X Client发送请求给X Server,而X Server借助于它向X Client回送状态及一些其他的信息。
第2章 Linux的文件系统
1.简述Linux文件系统的特点。
(1)Linux文件系统采用树形结构,从根目录root (/)开始。
(2)Linux的虚拟文件系统允许众多不同类型文件系统共存,并支持跨文件系统的操作。 (3)Linux的文件是无结构字符流式文件,不考虑文件内部的逻辑结构,只把文件简单地看作是一系列字符的序列。
(4)Linux的文件可由文件拥有者或超级用户设置相应的访问权限而受到保护。
(5)Linux把所有的外部设备都看做文件,可以使用与文件系统相同的系统调用和函数来读写外部设备。
2.什么是虚拟文件系统,Linux为什么采用虚拟文件系统?
虚拟文件系统是Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口;同时,它也提供了内核中的一个抽象功能,允许不同的文件系统共存。虚拟文件系统既没有文件,也不直接管理文件,它只是用户与实际文件系统之间的接口。它并不需要保存在永久存储介质中,只是在需要时由内核在内存中创建起来的一个文件系统,所以叫做虚拟文件系统。
Linux 允许众多不同类型的文件系统共存,并支持跨文件系统的操作,这是由于虚拟文件系统的存在。系统中所有的文件系统不但依赖虚拟文件系统共存,而且也依靠虚拟文件系统协同工作。
3.在所用的Linux系统上,根目录下主要含有哪些子目录,各子目录的含义?
(1)/bin:存放二进制可执行命令目录;
(2)/home:用户主目录的基点目录,默认情况下每个用户的主目录都设在该目录下,如默认情况下 用户user01的主目录就是/home/user01;
(3)/lib:存放标准程序设计库目录,又叫动态链接共享库目录,目录中存放的文件作用类似windows 里的.dll文件;
(4)/etc:存放系统管理和配置文件目录;
(5)/dev:存放设备特殊文件目录,如声卡文件、磁盘文件等;
(6)/usr:最庞大的目录,存放应用程序和文件目录,其中包含如下目录:
(a)/usr/local/bin:存放本地增加的命令目录;
(b)/usr/local/lib:存放本地增加的库目录; (c)/usr/X11R6:存放X window目录; (d)/usr/bin:存放众多的应用程序目录;
(e)/usr/sbin:存放超级用户的一些管理程序目录; (f)/usr/doc:存放linux文档目录;
(g)/usr/include:存放Linux下开发和编译应用程序所需头文件目录; (h)/usr/lib:存放常用的动态链接库和软件包的配置文件目录; (i)/usr/man:存放帮助文档目录;
(j)/usr/src:存放源代码目录,Linux内核的源代码就放在/usr/src/linux子目录中; (7)/proc:虚拟目录,是系统内存的映射,可直接访问这个目录来获取系统信息; (8)/root:系统管理员的主目录;
(9)/var:存放系统产生的经常变化文件目录,例如打印机、邮件、新闻等假脱机目录、日志文件、 格式化后的手册页以及一些应用程序的数据文件等等; (10)/tmp:存放公用临时文件目录。
4.什么是文件?Linux下主要有哪些类型文件?
文件是指由创建者定义的,具有文件名的一组相关元素的集合,文件可以是文本文档、图片、程序等。
Linux下的文件类型包括:普通文件,也称为常规文件,是Linux中最一般格式的文件,包括系统文件、用户文件和库函数;目录文件,是由文件目录信息构成的特殊文件,目录文件的内容不是应用程序和数据,而是用来检索普通文件的目录信息;设备文件,在Linux中输入输出设备被看做特殊文件,设备文件分两类,字符设备文件和块设备文件;符号链接文件,是一种特殊类型的文件,它的内容只是一个字符串,该字符串可能指向一个存在的文件也可能什么都不指向。
5.什么是工作目录、用户主目录 ?
工作目录是用户在登录到Linux系统中后所处于的目录,也称为当前目录。工作目录用―.‖表示,其父目录用―..‖表示。可用pwd命令查看工作目录,可用cd命令改变工作目录。
用户主目录是系统管理员增加用户时创建的(以后也可以改变),每个用户都有自己的主目录。普通用户的主目录在/home下,root用户作为系统管理员,因为身份特殊所以有自己的主目录,在/root下。
6.根据下图,圆圈代表目录,方框代表文件,当前目录为n,用相对路径法和绝对路径放分别写出文件g、o、z的路径。
绝对路径是指从\开始的路径,也称为完全路径;如:/home/user、/usr/bin。
相对路径是从用户当前目录或用户主目录开始的路径,如:./user1、../user2、~/user3。
其中:(1)“.”表示用户工作目录
(2)“..”表示工作目录的上一级目录
(3)“~”表示用户主目录
用户要访问一个文件时,要通过路径名来引用。可以使用绝对路径名,也可以使用相对路径名。
文件 相对路径 绝对路径 g ../../e/g /e/g o ../../e/i/o /e/i/o z ./v/x/z /f/n/v/x/z 7.举例说明cat、more和less命令的用法。 cat命令可以把多个文件连接后输出到标准输出(屏幕)或加 ―> 文件名‖输出到另一个文件中。如显示当前目录下文件testfile1的内容可用如下命令:cat testfile1。
more命令显示文本文件的内容,一次显示一屏,满屏后停下来,可按键继续。如显示/etc/profile文件的内容,每屏10行可用如下命令:more -10 /etc/profile。
less命令与more命令相似,分屏显示文件的内容。less命令允许用户向前(PageUp)或向后(PageDown)浏览文件。如文件/etc/profile中查找字符串―HOSTNAME‖,并从该字符串后显示可以如下命令:less -p HOSTNAME /etc/profile。
8.将主目录下的文件.bashrc复制到/tmp下,并重命名为bashrc,用命令实现上述过程。
cp ~/.bashrc /tmp/bashrc。
9.举例说明比较文件的异同使用哪些命令?
comm命令对两个已经排好序的文件进行比较,comm从文件1和文件2中读取正文行进行比较,生成三行输出:在两个文件中都出现的行,仅在文件1中出现的行,仅在文件2中出现的行。如比较当前目录下的已排好序的两文件memo1和memo2的异同用命令:comm memo.1 memo.2。
diff命令比较文本文件,并找出它们的不同。diff命令比comm命令更强大,不要求文件预先排好序。如果两个文件完全一样,该命令不显示任何输出。如比较当前目录下的未排好序的两文件memo1和memo2的异同可用如下命令:diff memo.1 memo.2。
10.举例说明怎样对文件进行压缩和备份?
对文件压缩的命令主要有bzip2和gzip;对文件备份的命令主要有tar。 如用bzip2命令压缩当前目录下的文件memo.1:bzip2 memo.1。 用gzip命令压缩压缩当前目录下的文件memo.1:gzip memo.1。
用tar命令将当前目录下的文件memo.1、memo.2、memo.3备份到文件memo.tar中:
tar cvf memo.tar memo.1 memo.2 memo.3。
11.将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,用命令实现上述过程。
实现此任务的tar命令格式为tar zcvf /home/wang.tar.gz /home/stud1/wang 。
12.在Linux下有一文件列表内容如下:
lrwxrwxrwx l hawkeye users 6 jul 18 09:41 nurse2→nurse1
(1)要完整显示如上文件类别信息,应该使用什么命令?