Linux系统知识全剖析(一)_第1页
Linux系统知识全剖析(一)_第2页
Linux系统知识全剖析(一)_第3页
Linux系统知识全剖析(一)_第4页
Linux系统知识全剖析(一)_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux全剖析

什么是Linux

简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intelx86系列CPU

的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的

版权制约的、全世界都能自由使用的Unix兼容产品。

Linux的出现,最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是芬兰赫尔辛基

大学的学生。他的目的是想设计一个代替Minix(是由一位名叫AnHrowTannnhanm的计算机漱授编写的一个

操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腌处理器的个人计算机上,并且具有Unix

操作系统的全部功能,因而开始了Linux雏形的设计。

Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多

用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作

系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包

括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用WindowsNT一样,允许我们使用窗口、图

标和菜单对系统进行操作。

Linux之所以受到广阔计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付

任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它焚用,无约束地

继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人

都可以从Linux中获益。

第二课为什么使用Linux

由于Linux是一套具有Unix全部功能的免费操作系统,它在众多的软件中占有很大的优势,为广

阔的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的时机。

操作系统是一台计算机必不可少的系统软件,是整个计笄机系统的灵魂。一个操作系统是一个复杂的

计算机程序集,它提供操作过程的协议或行为准则。没有操作系统,计算机就无法工作,就不能解释和执行用户

输入的命令或运行简单的程序。大多数操作系统都是由一些主要的软件公司支持的商品化程序,用户只能有偿使

用。如果用户购置了一个操作系统,他就必须满足供给商所要求的一切条件。因为操作系统是系统程序,用户不

能擅自修改或试验操作系统的内核。这对于广阔计算机爱好者来说无疑是一种束缚。

要想发挥计算机的作用,仅有操作系统还不够,用户还必须要有各种应用程序的支持.应用程序是用

于处理某些工作(如字处理)的软件包,通常它也只能有偿使用。每个应用程序的软件包都为特定的操作系统和

机器编写。使用者无权修改这些应用程序。使用Linux,可以将操作系统变成一种操作环境。

由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,

而且可以任意地修改和补充它们。这对用户学习、了解Unix操作系统的内核非常有益。学习和使用Linux,

能为用户节省一笔可观的资金。Linux是目前唯一可免费获得的、为PC机平台上的多个用户提供多任务、多

进程功能的操作系统,这是人们要使用它的主要原因。就PC机平台而言,Linux提供了比其他任何操作系统

都要强大的功能,Linux还可以使用户远离各种商品化软件提供者促销广告的诱惑,再也不用承受每过一段时

间就升级之苦,因此,可以节省大量用于购置或升级应用程序的资金。

Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从

Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux

本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到

适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作

系统或应用程序的功能。这对WindowsNT、Windows98、MS-DOS或OS/2等商品化操作系统来说是无法

做到的。

Linux为广阔用户提供了一个在家里学习和使用Unix操作系统的时机。尽管Linux是由计算机爱

好者们开发的,但是它在很多方面上是相当稳定的,从而为用户学习和使用目前世界上最流行的Unix操作系统

提供了廉价的时机。现在有许多CD-ROM供给商和软件公司(如RedHat和TurboLinux)支持Linux操作系

统。Linux成为Unix系统在个人计算机上的一个代用品,并能用于替代那些较为昂贵的系统。因此,如果一

个用户在公司上班的时候在Unix系统上编程,或者在工作中是一位Unix的系统管理员,他就可以在家里安装

一套Unix的兼容系统,即Linux系统,在家中使用Linux就能够完成一些工作任务。

第三课Linux纵览

1.Linux内核

内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。它从用户那里接受

命令并把命令送给内核去执行。

2.LinuxShell

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并

把它送入内核去执行。

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell

有自己的编程语言用于对命令的编辑,它允许用户编写由shell令令组成的程序。Shell编程语言具有普通编

程语言的很多特点,比方它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程

序具有同样的效果。

Linux提供了像MicrosoftWindows那样的可视的命令输入界面一XWindow的图形用户界面

(GUI)。它提供了很多窗口管理器,其操作就象Windows一样,有窗口、图标和菜单,所有的管理都是通过

鼠标控制。现在比较流行的窗口管理器是KDE和GNOME。

每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需

要。

同Linux本身一样,Shel1也有多种不同的版本。目前主要有以下版本的Shell:Bourne

Shell:是贝尔实验室开发的。

BASH:是GNU的BourneAgainShell,是GNU操作系统上默认的shell。

KornShell:是对BourneSHell的开展,在大局部内容上与BourneShell兼容。C

Shell:是SUN公司Shell的BSD版本。

3.Linux文件结构

文件结构是文件存放在磁盘等存储设备上的组织方法c主要表达在对文件和目录的组织上。目录提

供了管理文件的一个方便而有效的途径。我们能够从一个目录切换到另一个目录,而且可以设置目录和文件的权

限,设置文件的共享程度。

使用Linux,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。Linux目

录采用多级树形结构,图1.1表示了这种树形等级结构。用户可以浏览整个系统,可以进入任何一个已授权进

入的目录,访问那里的文件。

文件结构的相互关联性侵共享数据变得容易,几个用户可以访问同一个文件。Linux是一个多用户

系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统目录。图1.1中那些根

目录下的目录就是系统目录。

内核,Shell和文件结构一起形成了根本的操作系统结构。它们使得用户可以运行程序,管理文件

以及使用系统。此外,Linux操作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。

4.Linux实用工具

标准的Linux系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的

计算操作等。用户也可以产生自己的工具。

实用工具可分三类:

编辑器:用于编辑文件。

过滤器:用干接收数据并过滤数据八

交互程序:允许用户发送信息或接收来自其他用户的信息。

Linux的编辑器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行编辑器,Vi和Emacs是

全屏幕编辑器。

Linux的过滤器(Filter)读取从用户文件或其他地方的输入,检查和处理数据,然后输出结果。

从这个意义上说,它们过滤了经过它们的数据。Linux有不同类型的过滤器,一些过滤器用行编辑命令输出一

个被编辑的文件。另外一些过滤器是按模式寻找文件并以这种模式输出局部数据。还有一些执行字处理操作,检

测一个文件中的格式,输出一个格式化的文件。过滤器的输入可以是一个文件,也可以是用户从键盘键入的数

据,还可以是另一个过滤器的输出。过滤器可以相互连接,因此,一个过滤器的输出可能是另一个过滤器的输入。

在有些情况下,用户可以编写自己的过滤器程序。

交互程序是用户与机器的信息接口。Linux是一个多用户系统,它必须和所有用户保持联系。信息

可以由系统上的不同用户发送或接收。信息的发送有两种方式,一种方式是与其他用户一对一地链接进行对话,

另一种是一个用户对多个用户同时铤接进行通讯,即所谓播送式通讯。

第四课Linux的开展

Linux是专门为个人计算机所设计的操作系统。它最早是由LinusTorvalds设计的。当时Linux

是他的一项个人研究工程,其目的是为Minix用户设计一个比较有效的UnixPC版本。LinusTorvalds称它

为LinuxoMinix是由AndrewTannobaum教授开发的,发布在Internet上,免费给全世界的学生使用。

Minix具有较多Unix的特点,但与Unix不完全兼容,Linus打算为Minix用户设计一个较完整的UnixPC

版本,于1991年发行了Linux0.11版本,并将它发布在Internet上,免费供人们使用。

以后几年,其他的Linux爱好者根据自己的使用情况,综合现有的Unix标准和Unix系统中应用

程序的特点,修改并增加了一些内容,使得Linux的功能更完善,

Linux设计了与所有主要的窗口管理器的接口,提供了大量Internet工具,如FTP,TELNET和

SLIP等。

Linux提供比较完整的程序开发工具,最常用的是C++编译器和调试器。

尽管Linux拥有了Unix的全部功能和特点,但它却是最小、最稳定和最快速的操作系统。在最小

配置下,它可以运行在仅4MB的内存上。

Linux是在Internet开放环境中开发的,它由世界各地的程序员不断完善,而且免费供用户使

用。尽管如此,它仍然遵循商业Unix版本的标准,因为前几十年里,Unix版本大量出现,电子电气工程协会

(IEEE)开发了一个独立的Unix标准,这个新的ANSIUnix标准被称为计算机环境的可移植性操作系统界

面(FSOIX兀这个标准限定了Unix系统如何进行操作,对系统调用也做了专门的论述。PSOIX限制所有Unix

版本必须依赖群众标准,现有大局部Unix和流行版本都是遵循POSIX标准的,而Linux从一开始就遵循

POSIX标准。

第五课Linux特性

Linux操作系统在短短的几年之内得到了非常迅猛的开展,这与Linux具有的良好特性是分不开

的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性:

1开放性

开放性是指系统遵循世界标准标准,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标

准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。

2多用户

多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)

有特定的权限,互不影响。Linux和Unix都具有多用户的特性,

3多任务

多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行

互相独立。Linux系统调度每一个进程平等地访问微处理器。由亍CPU的处理速度非常快,其票果是,启动的

应用程序看起来好似在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再

次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。

4良好的用户界面

Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令

行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方

便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,

形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。

系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系

统通过这个界面为用户程序提供低级、高效率的效劳。

Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个

直观、易操作、交互性强的友好的图形化界面。

5设备独立性

设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何

用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。

具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。

当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序》保证每次调用

设备提供效劳时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付绐用户时,操作允许在这些

设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允

许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每

一个设备都是通过其与内核的专用连接独立进行访问。

Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员参加Linux

编程,会有更多硬件设备参加到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源

代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。

6供了丰富的网络功能

完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操

作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为

用户提供了完善的、强大的网络功能。

支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是

在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当万便的,用户能用Linux与世界上的其他人通

过Internet网络进行通信。

文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。

远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人

员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统效劳,即使那些

系统位于相距很远的地方。

7可靠的系统平安

Linux采取了许多平安技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心

授权等,这为网络多用户环境中的用户提供了必要的平安保障。

8良好的可移植性

可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。

Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中知任何平台上运

行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外

增加特殊的和昂贵的通信接口。

第六课Linux与其他操作系统的区别

目前运行在PC机上的操作系统主要有Microsoft的MS-DOS、Windows、WindowsNT、IBM的OS/2

等。早期的PC机用户普遍使用MS-DOS,因为这种操作系统对机器的硬件配置要求不高,而随着计算机硬件技

术的飞速开展,硬件设备价格越来越低,人们可以相对容易地提高计算机的硬件配置,于是开始使用Windows.

WindowsNT等具有图形界面的操作系统。Linux是新近被人们所关注的操作系统,它正在逐渐为PC机的用户

所接受。那么,Linux与其他操作系统的主要区别是什么呢?下面从两个方面加以论述。

首先看一下Linux与MS—DOS之间的区别。

在同一系统上运行Linux和MS-DOS已很普遍,就发挥处理器功能来说,MS-DOS没有完全实现

x86处理器的功能,而Linux完全在处理器保护模式下运行,并且开发了处理器的所有特性。Linux可以直接

访问计算机内的所有可用内存,提供完整的Unix接口。而MS-DOS只支持局部Unix的接口。

就使用费用而言,Linux和MS-DOS是两种完全不同的实体。与其他商业操作系统相比,MS-DOS价

格比较廉价,而且在PC机用户中专很大的占有率,任何其他PC机操作系统都很难到达MS-DOS的普及程度,

因为其他操作系统的费用对大多数PC机用户来说都是一个不小的负担。Linux是免费的,用户可以从

internet上或者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。

就操作系统的功能来说,MS-DOS是单任务的操作系统,一旦用户运行了一个MS-DOS的应用程序,

它就独占了系统的资源,用户不可能再同时运行其他应用程序。而Linux是多任务的操作系统,用户可以同时

运行多个应用程序。

再看一下Linux与05/2、Windows、WindowsNT之间的区别。

从开展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统开展而

来的,而其他操作系统,如WindowsNT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux

的用户能大大地从Unix团体奉献中获利。因为Unix是世界上使用最普遍、开展最成熟的操作系统之一,它是

七十至代中期开展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少相对集中的标准,但还是

开展壮大成为了最广泛使用的操作系统之一。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一

个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很

多方面得到支持和帮助。因此,Lir.ux做为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix

在用户中建立的牢固的地位。

从使用费用上看,Linux与其他操作系统的区别在于Linux是一种开放、免费的操作系统,而其

他操作系统都是封闭的系统,需要有偿使用。这一区别使得我们能够不用花钱就能得到很多Lirux的版本以及

为其开发的应用软件。当我们访问Internet时,会发现几乎所有可用的自由软件都能够运行在Linux系统上。

有来自很多软件商的多种Unix实现,Unix的开发、开展商以开放系统的方式推动其标准化,但却没有一个公

司来控制这种设计。因此,任何一个软件商(或开拓者)都能在某种Unix实现中实现这些标准。OS/2和Windows

NT等操作系统是具有版权的产品,其接口和设计均由某一公司控制,而且只有这些公司才有权实现其设计,它

们是在封闭的环境下开展的。

第七课TurboLinux简介

TurboLinux是拓林思公司最近发行的linux版本,已在日本和中国取得了巨大的成功,在美国也有

一定的业绩。当前版本为4.0,是基于linux2.2.10内核的。

TurboLinux的优点

简单易用的图形安装程序;

友好的图形桌面界面KDE、GNOME等;

丰富的软件包,包括:系统管理工具、网络分析程序、效劳程序包(如:Apache)等等;

提供了完整的源代码程序;

提供了预配置安装功能。

TurbolJnux的特色

TurboPNPCfg-TurboLinux的ISA即插即用配置工具,可以很容易地设置所有的ISAPnP插件;

所有系统组件都采用RPM软件包管理系统;

TurboPkg-TurboLinux有完善的RPM前端,即便是FTP,也可以进行系统组件的简单安装、升级和

拆卸;

Xfree863.3.3;

TurboXCfg-TurboLinux先进的配置工具;

一套完整高效的应用程序,包括:

GIMP(Photoshcp型程序)

Xpaint(图形程序)

yx(排版工具)

WingZ(电子表格)

Netscape(通讯程序)

Emacs和Xemacs(编辑器)

Xcssitc(电子表格)

多种游戏、屏幕保护程序、仿真程序和其他娱乐性程序;

完整的网络客户程序-除了如tenet,等标准程序外,TurboLinux还提供了如ikined、基于SNMP

的图形网络管理器的程序。

大量的效劳器软件包提供如下的效劳:

根本的端口监视效劳程序(tenet,等)

Web效劳程序(Apache)

DNS名字效劳器(bind)

E-mail

TurbolJnux的一般用途

防火墙

路由器

工作站

Intranet或Internet效劳器

TurboLinux具有设置效劳器、开发者和办公系统所需的一切功能。

1.对于效劳器TurboLinux是一套很完整的系统,它具有建立一个商业Internet站点所需

的各种软件。您可以将TurboLinux用作带有限客户的工作组效劳器,也可以把它当作成熟的,能够同时接收数

百个连接请求的Internet站点。

2.对于开发者TurboLinux为开发者提供了常用的编帽器、编译器、调试器和编程工具。另

外,TurboLinux具有强健的应用程序开发环境,提供了各种开发应用程序的工具,具有对多种语言如:C、C++、

Java、Per、Tc/tk、Python和Fortran77的编译器/解释器以及集成开发环境、调试和其他开发工具。

3.对于办公系统TurboLinux包含了办公室运转所需的一切。如:NetscapeNavigator,

WordPerfect8、Wingz(电子表格)、Gimp(Photoshop类程序)和Xpaint(图形程序),一共有几百种程序。

谁从TurboLinux获益

开发者

程序员

系统管理员

系统分析员

管理人员

最终用户

TurboLinux的站点

•(美国)

・(中国)

•(日本)

第八课进入与退出系统

TurboLinux是一个多用户的操作系统,用户要使用该系统,首先必须登录系统,使用完系统后,必

须退出系统。本章主要讨论登录和退出系统的方法。

用户登录系统时,为了使系统能够识别自己,必须输入用户名和密码,经系统验证无误前方能进入

系统。在系统安装过程中可以创立两种帐号:

1)root一超级用户帐号,使用这个帐号可以在系统中做任何事情。

2)普通用户一这个帐号供普通用户使用,可以进行有限的操作。

一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。

如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。

用户登录分两步进行:第一步,输入用户的登录名,系统根据该登录名来识别用户;第二步,输入

用户的口令,该口令是用户自己选择的一个字符串,对其他用户是保密的,是在登录时系统用来区分真假用户的

关键字。

在Linux系统中,系统管理员在为用户建立新帐号时赋给用户一个用户名和一个初始的口令。另外,

Linux系统给计算机赋予一个主机名。主机名用于在网络上识别独立的计算机(即使用户的计算机没有联网,也

应该有一个主机名)。TurboLinux系统给出的缺省主机名为:localhost。在下面的例子中,我们假设用户名为

"xxq",系统的主机名为"localhost

进入系统(登录)

超级用户登录

超级用户的用户名为root,密码在安装系统时已设定。系统启动成功后,屏幕显示下面的提示:

localhostlogin:

这时输入超级用户名"root",然后键入回车键。此时,用户会在屏幕上看到输入口令的提示:

localhostlogin:root

Password:

这时,需要输入口令。输入口令时,口令不会在屏幕上显示出来。如果用户输入了错误的口令,就

会在屏幕上看到以下信息:

loginincoriect.

这时需要重新输入。当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:

[root@loclhost/root]#

此时说明该用户已经登录到系统中,可以进行操作了。这里*"是超级用户的系统提示符。普通用

户登录建立了普通用户帐号以后,就可以进行登录了。

在登录时,用户会在屏幕上看到类似下面的提示:

localhostlogin:

这时输入用户名“xxq",然后键入回车键。此时,用户会在屏幕上看到输入口令的提示:

localhostlogin:xxq

Password:

这时,需要输入口令。输入口令时,口令不会在屏幕上显示出来。如果用户输入了错误的口令,就

会在屏幕上看到以下信息:

loginincorrect.

这时需要重新输入。当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:

[xxq@loclhostxxq]$

此时说明该用户已经登录到系统中,可以进行操作了。

修改口令

为了更好的保护用户帐号的平安,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,

它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以防止用户无意中按错键。如果用户忘记

了口令,可以请系统管理员为自己重新设置一个。

虚拟控制台

Linux是一个真正的多用户操作系统,这表示它可以同时接受多个用户登录。Linux还允许一个用

户进行屡次登录,这是因为Linux和许多版本的UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时

间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行屡次登录。

虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用Fl-F6o例如,用户

登录后,按一下Alt-F2键.用户.又可以看到"login」提示符.说明用户看到了第二个虚拟控制台.然后只需按

Alt-El键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用Alt-Fl到Alt-F6键来访问

前六个虚拟控制台。

虚拟控制台可使用户同时在多个控制台上工作,真正感受到Linux系统多用户的特畦。用户可以在

某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。例如,开发软件时,可以在

一个控制台上进行编辑,在另一个控制台上进行编译,在第三个控制台上查阅信息。

退出系统

不管是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入以下命令即可。

下面以普通用户的退出为例,说明退出系统的过程:

[xxq@loclhostxxq]$exit

还有其他退出系统的方法,但上面一种是最平安的。

第九课文件与目录操作

用户的数据和程序大多以文件的形式保存。用户使用Linux系统的过程中,需要经常对文件和目录

进行操作。本章讲述了文件与目录的根本概念,有关文件和目录操作的命令以及如何在Linux环境下运行DOS

命令。

文件与目录的根本概念

文件与文件名

在多数操作系统中都有文件的概念。文件是Linux用来存储信息的根本结构,它是被命名(称为文

件名)的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合。Linux文件均为无结构的字符流形式。

文件名是文件的标识,它由字母、数字、下划线和圆点组成的字符串来构成。用户应该选择有意义的文件名。Linux

要求文件名的长度限制在255个字符以内。

为了便于管理和识别,用户可以把扩展名作为文件名的一局部。圆点用于区分文件名和扩展名。扩

展名对于将文件分类是十分有用的。用户可能对某些群众已接纳的标准扩展名比较熟悉,例如,C语言编写的源

代码文件总是具有C的扩屣名.用户可以根据自己的需要.随意参加自己的文件扩展名。

以下例子都是有效的Linux文件名。

preface

chapterl.txt

xu

xu.bak

文件的类型

Linux系统中有三种根本的文件类型:普通文件、目录文件和设备文件。

1.普通文件普通文件是用户最经常面对的文件。它又分为文本文件和二进制文件。

1)文本文件:这类文件以文本的ASCII码形式存储在计算机中。它是以"行”为根本结构的一种信息

组织和存储方式。

2)二进制文件:这类文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们,只有

通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。

2.目录文件设计目录文件的主要目的是用于管理和组织系统中的大量文件。它存储一组相关文件

的位置、大小等与文件有关的信息。目录文件往往简称为目录。

3.设备文件设备文件是Linux系统很重要的一个特色。Linux系统把每一个I/O设备都看成一个

文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。从用户的角度来看,对I/O设备的使用

和一般文件的使用一样,不必了解I/O设备的细节。设备文件可以细分为块设备文件和字符设备文件。前者的存

取是以一个个字符块为单位的,后者则是以单个字符为单位的。

目录

树型目录结构

在计算机系统中存有大量的文件,如何有效的组织与管理它们,并为用户提供一个使用方便的接口

是文件系统的一大任务。Linux系统以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所

有文件的说明信息采用树型结构组织起来一即我们常说的目录。也就是说,整个文件系统有一个"根"(root),

然后在根上分"杈"(directly),任何一个分杈上都可以再分杈,杈上也可以长出"叶子"。"根"和"杈"在Linux

中被称为是"目录"或"文件夹"。而”叶子”则是一个个的文件。实践证明,此种结构的文件系统效率比较高。

如前所述,目录也是一种类型的文件。Linux系统通过目录将系统中所有的文件分级、分层组织在

一起,形成了Linux文件系统的树型层次结构。以根目录为起点,所有其他的目录都由根目录派生而来。一个典

型的Linux系统的树型目录结构如图3.1所示。用户可以浏览整个系统,可以进入任何一个已授权进入的目录,

访问那里的文件。

上图中,我们只给出了目录结点名称,而没有给出各个目录"之下”的每一个文件。实际上,各个目

录结点"之下”都会有一些文件和子目录。并且,系统在建立每一个目录时,都会自动为它设定两个目录文件,一

个是代表该目录自己,另一个是代表该目录的父目录,对于根目录,"和都代表其自己。

Linux目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户可以为自己的文件创

立自己的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其

他用户共享目录和文件。也就是说。我们能够方便地从一个目录切换到另一个目录,而且可以设置目录和文件的

管理权限,以便允许或拒绝其他人对其进行访问。同时文件目录结构的相互关联性使分享数据变薄十分容易,几

个用户可以访问同一个文件。因此允许用户设置文件的共享程度。

需要说明的是,根目录是Linux系统中的特殊目录。Linux是一个多用户系统,操作系统本身的驻

留程序存放在以根目录开始的专用艮录中,有时被指定为系统目录。在图3.1中那些根目录下的目录就是系统目

录。

工作目录、用户主目录与路径

如前所述,目录是Linux系统组织文件的一种特殊文件。为使用户更好地使用目录,我们介绍有关

目录的一些根本概念。

I.工作目录与用户主目录

从逻辑上讲,用户在登录到Linux系统中之后,每时每刻都"处在"某个目录之中,比目录被称作工

作目录或当前目录(WorkingDirectory)o工作目录是可以随时改变的。用户初始登录到系统中时,其主目录

(HomeDirectory)就成为其工作艮录。工作目录用”表示,其父目录用表示。

用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,

不同用户的主目录一般互不相同。

用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。

用户可以通过一个字符来引用自己的主目录。

例如命令

/home/WANG$cat^/class/software_l

和下面的命令

/home/WANG$cat/hoiie/WANG/class/software1意义相同。shell将用用户主目录名来替换"

字符。目录层次建立好之后,用户就可以把有关的文件放到相应的目录中,从而实现对文件的纽织。

对文件进行访问时,需要用到"路径"(Path)的概念。

II.路径

顾名思义,路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路径的主要构成是目

录名称,中间用7"分开。任一文件在文件系统中的位置都是由相应的路径决定的。

用户在对文件进行访问时,要给出文件所在的路径。路径又分相对路径和绝对路径。绝对路径是

指从“根”开始的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。

应该注意到,在树型目录结构中到某一确定文件的绝对路径和相对路径均只有一条。绝对路径是确

定不变的,而相对路径则随着用户工作目录的变化而不断变化。这一点对于我们以后使用某些命令如CP和tar

等大有好处。

用户要访问一个文件时,可以通过路径名来引用。并且可以根据要访问的文件与用户工作目录的相

对位置来引用它,而不需要列出这个文件的完整的路径名。例如,用户WANG有一个名为class的目录,该目录

中有两个文件:suftware_l和hardware」。若用户WANG想显示出其class目录中的名为software.1的文件,

可以使用以下命令:/home/WANG$cat/home/WANG/class/software_l

用户也可以根据文件software」与当前工作目录的相对位置来引用该文件。这时命令为:

/home/WANG$catclass/softwaro1

文件和目录操作相关命令

显示文件内容命令

用户需要查看一个文件的内容时,可以根据显示要求的不同选用以下的命令。

cat命令

功能1:在标准输出上显示文件。

语法:cat[-选项]文件

说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。

cat命令中各个选项的含义为:

-v用一种特殊形式显示控制字符,LFD与TAB除外。

加了-v选项后,-T和-E选项将起作用。其中:

-T将TAB显示为“uro该选项需要与-v选项一起使用。即如果没有使用-v选项,则这个选

项将被忽略。

-E在每行的末尾显示一个$符。该选项需要与-v选项一起使用。

-u输出不经过缓冲区。

•A等于-vETo

-t等于-vT。

-e等于-vE。

例1:$catexample,txt

则在屏幕上显示出example,txt文件的内容。

本想今天去香山看红叶,无奈天公不作美没去成,真遗憾,但愿明天艳阳高照,使我们梦想成真。

例2:$cat-Aexam2,txt

则在屏幕上显示出exam2.txt文件的内容,而且如果文件中含有特殊字符的话,一并显示。

Iamaboy!uIYouarcacuteboy$

功能2:连接两个或多个文件

说明:该命令功能之二是用来将两个或多个文件连接起来。

例3:$catfilelfile2>file3

这样就把文件filel和文件file2的内容合并起来,放入文件file3中。(此时在屏幕上并不能直接

看到该命令执行后的结果。若想看到连接后的文件内容,可以再使用“catfile3"。)

需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看

清其内容。因此,当文件内容较大射,一般可用more等命令分屏显示,以免因屏幕滚动太快而元法看清。

more命令

功能:在终端屏幕按屏显示文本文件。

语法:more[-选项]文件

说明:该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出--More--,系统还

将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。

more命令中各个选项的含义为:

-p显示下一屏之前先清屏。

-c作用同-p根本一样,

-d在每屏的底部显示更友好的提示信息:

----More----(XX%)[Pressspacetocontiune,'q'toquit.]

而且若用户输入了一个错误命令则显示出错信息,而不是简单地鸣响终端。

-1不处理<Ctrl+1>(换页符)。如果没有给出这个选项,则more命令在显示了一个包含有<Ctrl+1>

字符的行后将暂停显示,并等待接收命令。

-s文件中连续的空白行压缩成一个空白行显示。

执行中的命令

在more命令的执行过程中,用户可以使用more自己的一系列命令动态地根据需要来选择显示的局部。

more在显示完一屏内容之后,将停二来等待用户输入某个命令。下表列出了more指令在执行中用到的一些常用

命令,而有关这些命令的完整内容,可以在more执行时按h查看。这些命令的执行方法是先输入i(行数)的

值,再打所要的命令,不然它会以预设值来执行命令。

i空格若指定i,显示下面的i行;否则,显示下一整屏。

i回车若指定i,显示下面的i行;否则,显示下一行。

iuD按《"1+。>,若指定i,显示下面的i行;否则,往下显示半屏(一般为11行)。

id同ibI)o

iz同“i空格”类似,只是i将成为以下每个满屏的缺省行数。

is跳过下面的i行再显示一个整屏。预设值为1。

if跳过下面的i屏再显示一个整屏。预设值为lo

iiiR按<Ctrl+R》,往回跳过(即向文件首回跳)i屏.再显示一个满屏°预设侑为屋

b与iUB相同。

回到上次搜索的地方

q或Q退出more。

=显示当前行号。

v在当前行启动/usr/bin/vi对之进行编辑修改。

h显示各命令的帮助信息。

i/pattern查找匹配该模式的第i行。预设值为1。

in查找符合表达式的倒数i行。预设值为1。

!<cmd>或:!<cmd>在子shell中执行<cmd>命令。

i:n在命令行中指定了多个文件名的情况下,可用此命令使之显示第i个文件,若i过大(出界),

则显示文件名列表中的最后一个文件。

i:p在命令行中指定了多个文件名的情况下,可用此命令使之显示倒数第i个文件。若i过大(出

界),则显示笫一个文件。

i:f显示当前文件的文件名和行数。

•重复上次疑人的命令。

例1:用分页的方式显示一个文件的内容。

Smoreexamplel.c

/*------------------------------------------------*/

/*examplel.c*/

/*authorfopus.*/

/*targetfBBSmain/login/top-menuroutines*/

/*createf99/10/23*/

/*updatef99/12/15♦/

/*

#defineMAINC

^include<BBS.h>

jmpbufbyebyc;

intta]krequest=NA;

staticuscharEnter_uflagi

ttifdofSHOWIDLETIME

—More-(3%)

例2:显示一个文件的内容,但显示之前先清屏,并且在显示器的最下方显示完整的百分比。

Smore-deexample!.c

执行该命令后,先清屏,然后显示文件example,c的内容。

/*---------------------------------------------------*/

/*examplel.c*/

/*---------------------------------------------------*/

/*authorfopus.B*/

/*targetfBBSmain/login/top-menuroutines*/

/*createf99/10/23♦/

/*updatef99/12/15♦/

/♦---------------------------------------------*/

Sdefine_MA1N_C_

^include<BBS.h>

jmpbufbyebyo;

inttaikrequest=NA;

staticuscharEnter_uflagi

#ifdefSHOWIDLETIME

charfromhost();

一More-(3%)[Pressspacetocontinue,toquit.]

例3:显示一个文件的内容,要求每十行显示一次,且显示之前先清屏。

$more-c-10examplel.c

执行该命令后,先清屏,然后将以每十行每十行的方式显示文件example.的内容。

/*---------------------------------------------*/

/♦examplel.c*/

/*■

/*authorfopus.*/

/♦targetfBBSmain/login/top-menuroutines*/

/*createf99/10/23♦/

/*updatef99/12/15♦/

/*

^define_MAIN_C_

i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论