当前位置:操作系统 > Unix/Linux >>

linux入门教程(3)

(文:flynng)

  3.4 进程管理

  Linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。

  在Linux系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理守护进程,都可以称之为进程。Linux用分时管理方法使用所有的任务共同分享系统资源。下面我们就看一下如何控制这些进程。

  1. 启动进程

  在Linux系统中有两种启动进程的方法:

  1) 直接输入命令,就将直接启动一个进程

  Ø 在普通情况下,进程将在前台执行,这时我们无法再执行新的命令

  Ø 如果我们在命令之后加上一个“&”,那行进程将会放在后台执行,我们仍然可以执行新的命令

  2) 通过at、cron、crontab命令可以像Windows中的计划任务一样定时启动某个进程,具体的使用方法大家可以使用man 命令名来查询。

  2. 查看进程

  在Linux系统中,我们可以使用ps命令来查看正在运行的进程例如:

  列出属于当前用户的进程:

  # ps

  PID TTY TIME CMD

  16767 pts/1 0:00 ps

  18029 pts/1 0:00 bash

  其中PID代表进程ID,TTY是该进程是由哪个控制台启动的,CMD则是命令。

  如果你想列出更详细的信息,则可使用命令:“ps -auxw”。

  3. 终止进程

  一个进程在任务完成之后,将会自动完成。如果要中途中止该进程的话,有两种方法:

  1) 对于在前台运行的程序,直接通过组合键CTRL+C就可以中止进程;

  2) 而对于在后台运行的程序,则需要通过前面介绍的ps命令找到它的进程号,然后使用“kill 进程号”来终止该进程。

  3.5 磁盘管理

  系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中,做为系统管理员应随时监视磁盘空间的使用情况。我们可以使用下面两个命令来实现:

  1. df命令

  df,就是Disk Free,顾名思义就是检查磁盘上还剩下多少空间等信息。下面是一个使用实例:

  # df

  FileSystem 1k-blocks Used Available Use% Mounted on

  /dev/hda5 4134900 1749728 2175124 45% /

  /dev/hda6 6048320 5741092 0 100% /home

  共显示了6列信息:

  1) FileSystem:硬盘分区

  2) 1k-blocks:按K计算的分区大小

  3) Used:已经使用的分区大小(按K计算)

  4) Available:还要用的分区大小

  5) Use%:已使用的空间所占百分比

  6) Mounted on:挂接点

  可以看到/home是另一个分区,现在空间已经用完了!这都时当时没有规划好!

  如果对与以K为计算单位表示硬盘空间,那么你可以使用df -m,这样就会以M为计算单位。

  2. du命令

  du,就是disk usage,就是看一下磁盘使用了多少。下面就是一个使用实例:

  # pwd

  /var/log

  # du

  4 ./uucp

  776 .

  在这里,我们使用du命令列出了/var/log目录所占用的磁盘空间。它统计出了该目录有一个子目录:uucp,占用了4K,而/var/log目录下的文件则共有776K。

  该命令还有一些常用的选项,用来完成更多的功能:

  Ø -a 将列出当前目录下所有的文件、子目录、子目录下的文件、子目录下的子目录…的磁盘占用情况

  Ø -b 以字节为单位表示占用的磁盘空间

  Ø -c 在最后显示出一个统计值

  3.6 软件安装

  在Red Hat Linux下,应用软件的安装包通常有两种格式:

  1) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux创造的一种包封装格式。

  2) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。

  而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:

  名称-版本-修正版-类型

  例如:

  sfotware-1.2.3-1.i386.rpm

  软件名称:software

  版本号:1.2.3

  修正版本:1

  可用平台:i386,适用于Intel 80x86平台。

  类型:rpm,说明是一个rpm包。

  根据Linux应用程序软件安装包中的内容不同可以分为::

  1) 是可执行文件,也就是解开包后就可以直接运行的。在Windows中所有的软件包都是这种类型。安装完这个程序后,你就可以使用。不过下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。

  2) 另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。

  通常,用tar打包的,都是源程序;而用rpm打包的则常是可执行程序。

  1.搞定使用rpm打包的应用软件

  rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。

  1) 安装:

  我只需简单的一句话,就可以说完。执行:

  rpm -ivh rpm软件包名

  更高级的,请见下表:

  rpm参数 参数说明

  -i 安装软件

  -t 测试安装,不是真的安装

  -p 显示安装进度

  -f 不管任何错误

  -U 升级安装

  -v 检测套件是否正确安装

  这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。

  2) 卸载:

  我同样只需简单的一句话,就可以说完。执行:

  rpm -e 软件名

  不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:

  rpm -ivh software-1.2.3-1.i386.rpm

  而当卸载时,则应执行:

  rpm -e software。

  2. 搞定使用tar打包的应用软件

  1) 安装:

  整个安装过程可以分为以下几步:

  Ø 取得应用软件:通过下载、购买光盘的方法获得;

  Ø 解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar -xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar -xvf 解压后的tar包”进行解包;

  Ø 阅读附带的INSTALL文件、README文件;

  Ø 执行“./configure”命令为编译做好准备;

  Ø 执行“make”命令进行软件编译;

  Ø 执行“make install”完成安装;

  Ø 执行“make clean”删除安装时产生的临时文件。

  好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和 README文件,一般都会有说明。

  2) 卸载:

  通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。一般都提供 make uninstall 来卸载软件的。

  。

  要想成为一套优秀的操作系统,除了性能稳定、功能齐全之外,还应该拥有一个友好的操作系统,否则只会呆在研究室里,难以普及。

  在UNIX系统下,大多都是采用X Window做为图形界面的。1984年,麻省理工学院与DEC制定了Athena计划,这就是X Window 第一个版本。1988年1月成立了一个非盈利性的X联盟,负责制定X Window的标准。在Linux出现后,Xfree86 Project Inc. 基于Linux实现了一个开源的X Window系统:XFree86。

  X Window与其他的图形界面系统相比,有几个特点:

  Ø 良好的网络支持:X Window采用了C/S网络结构,程序间可以通过网络来通信,而且有良好的网络透明性,也就是说用户不需知道程序在使用远端主机资源。

  Ø 个性化的窗口界面:X Window并未对窗口界面作统一性的规范,程序员可以根据需求自行设计,其中最有名的就是后面要介绍的GNOME与KDE。

  Ø 不内嵌于操作系统:X Window只定义了一个标准,而不属于某个操作系统,因此可在不同的操作系统上运行相同的X Window软件。

  整个X Window由三个部分组成:

  Ø X Server:主要是控制输出及输入设备的程序,并维护相关资源,它接收输入设备的信息,并将其传给X Client,而将X Client传来的信息输出到屏幕上。所以不同的显卡就需要选择不同的X Server,在配置X Window时最主要的就是配置 X Server

  Ø X Client:它才是应用程序的核心部分,它是与硬件无关的,每个应用程序就是一个X Client

  Ø X protocol:X Client与X Server之间的通信语言就是X protocol<
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,