QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1606|回复: 0

[系列.原创]Linux不完全攻略_04

[复制链接]
发表于 2004-11-4 15:08:31 | 显示全部楼层 |阅读模式
回复贴到 http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=91508 。不要回复本贴。

[code:1]
4        更多了解
        版本:2004-10-26-01

    以下一些东西有必要了解。如果觉得枯燥,你可以暂时跳过。以后如果碰到问题,在你大费干戈之前,可以先来这里看看。

        4.1        基本概念补充

                4.1.1        自由软件

    大多数商业软件都是私有软件(少许,比如GNU Ada是自由软件,但也是商业软件,我不把话说死)。请先回忆一下你所安装的大多数Window$软件,想想它们的版权协议:不允许修改,不允许私自传播,甚至要按连接到这个软件的客户端数目付费,更别指望得到它的源代码进行研究学习了。一款私有软件让你的系统出了毛病,你损失惨重,却不能得到任何实际的担保,也不能弄清楚问题到底出在哪里从而自己或找人修正Bug。你可以4块钱到地摊上买,尽管我有时也这么做,但是这却是违法的。

    自由软件是指允许任何人使用、拷贝、修改、分发(免费/少许收费)的软件。最重要的是,这种软件的源代码必须是可得到的。自由软件帮助我们颠覆了“盗版”的概念,使得所有的软件用户摆脱少数公司强加给我们的原罪;自由软件使我们拥有了与垄断者讨价还价的能力,它还给了我们拷贝的自由,分享的自由,学习的自由。

                4.1.2        GNU

    GNU,自由软件基金下的一个项目,全称为 GNU's Not UNIX ,旨在创建一套自由的类UNIX系统。GNU项目开发出了许多自由软件,能在许多UNIX系统上跑得非常好。除了系统核心以外,这些软件几乎能够构成一套完整的类UNIX系统。GNU系统的官方核心是Hurd,一种技术很先进的核心,但也因为其先进性,也因为其试图不断整合新技术,至今尚未推出可广泛应用的版本。正在GNU系统为无“心”而苦恼时,Linux出现了。Linux的最初作者将其纳入了GNU版权协议中。虽然不是官方核心,但是也是自由软件,因此在Hurd完成前,GNU项目就有了广泛适用的核心。

    GNU最著名的版权协议是GPL和LGPL,这些在网上很容易查到。

                4.1.3        Linux

    确切地说,Linux不是一个完备的操作系统,只是操作系统的核心,基本上只是负责进程调度和硬件管理。只有应用程序接口,没有用户界面。Linux的发布使用GPL协议。目前最新系列为Linux-2.6.x。

    Linux和周围的一些共同软件组成了一个对于用户可以操作的系统,而平常说的Linux一般就是指这个核心与周围软件的集合。本文档中,除特别说明外,所有提到Linux的地方均指这种集合。

                4.1.4        发行版

    Linux提供了一些机制,使得使用者能够自由地获取其源代码并建立系统,然而这是非常麻烦的。一些软件厂商或个人把Linux核心与某些常用软件做成集合、进行界面美化,并添加上比较容易操作的安装程序,就成为“发行版”。软件厂商可以出售发行版,因为把软件集成也需要人付出劳动。

    注意,发行版的版本号与Linux核心版本号几乎没有关系。当然,如果同为一家厂商出品,采用2.4内核的发行版版本号一般高于2.2内核的。

                4.1.5        X-Window

    图形界面支持软件。图形界面最初不是Micro$oft搞出来的。

    X-Window-System是一套为UNIX或是类UNIX的操作系统提供形操作界面的软件。X-Window-System具备的网络透明性使它成为UNIX类平台上的工业标准,现在UNIX的工作站或大型主机几乎都能运行X-Window-System,而且只要根据X标准所发展的应用程式,均可以在不同的环境下执行。

    早在1970年代,众家电脑厂商对于更友好的人机界面都还在摸索时候,Xerox下属的研究中心开始对图形化用户界面做一系列的研究,其研究成果对后来的X-Window、苹果-Macintosh系统、甚至Micro$oft-Window$造成了相当深远的影响。1984年美国麻省理工学院与迪吉多电脑公司合作,在UNIX系统上发展一个分散式的视窗环境,这便是X-Window。1986年,麻省理工学院开始发行X-Window,随后X-Window很快就成为UNIX系统的标准视窗环境。同时X协会成立,以订定业界标准,并继续发展X-Window。

    X-Window-System本身是一个非常杂的图形化作业环境。当然,要让用户方便,就只有自己复杂了。X-Window大致可以分成三个部分,分别是X服务器、X客户端、X协议。X服务器主要是处理输入输出的讯息,X客户端是执行大部份应用程式的运算功能,而X协议则是建立X服务器和X客户端的沟通管道。

    大多数Linux发行版都附带了X-Window的某个分支版本。

    注意,X-Window只是一套外围软件,并不是一个完整操作系统所必须的。正因为如此,一般情况下,X-Window以及其中运行的程序出问题不会导致系统崩溃。反观Window$,所有程序所调用的图形界面都与操作系统核心紧密纠缠,也导致了操作系统的不稳定。

                4.1.6        XFree86

    随着自由软件开始流行,一些爱好者成立了XFree86。XFree86是一个非营利的组织,起初专注在Intel?x86兼容系统上的仿UNIX环境中开发X-Window,但是这套免费、功能完整的X-Window很快便侵入了商用UNIX系统之中,并且被移植到许多种不同的硬件平台。XFree86组织的产品也叫XFree86。

    大多数Linux发行版附带的X-Window都是XFree86。
    单独启动XFree86的命令是“xinit”。如果希望桌面环境也同时启动,用“startx”。

                4.1.7        桌面环境

    X-Window提供了创建图形界面的基础。但是它只管在屏幕画点、画线、画框和着色,至于在哪里画点、画什么样的线、画什么样的框
以及着什么色,这些要求都是由客户端程序提交的。一套桌面环境一般会包括窗口管理器、面板、菜单、桌面背景设置和一些常用的小程序,负责为使用者创建一个友好的图形化操作界面。

    大多数Linux发行版都会附带常用的桌面环境有KDE或GNOME,这是两套功能齐全的重量级产品。但也有人偏爱资源消耗更少、运行速度更快的其他桌面环境,FVWM是其中很出众的一种。

                4.1.8        窗口管理器

    窗口管理器一般只是桌面环境的一个组件,但是极端情况下可能也会充当整个桌面环境。一个桌面环境通过设置也可以使用非自身的窗口管理器。

                4.1.9        组合键

    和其他系统一样,Linux下也有组合键。在本系列文档中,如果没有特别说明,“按键1”+“按键2”+……+“按键n”即表示依次按下这些按键,并同时松手。这类组合键一次按键一般不会超过3个。有一些功能必须用组合键实现,但更多的时候用组合键往往能够比其他方式更方便地实现某些功能。

                4.1.10        控制台、终端

    如同其他UNIX类系统,Linux本身也是基于命令行的。试试“Ctrl”+“Alt”+“F1”。这就是控制台,算是Linux的本来面目。至于使用方法,除了多出登录注销外,和前面章节所提到的“终端”差不多。在X-Window出问题或不运行X-Window的时候,操作主要在这里完成。

    Linux在控制台下提供了不止一个终端,支持多用户同时登录,包括在本机同时登录。控制台“Alt”+“Fx”能够切换到第x个终端。如果需要从X-Window里跳到第x个终端,需要“Ctrl”+“Alt”+“Fx”。

    一般地,Linux发行版提供7个虚拟屏幕,1~6号是控制台终端,第7个上面跑X-Window。红旗Linux桌面4.0只提供了2个控制台终端,第3个跑X-Window,如果需要更多控制台终端,可以修改“/etc/inittab”,找“# Run gettys in standard runlevels”一行,下面以数字和“#”开头的6行都是控制台终端说明。以“#”开头的行在大多数配置文件里表示注释,即该行不生效。把那几个“#”去掉,重新启动后即可获得全部6个控制台终端。

    前面提到的“rxvt”,运行时会在图形界面中虚拟一个终端窗口,由于实际功效几乎完全相同,从这里起,本文档中不论是图形界面下开启的“终端”,还是控制台下登录后的终端,如没有特别说明,均以不带引号的“终端”指代。必要时则以“虚拟终端”和“控制台终端”区分。

    注意,在控制台终端下登录时,“login: ”处输入帐号,“password: ”处输入口令。同样为安全起见,输入的口令不显示。控制台终端注销用命令“logout”。

    在控制台终端启动的后台程序不会因为注销而终止。

                4.1.11        shell

    前面说过,控制台终端“算是Linux的本来面目”。也只能“算是”,因为各终端里运行的命令行程序并不是终端本身,更不是Linux本身。像X-Window一样,那个命令行程序实质上也是个外围程序,叫“shell”。

    “shell”,壳。从名字看,也许你已经猜到一些东西。不错,它包含了用户界面功能,负责接收使用者输入的东西,翻译后发送给Linux内核处理。如果有输出信息,它也会把输出信息显示出来。相对DOS而言,shell就相当于“command.com”。

    shell同样能进行由几个命令串成的“批处理”。与“command.com”不同,shell的功能要强大许多。一个功能稍强的shell脚本,已经具备高级语言的语法结构,因此编写shell脚本在很多情况下也被看作是编程。

    一般情况下,在控制台终端登录或在图形界面下开启“终端”,默认都会启动一个shell来接待使用者。

    可以在shell的命令行里启动另外一个shell。退出当前shell的通用命令是“exit”。如果当前使用的shell正是控制台登录后启动的,则“exit”等效于“logout”。

    shell中启动的后台程序不会因正常退出而终止。所谓非正常退出,指强行杀掉这个shell;在图形界面下用“打叉”方式关闭终端也算强行终止一个shell。

    shell有很多种,各有特色。目前使用比较广泛的是shell是“bash”,主要的Linux发行版均以其作为默认的shell。“bash”和其他主流shell都支持一次输入多个命令,支持启动后台程序。如果要依次执行多个命令,命令间用“;”隔开;如果要让这个程序在后台运行,在命令后面加“&”。

                4.1.12        运行级别

    如同其他的UNIX类系统,Linux也分运行级别,不同级别有不同的功能。切换到某个运行级别的命令为“init 某”。
    一般来说,Linux有7个运行级别:
    6.无论何时切换到这个级别,重新启动。
    5.最常用的,从登录到注销都在图形界面下操作。
    4.一般的发行版没定义这个级别。红旗Linux桌面4.0把它定义为“安全模式”,切换到这里会自动启动显示设置程序。
    3.除了需要在登录后手动启动图形界面外,与级别5相同。
    2.与级别3相比,网络部分不启动。但是红旗Linux桌面4.0似乎没遵循这个常规。
    1.单用户模式,真正的“安全模式”。只有一个控制台终端,供“root”帐号做某些特殊的系统维护。但是作为新手,如果你的系统坏到必须用这个,建议你重装。
    0.无论何时切换到这个级别,关机。

    文件“/etc/inittab”中“id:某:initdefault:”一行决定了系统启动后默认的运行级别。可以把“某”修改成你需要的级别。

                4.1.13        系统服务

    每个运行级别都有不同功能,主要是所运行的系统服务不同。查看某运行级别系统服务的一个方法是切换到该运行级别,在终端里运行“setup”,找“System services”一项。在终端直接执行“ntsysv”亦可。

    一般情况下,运行级别3和5中,“network”(网络)、“smb”(Window$网上邻居)和“smbupdate”是要开的。

                4.1.14        重新启动

    前面的许多地方都提到“重新启动后”怎么怎么样。其实,很多时候重新启动只是Window$的专利。Linux下往往只需要把对应的部分重新启动即可。

    UNIX类系统中许多东西并不与系统核心捆绑,比如X-Window,如果需要,随时可以重新启动。

    Linux下许多相关的东西已经被写进脚本,这些脚本主要位于“/etc/rc.d/init.d”,而且支持如此的命令格式:“脚本 start”、“脚本 restart”和“脚本 stop”,分别是启动、重起和停止。有的还支持“脚本 reload”,这是在此项功能不停止的前提下应用新的设置。

    以网络部分为例,如果修改了网络设置,比如改了IP、DNS或者设置了ADSL自动拨号,这个命令用来重起网络:“/etc/rc.d/init.d/network restart”。当然前提是系统服务里开了“network”。

                4.1.15        所有者、组、权限

    UNIX类系统都是公私分明的系统,什么资源谁能访问都一清二楚毫不含糊。仔细看看Linux的文件属性,它把机器上所有用户分成3类:文件所有者、与文件所有者同组的用户和其他用户,每类有分别有“可读”、“可写入”和“可执行”3个标签。对于目录而言,“可执行”就是可以访问。Linux下可执行文件不用后缀名来特别标记,只要文件的属性为该用户可执行,那么Linux就认为它可执行,不管它是二进制编码还是一个文本文件。至于执行效果,就看这个文件自己了。

                4.1.16        系统目录结构

    UNIX类系统是“把一切都安置到位”的系统,各类文件一般都有自己的归宿。Linux也不例外。介绍一下“/”里的目录和“/usr”里的主要目录。

    /:根目录,没什么好说。
    /bin:常用的系统级软件可执行文件一般都在这里。
    /boot:Linux引导时所需的文件一般在这里。有人专门为它创建一个分区。
    /dev:所有设备文件。UNIX类系统把所有设备都当作文件来读写,好处你可以问问专门编写驱动的人。
    /etc:主要配置文件和一些功能脚本所在,地位类似Window$的注册表。
    /home:所有非“root”用户的主目录都在这里。很多时候他都有自己的分区。
    /initrd:尚不了解。
    /lib:系统级软件的共享库,软件的主体部分放在这里,主要是动态链接文件。
    /lost+found:几乎每个被格式化过的Linux分区都会有,意外后找回的文件一般在这里面。
    /misc:尚不了解。
    /mycomputer:红旗Linux的“专利”。
    /mnt:里面的目录一般充当临时的文件系统挂载点。
    /mnt/floppy:软盘一般挂在这里。
    /mnt/cdrom:光盘一般挂在这里。
    /opt:杂七杂八的东西塞到这里。如果你确实这么做,也给它一个分区。
    /proc:内存。
    /root:“root”的主目录。
    /sbin:系统级软件可执行文件,多为比较猛的命令,非“root”用户很少用。
    /tftpboot:可能是远程引导用的。
    /tmp:系统存放套接字等临时文件的地方,缓冲的flash、图片也在这里。不算太重要,清空不会对操作系统造成影响,但是可能影响运行的程序。
    /usr:一般发行版中最大的目录,绝大多数随系统安装的软件都在这里。给它一个3G的分区没坏处。

    /usr/bin:一般软件的可执行文件主要放在这里。
    /usr/include:GCC主要的头文件放在这里。
    /usr/lib:一般软件的共享库,软件的主体部分放在这里,主要是动态链接文件。
    /usr/share:也是一个公用目录,墙纸、图标都在这里,帮助页一般也在这里。
    /usr/X11R6:XFree86第11版的第6个子版本。

    /var:主要是变化的东西,多为日志。如果日后这个目录变得很大,也给它一个分区。

        4.2        一些常见的小程序

                4.2.1        只在shell命令行里跑的

    “df”,查看已经挂装的文件系统空间的占用情况。“df -k”,以KB为单位显示;“df -m”,以MB为单位显示。

    “fdisk”,一个功能强大的分区工具,对分区的调整能精确到扇区级别,但是不好用。只记住“fdisk -l”即可,查看分区一目了然。

    “gzip”,一个高压缩比的压缩、解压工具,常与“tar”结合进行打包和备份工作。

    “ls”,对目录列表,“ls -l”能列出文件的详细状况。

    “man”,UNIX类系统的帮助手册,使用方法为“man 你想了解的命令”。

    “tar”,UNIX类系统中最常用的归档和反归档工具,原本是为磁带备份用的,把一个目录及其内部的文件拼合成一个文件。

    “vi”,终端里最常用的编辑器,不难用,但是与一般习惯不太相符。

                4.2.2        带图形界面的

    图形界面下启动程序的4种方法。“茴”字的4种写法?当然,谁也没强求,哪种方便你就用哪种:
    1.桌面上有图标的,比如“MP3播放器”,操作方法“地球银都知道”。
    2.桌面上没有的,比如前面讲的“rxvt”到菜单里去摸,也不难。它在菜单里的名字叫“终端”。
    3.在虚拟终端的命令行里输入程序文件名,回车。当然,这时虚拟终端就被占用了,无法再做别的事情。要避免这种情况,需要在程序文件名后面,回车前加“&”。
    4.用小命令行。“开始”->“运行命令”或者,“Alt”+“F2”,都可以启动小命令行。在小命令行里输入程序文件名,回车。

    “konqueror”,一个出色的浏览器,不论是上网冲浪,还是管理本机文件。用桌面上“我的电脑”即可启动。启动后,不论在哪个目录,用“Ctrl”+“T”即能在桌面上开启一个终端,并且终端自动进入该目录。

    “ksnapshot”,屏幕抓图软件,可以只抓某个窗口。在菜单里叫做“屏幕截图程序”。

    “kwrite”,比较强的文本编辑器,在编写程序或脚本时支持彩色显示。

    “rxvt”,红旗Linux桌面4.0最常用的虚拟终端。在菜单里叫做“终端”。
[/code:1]

回复贴到 http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=91508 。不要回复本贴。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-27 17:30 , Processed in 0.051507 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表