已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 Linux系统应用 计算机专业 网络方向 必修课程 2 1 1概述一 什么是Linux Linux和UNIX有密切的联系 UNIX能成为世界范围内最有影响的操作系统之一 是由于它有庞大的支持基础和发行系统 当初UNIX是作为小型机和大型机上的多任务操作系统而开发的 很快就发展成为广泛使用的操作系统 从个人计算机到超级计算机系统 都有各种UNIX版本 但这些版本都很昂贵 而且源代码是有专利的 所以很难在计算机爱好者中广泛使用 然而 UNIX又正是他们所想要的操作系统 于是 出现了一支由编程高手 业余计算机玩家 黑客们组成的 高手集团军 他们独立地开发出在功能上毫不逊色于UNIX操作系统的全新的 免费的Linux系统 Linux系统是由芬兰赫尔辛基大学的LinuxTorvalds先生于1991年开始开发的 Linux系统的开发得到了全世界的UNIX程序员和爱好者的帮助 他们借助Internet参与Linux系统的开发 Linux系统的核心部分是全新的代码 没有使用有专利的代码 如图所示的是Torvalds先生和Linux系统的吉祥物 3 Linux系统大部分的应用软件均来源于美国麻省Cambridge的GNU工程及自由软件基金会FSF FreeSoftwareFoundation 可以说 Linux系统以及软件库 是全世界的程序开发人员共同协作的智慧结晶 什么是Linux 简单地说 Linux是兼容绝大部分Unix标准 具有Unix风格的操作系统 其最大的特点和优势是遵循GNUGPL 是源代码开放的自由软件 秉承自由软件的原则 即源代码公开 自由修改 自由发布 并且任何人在此基础上重新发布必须仍然遵守上述原则 无数Linux专家 爱好者通过Internet在不断地完善并维护它 从这个意义上来说Linux是计算机爱好者自己的操作系统 4 什么是GNU简单地说 GNU是一种自由软件体系 1984年 自由软件的积极倡导者 自由软件基金会的董事长RichardM Stallman RMS 组织成立了一个完全基于自由软件的软件体系GNU 并拟定了一份通用公共版权协议GPL GNU的创始人Stal1man认为UNIX虽然不是最好的操作系统 但至少不会太差 而他自信有能力把UNIX不足的地方加以改进 使它成为一个优良的操作系统 这就是同UNIX兼容的 名为GNU的操作系统 开发这个系统的目的 就是为了让所有的计算机用户都可以自由地使用这个系统和免费获得其源代码 并且可以自由复制 当然GNU也拥有自己的版权申明 那就是用户获得GNU软件后 既可以自由使用和修改 也可以散布GNU软件 但是必须让下一个用户也有获得源代码的权利 规定是为了防止有些人或公司将GNU软件稍加修改就去申请版权 将其据为己有 其目的是要让GNU软件永远是自由和公开的 目前 GNU目前已经推出的软件主要有功能强大的集成编辑环境 Emacs 性能优异的多平台多语言编译器以及其他几十种软件 人们已经很熟悉的一些软件如BIND Pd Apache TCP IP等实际上都是自由软件的经典之作 现在又有了Netscape的加盟 5 二 Linux的内核版介绍 任何一个软件都有版本号 Linux也不例外 但Linux有许多版本 如rethat9 0 retflag5 0 Turbolinux Fedora等 让初次接触Linux的爱好者不太习惯 其实从Linux开发技术的角度看 Linux版本有两种 内核版本与发行版本 什么Linux内核一个完整的Linux操作系统由四个主要的子系统组成 即硬件控制器 Linux内核 操作系统服务 用户应用程序四个部分 如图3所示 每个子系统层只能与相邻层的子系统通信 较的高层依赖于较低的层 而较低的层则不依赖于较高的层 各部分功能如下表1 1 表1 1Linux内核各层功能 6 1 用户程应用序是直接提供用户使用的应用程序 如文字处理 浏览器 2 操作系统服务是用户与操作系统低层功能交互的接口程序 如Shell 编译器 程序库 3 Linux内核内核在整个操作系统中是最核心的部分 是用户及较高子系统与底层硬件的交互接口 将所有硬件抽象成统一的虚拟接口 使得上层子系统不必了解底层硬件的细节 实现对CPU 内存等设备 文件系统 输入输出设备等的控制和管理 4 硬件控制器直接完成对各种硬件设备的识别 驱动 Linux内核版本指的是在Linus领导下的开发小组开发出的系统内核的版本号 核心的开发和规范一直是由Linux社区控制着 版本也是唯一的 自1994年3月14日发布了第一个正式版本Linux1 0以来 每隔一段时间就有新的版本或其修订版公布 7 Linux内核版本采用双轨制 所以有两种 稳定版和开发版 稳定版的内核具有工业级的强度 可以广泛地应用和部署 新版的稳定内核相对于旧版的内核只是修正一些bug或加入一些新的驱动程序 而开发版内核由于要测试系统性能的各种解决方案 所以其性能是不稳定的 这两种版本是相互关联 相互循环的 开发版经过众多试用者的不断测试 开发者再修改错误最后上升为稳定版 Linux内核的命名格式 num1 num2 num3或num1 num2 num3 num4其中 第一个数字是主版本号 第二个数字是次版本号 第三个数字是修订版本号 第四个数字是补丁号 如果次版本号是偶数 那么该内核就是稳定版的 若是奇数 则是开发版的 前面两个数字的组合可以描述内核系列 如稳定版的2 6 x 它是2 6版内核系列 8 Linux的基础是其内核 kernel 但是光有内核还远不是一个完整可用的操作系统环境 是无法满足普通用户需求的 生产销售Linux的组织或厂家为了方便用户使用 将Linux系统内核与应用软件及文档集成在一起 提供安装界面 系统设定 管理工具等软件 就构成了一个发行套件 称为发行版 相对于内核版本 发行套件的版本号是随着发布者的不同而不同 与系统内核的版本号是相对独立的 是由分发者自行确定的 例如 RedHatLinux9 0其发行版本号是9 0 而内核版本号是2 4 20 因此把RedHat Turbolinux等直接说成是Linux是不确切的 它们是Linux的发行版本 更确切地说 应该叫做 以Linux为核心的操作系统软件包 三 Linux的发行版本 9 一个典型的Linux发行版包括 Linux内核 一些GNU程序库和工具 命令行shell 图形界面的XWindow系统和相应的桌面环境 如KDE或GNOME 并包含数千种从办公套件 编译器 文本编辑器到科学工具的应用软件 1 系统引导管理程序 BootManager 这是为了让BIOS从硬盘主引导记录 MasterBootRecord 简称MBR 中的程序 该程序由计算机的BIOS调入执行 完成启动工作 如果你要在一个已经安装了Windows或其它系统的机器上安装Linux 系统引导管理程序将让你选择启动哪个操作系统 系统引导管理程序是这类程序的统称 Linux系统常用的有LILO LInuxLoader Grub等 10 2 用户界面Linux内核的基本界面是象DOS一样的命令行界面 shell 为了使Linux更易用 Linux系统提供了图形界面 使之类似于Windows或MacOS 常用的有KDE KoolDesktopEnvironment GNOME GNUNetworkObjectModelEnvironment XWindow系统XWindow系统是一个支持图形用户界面的图形子系统 类似于Windows的GDI GraphicsDeviceInterface XWindow的核心是的Xserver是Xfree86 而用户界面实际上就它的客户端 Client 在系统安装时 用户可以选择是否安装XWindow系统 如果不装XWindow 那么就只能使用命令行界面 3 系统管理 安装 设置 检测软硬件的各种软件工具如显示器 显卡 声卡 网卡 调制解调器的检测设置工具 还有RPM RedHatPackageManager 这样的软件安装程序 4 Internet服务Linux本身支持TCP IP以及所有常见的Internet协议 在内核中 包括DNS HTTP SMTP FTP NNTP 以及PPP SLIP 多数Linux发行版带有 11 Apache 这是最流行的开放源码WebServer 通常Linux发行版也带有Web浏览器 e mail客户端软件 新闻阅读器 以及其它的Internet应用 5 文件和打印服务这些服务使系统是为了在网络上与其他计算机共享文件和打印机资源 常用的服务有 NFS NetworkFileSystem 支持与其他以Unix为基础的系统共享资源 Samba使Linux在网络中与Windows系统共享资源 6 应用程序Linux发行版通常都带有丰富的应用程序 如桌面办公系统OpenOffice 图像处理系统GIMP 各类音频 视频播放制作多媒体软件 游戏等 7 开发工具和库程序这些工具包括编程语言 编译器 调试器 开发管理工具以及库程序 libc 12 90年代初期Linux开始出现的时候 仅仅是以源代码形式出现 用户需要在其他操作系统下进行编译才能使用 后来出现了安装方便的发行版本 在x86结构上的Linux系统发行版本有许多种 国外的如RedHat Slackware Debian TurboLinux等 国内的如红旗 Xteam bluepointLinux等等 它们都是以Linux内核为核心加上若干系统应用程序构成的操作系统 四 常见的Linux操作系统 13 RedFlag 红旗Linux是北京中科红旗软件技术有限公司的产品 目前的最高发行版本为5 0 内核版本为2 6 9 其产品有Linux高端服务器操作系统 集群解决方案 桌面版操作系统 嵌入式系统等 XteamLinux是Xteam 中国 软件技术有限公司的产品 发行版本号是4 0 内核版本号为2 4 6 到目前为止没有更新的版本 现在产品有XteamLinux中文操作系统开发 基于XteamLinux的应用软件的开发 基于XteamServer的系统解决方案Bluepoint 蓝点Linux是蓝点软件技术 深圳 有限公司的产品 发行版本号是2 0 内核版本号为2 2 16 到目前为止没有更新的版本 据称已终结Linux桌面版 现在产品有防病毒及邮件过滤 防火墙及嵌入式系统等 14 Slackware是最早的Linux正式版本之一 它遵循BSD的风格 尤其是在系统启动脚本方面 目前的最高发行版本是Slackware11 0 内核版本号为2 6 17 Debian占有的市场份额仅次于RedHat 位居第二 它之所以不为国内用户所熟知 是因为Debian不是一个商业实体 而是一个由自愿者组成的非商业组织 它由许多志愿者维护 是真正的非商业化Linux 目前发行版本是3 1 内核版本号为2 6 x TurboLinux公司是以推出高性能服务器而著称的Linux厂商 在美国有很大的影响 它是亚洲占市场最大的商业版本 在中国 中文品牌为 拓林思 日本和韩国都取得了巨大的成功 现在较流行的发行版本是TurboLinux6 0 它是基于Linux2 2内核 15 RedHatLinux是Linux最早的商业版本之一 它在美国和其他英语国家市场上获得了较大的成功 最高发行版本是RedHatLinux9 0 它是基于Linux2 4 20内核 RedHatLinux9 0是最后一个RedHatLinux稳定版 以后RedHat公司就不再开发和发布桌面版Linux 而是将桌面Linux项目和开源社区合作 改名叫FedoraProject 新发行的桌面Linux也改名为Fedora RedHat公司就专门做企业版的RedHatEnterpriseLinux 最新的桌面版是FedoraCore7 最新的企业版是RedHatEnterpriseLinux4 RedHatEnterpriseLinux分为三个版本AS ES WS 16 LinuxAS AdvancedServer 是专为企业关键业务提供服务的Linux解决方案 它内置HA Cluster功能 适合运行数据库 中间件 ERP CRM和集群 负载均衡系统等关键业务 支持各种平台的服务器 提供了最全面的支持服务 能够支持16个处理器 64GB存储器的大型伺服器架构 LinuxES EntryServer 是针对广泛的网络应用 为WEB服务器 邮件服务器 VPN服务器 FTP服务器和DNS服务器等网络提供服务 适合从网络边缘到中型部门的应用环境 ES版本只限于支持Intelx86的两个处理器和8GB的存储器 LinuxWS Workstation 是RedHat企业级LinuxAS版本和ES版本的桌面 客户端伙伴 它提供了一个理想的开发平台 支持众多的开发工具 能让用户高效快捷地开发自己的应用程序 17 五 Unix与Linux的关系与区别 其它操作系统见教材 Linux的目标是从头开始开发一个完整的Unix系统 两者都是稳定的 Unix是商业版本 Linux是免费和开放的软件 Linux支持的硬件范围和商业Unix不一样 一般商业Unix支持的硬件多一些 而Linux较少 因为它是free的 18 六 Linux的特性 其它特性见教材 Linux系统在短短的几年之内得到了迅猛的发展 并越来越受到人们的重视 这与Linux系统具有的良好特性是分不开的 Linux系统包含了UNIX的全部功能和特性 19 1 自由开放的Linux源代码Linux的自由开放同时体现在硬件和软件两个方面 从硬件的角度来说 Linux是目前运行硬件平台最多的操作系统 它可以运行在Intelx86系列 SunSparc DigitalAlpha 680 x0 PowerPC MIPS等平台上 从软件的角度来说 Linux上的大部分程序是自由软件 这些软件是在自由软件基金会的GNU计划下开发的 尽管如此 来自世界各地的商业公司 程序员 甚至黑客也加入了Linux软件开发的行列 Linux从操作系统核心到大多数应用程序 都可以从互联网上自由下载 不存在使用盗版软件的问题 2 强大的图形操作界面Linux系统有着功能强大的图形操作界面 其外观和操作与MicrosoftWindows系列非常类似 熟悉Windows操作的用户可以很快掌握其操作方法 但从技术上来看 Linux操作系统的图形界面与MicrosoftWindows系列有着本质的不同 它是从Unix平台上XWindow发展而来 如XFree86 这一技术的特点是图形系统分为服务器和客户端两 20 部分 服务器运行在后台 对普通用户是不可见的 它可以同时为多个不同的图形客户端提供服务 可以支持不同风格的用户图形界面 比如在Linux系统中就可以支持KDE Gnome FVMW等不同的图形用户界面 可以在几种不同风格的图形界面之间来回切换 用户可以根据自己的喜好和应用软件的要求选择合适的操作界面 服务器 客户端结构的图形系统还可以更好地支持网络或终端用户以自己的图形界面登录到主机上 这一特点更适合于不同操作系统间的网络远程服务 充分体现了Linux系统的开放性 这些特点是MicrosoftWindows操作系统所不具备的 Windows的图形界面 即它的窗口 桌面等界面 是与内核紧密结合在一起的 用户无法按自己意愿更改用其他开发商的图形界面系统 3 强大的网络功能Linux诞生于网络 发展于网络 具有强大的网络功能也是非常自然的 Linux可以轻松支持TCP IP协议 能与Windows Unix Novell MacOS等不同操作系统集成在同一网络中相互共享资源 还可以通过Modem ADSL ISDN或各种专线直接连接到Internet上 Linux不仅能够作为网络工作站使用 作为各类网络服务器更是得心应手 功能强大而且稳定性高 主要应用有 文件服务器 打印服务器 数据库服务器 Web服务器 邮件服务器 FTP服务器 新闻服务器 代理服务器 路由服务 集群服务 网关 安全认证服务 VPN等等 21 4 真正的多用户多任务操作系统Linux不仅具有功能强大的图形界面 也有着类似于DOS的命令行操作界面 但与DOS又有着本质的不同 DOS只是一个单用户单任务操作系统 简单地说运行在一台电脑上DOS操作系统同一时刻只允许一个用户运行一个程序 而Linux系统则允许多个不同用户 根据用户名区分 在本地或远程同时登录到系统上 分别运行不同的程序 当然也允许一个用户同时运行多个不同的程序 可以方便地在不同用户或不同程序之间切换 Microsoft公司的操作系统是在WindowsNT及以后的版本才实现多用户多任务 5 支持多种硬件平台的操作系统从普通的PC机到高端的超级并行计算机系统 都可以运行Linux系统 Linux符合IEEEPOSIX标准 特别注重可移植性 使Unix下的许多应用程序可以很容易地移植到Linux平台上 相反也是这样 6 设备独立性将每个设备都看作一个独立的文件 当增加新设备时 只需在内核中加入必要的连接就可以了 这种连接就是设备驱动程序 文件 系统中除了CPU和内存 其它所有的都归结为一个文件 包括命令 硬件和软件设备 操作系统等 进程只与文件系统发生关系 例如 ls ls file1 ls dev tty1 ls grepaa dev null 22 示例 添加光驱 CDROM 设备 CDROM是一种设备 Linux系统中一般在使用时要 挂接 当然 也可以修改配置文件 在系统启动时自动挂接该设备 在Linux系统的 dev目录下有许多设备文件 如hd IDE硬盘驱动程序接口 fd 软驱设备驱动程序 sda USB设备驱动程序等 参见教材 当要使用CDROM时 用mount命令 挂接 即可 如 mount dev cdrom mnt其中 mnt目录是设备 挂接 到的目录 cdrom是光驱的设备文件 注意 Linux Unix 中路径分隔符是 而不是 23 七 为什么要学习Linux 1 自由 Linux软件是免费 开放的 所有的源代码都是公开的 当然 你用Linux开发的操作系统软件也不能收费 但基于Linux平台的应用软件除外 如MiniGUI软件 因此 在嵌入式系统中得到广泛的应用 2 效能 系统稳定性好 硬件效能高 承担多种服务器 3 安全 由于是开放的源代码 所以不存在未知的 后门 24 1 2Linux安装 Redhat9 0 一 安装前的准备1 目前高版本的Linux已能识别绝大多数的硬件 且基本无需用户指定 2 Linux有多种安装模式 软盘 光盘 网络等 但最常用与最方便的是光盘安装 3 如果PC机上是多操作系统共存 则建议先安装其他操作系统 最后安装Linux 4 Linux安装软件中自带有磁盘分区程序如 FDISK FIPS等 但是对于Linux初学者来说使用可能会有风险 破坏其他系统分区 因此 强烈建议在单任务系统下先建立好Linux所需得分区 25 安装前的准备 续 5 较为安全的方法是安装前用Pqmagic软件 具体用法请自学 先分区 Pqmagic使用方便 安全性高 目前既有英文版也有中文版 6 Linux系统的安装至少需要2个分区 而且必须是主分区 在多系统共存下 总共只有4个主分区 这是最常用的分区方法 1 划分分区的类型 在Pqmagic中划分第一个分区为ext2 或ext3 类型 Linux的文件类型 以存放Linux所有文件 划分第二个分区为swap类型 交换分区 以便安装及运行中作为交换空间 26 安装前的准备 续 2 划分分区的大小 ext2分区的大小可以根据安装级别 有个人桌面 工作站 服务器和自定义级别 来定 一般RedHat9 0全部安装 嵌入式开发建议全部安装 以便内核裁减 需要4 8GB的空间 建议设为大于5GB为好 swap分区的大小可以根据内存的大小来定 一般可设为内存 RAM 大小的两倍但小于512MB 太大了会浪费磁盘空间 太小会使安装及运行速度便慢 27 安装前的准备 续 Pqmagic示例图 28 二 开始安装光盘启动后出现安装界面 如果图形安装直接回车 下面以图形界面为例 文本安装键入linuxtext回车 如下图所示 29 安装开始前会进行光盘介质检查 如下图所示 如果你的光盘没有什么问题 则选择跳过 skip 以节省安装时间 30 接着进入图形安装的欢迎界面 点击next进行下一步 31 选择系统所用的语言 如图选择简体中文 点击next进行下一步 32 选择美式英文键盘 缺省 点击下一步 33 根据自己的鼠标类型作出选择 点击下一步 34 选择安装类型 级别 如果全部安装则选择定制 点击下一步 35 注意 前面我们已用Pqmagic预先分好分区 所以千万不要选择自动分区 否则可能导机器上其他操作系统的破坏 36 注意 在Linux下不再有 C D 等驱符的概念 硬盘设备用hd表示 第一个硬盘为hda 第一个硬盘的第一个分区为hda1 下一个分区依次类推 第二个硬盘为hdb 更多的硬盘也依次类推 但下图为虚拟机中的截图 故选中sda2 即hda2 分区 并点击 编辑 按钮 37 思考题 在一个硬盘只装Linux系统情况下 ext2分区与swap分区划分谁在前 对安装有没有影响 为什么 有影响 第一 设置Linux的启动也需要向主引导记录写入信息 GRUB或LILO 当swap分区在前时它占用了主引导记录 第二 ext2分区包含Linux系统的所有文件 而有些软件的运行需要主引导记录 所以在单系统情况下 用Pqmagic划分分区时一定要ext2分区在前 swap分区在后 如果是多系统 由于其它系统先装 所以不存在该问题 如前Pqmagic示例图一 38 进入编辑分区界面后 第一要选择挂载点 一般Linux系统就挂在根目录下 所以在输入框键入 不要用 第二最好选择分区格式化 第三如果你的硬盘较差最好选择检查磁盘坏块 当然会多花时间 否则可不选 最后点击确定钮 39 如果选择格式化 则系统会给出警告信息 点击格式化钮继续 40 如果选择定制安装 则系统会要求用户选择软件包 全装就选中全部 41 如果机器上安装多个操作系统 则在此可以选择启动默认的操作系统 只要在多选框点击选中即可 如果对名称 标签 要修改 则点击编辑钮 即可修改 最后点击确定钮继续安装 42 初学时网络设置可以设为DHCP 不选手工设置 点击下一步 43 如果系统还要其它语言支持 则在列表框中选择 如选某地区的英语 多语言支持可使你的系统在启动界面时选择用不同的语言 44 选择系统时间的时区 中文语言缺省为上海 和超级用户 Root 的口令 口令一般要求在6个字符以上 所用字符原则与其它操作系统相同 45 以下是一些开始安装前的屏幕界面 46 安装进行中 47 安装后期的一些设置 用户帐号 日期和时间 显卡 声卡 网络注册等 48 安装后期的一些设置 用户帐号 日期和时间 显卡 声卡 网络注册等 49 安装后期的一些设置 用户帐号 日期和时间 显卡 声卡 网络注册等 50 安装后期的一些设置 用户帐号 日期和时间 显卡 声卡 网络注册等 51 安装后系统启动中 52 Linux系统图形登陆界面 53 系统 开始 菜单 在图形用户界面下Linux的使用很方便 状态栏上的红帽子就相当于Windows下的 开始 至此安装已大功告成 可以继续学习Linux了 54 1 3Linux用户接口 选讲 操作系统是用户与计算机硬件之间的接口 为了方便用户使用 也为了计算机系统的安全 要求用户通过这类接口来控制和使用计算机 组织用户的作业流程 Linux作为现代主流操作系统之一 提供给用户使用的接口有三类 命令接口 图形接口和程序接口 55 1 3 1命令接口用户通过终端键盘输入操作系统的命令 命令组合或shell脚本程序 名 来控制用户作业的运行 系统可以通过终端显示器告诉用户作业运行的结果 使用命令接口时用户可以采用联机方式或脱机 批处理 方式 因此该接口又可分为联机用户接口和脱机用户接口 进入Linux的控制台终端 登录计算机系统后即可看到光标命令提示符 通常超级用户为 字符 普通用户为 字符 也可以根据自己的喜好修改为其他字符 这表明Linux操作系统已经接管并控制了计算机 正在命令接口等待用户输入 56 1 3 1 1联机用户接口联机用户接口由一系列的键盘操作命令和命令解释程序 shell 组成 Linux的命令解释程序对用户从键盘输入的命令或命令组合进行解释并执行 命令或命令组合执行完成后系统控制又返回终端键盘继续等待用户的输入 用户与计算机之间以联机交互的方式实现对用户作业的控制 直至作业完成 直接运行命令或命令组合的最大好处是快捷 因此 这种形式深受系统管理员的偏爱 Linux的系统内核和系统应用程序为用户提供了大量的 各种功能的命令 其命令所能处理的事务范围非常广泛 一般可以把Linux的命令分为12类 57 1 系统设置命令 例如alias clock date depmod passwd等 2 系统维护命令 例如login top su uname who等 3 用户管理命令 例如adduser userdel usermod userconf等 4 文件管理命令 例如cp find less mv rm等 5 进程管理命令 例如at fg kill ps sleep等 6 磁盘管理命令 例如cd du ls mkdir tree等 7 磁盘维护命令 例如dd fdisk mkbootdisk mformat等 58 8 备份压缩命令 例如compress gunzip tar uncompress unzip等 9 文档操作命令 例如csplit grep join vi wc等 10 打印管理命令 例如cat lpc lpq tac等 11 网络管理命令 例如ifconfig netconfig ping netstat等 12 网络操作命令 例如cu ftp mail rcp telnet等 13 程序开发命令 例如as gcc ld link make等 14 XWindow管理命令 例如startx XF86Setup等 59 Linux的命令基本格式 命令名命令选项或参数命令名可能是单词如find 单词缩写如cp或单词缩写的组合如mkdir 绝大多数命令名中的字母全为小写字母 如cd cp ls mount ps等 只有极少数命令中的字母包含大写字母 如XF86Setup等 命令选项或参数可能是一个 也可能有多个 参数列表 有的命令也可以没有命令参数 命令名与第一个命令选项或参数之间以及各个命令参数之间均用空格字符分隔 命令选项或参数通常以横杠字符 开始 如ls a l 但一般简写为ls al即可 60 学习Linux操作系统最好的方法就是多使用 边用边学 学以致用 不但使用图形方式 而且还要熟悉命令方式 这也是对系统管理员最基本的要求 由于Linux的命令与其他非类UNIX操作系统的命令差别比较大 而多数读者对MS DOS或WINDOWS的命令比较熟悉 所以这里对Linux与这些操作系统下的常用命令作一个简单的说明 61 表1 1常用命令比较 62 Linux的命令接口功能强大 命令繁多 本书将在后续章节中逐一介绍常用的基本命令 读者也可以通过在线帮助命令 如man命令名边用边学 当用户在系统光标命令提示符下输入命令或命令组合并回车执行后 在多数情况下Linux操作系统都将命令执行的结果显示在终端屏幕上 但是 有些命令执行后没有任何反馈消息显示 是因为Linux秉承了Unix操作系统的特性 即没有任何消息就是好消息 这是与MS DOS Windows操作系统的很大差别 例如 执行下面的文件更名命令 mvt1 txt mnt t2 txt若文件更名成功 Linux在终端显示器上将不显示任何信息 只有在更名失败的情况下 Linux才显示出错的原因 这一点可能使Linux的初学者在使用联机命令接口时会感觉到不习惯 63 有时解决比较复杂的问题用单一的命令无法实现 而为此编程又比较麻烦 这时可以采用快捷的Linux命令组合方式 Linux操作系统提供了若干个构件原语 利用它们可以进行命令的组合 输入 输出重定向命令就是用户可见的一个构件原语 Linux的输入 输出重定向命令包括 输入重定向 用表示 把要输出的信息送到文件或其他非标准的输出设备 它是一种覆盖式的重定向 输出附加重定向 用 表示 也是把要输出的信息送到文件或其他非标准的输出设备 但它是一种添加式的重定向 即只是在文件尾或上次输出之后添加新的信息 64 管道命令是Linux操作系统的另一个构件原语 它的作用是将前一个命令执行的输出作为后一个命令的输入 用字符 表示 例如 greproot etc passwd wc l该命令组合将统计出在etc目录下passwd文件中包含单词root的行数 其执行过程是首先由grep命令执行并输出passwd文件中包含root单词的行 然后 Linux操作系统把该输出作为wc命令的输入 由wc命令执行 统计出这个文件中包含root单词的行数 Linux操作系统中构件原语的使用既拓展了命令的功能和使用的灵活性 又极大地提高了系统的效率 把命令组合 可以通过构件原语或shell编程 使用 在实际的系统管理中可以快速 方便地解决许多复杂的实际问题 65 1 3 1 2脱机用户接口脱机用户接口由shell脚本程序和命令解释程序 shell 组成 Linux的命令解释程序对用户从键盘输入的脚本程序名进行解释并根据脚本程序中所编写的shell命令要求去执行 脚本程序执行完成后系统控制又返回终端键盘继续等待用户的输入 在脚本程序执行期间 如果没有要求用户输入的选项 一般情况下用户除了可以用控制台中断 Ctrl Break 外 无法干预计算机的执行 用户与计算机之间以脱机批处理的方式实现对用户作业的控制 直至作业完成 shell既是一个命令解释程序 又是一种程序设计语言 当它作为命令解释程序使用时 能处理用户在光标命令提示符后输入的命令 它具有控制流原语 参数传递 字符串替换等特征 当它作为程序设计语言时 可以接受命令返回码 可以修改命令的运行环境 还可以使用类似高级语言中的流程控制语句和函数 如ifthenelse case while until for等 因此通过shell编程也可以实现命令的组合使用 66 有关shell编程的详细内容将在第八章中介绍 这里仅仅举出个别示例来说明脱机用户接口的原理 例如 作为系统管理员可能需要成批地添加用户 如果使用adduser命令 则每添加一个用户都要执行一次该命令 如果使用shell脚本程序 则可以实现自动 快速地添加成批用户的要求 示例程序如下 stunum 1echo Inputclassnumber readclassnumwhiletest stunum le50doecho Creatinguseraccount useraddjb03c classnums stunumstunum expr stunum 1 done 67 1 3 2图形接口命令接口最大的优点就是命令执行快捷 对系统硬件要求低 系统资源损耗低 但是对用户的命令熟练程度要求高 Linux操作系统的命令很多 命令的各种选项和参数也很多 一般用户 非计算机或相关专业 要掌握它确实不容易 如果Linux只有命令接口 恐怕也只有养在深闺了 现代操作系统 尤其是微型机操作系统 可以说如果没有图形接口也就没有未来 操作系统中使用了图形接口后 大大拉近了计算机与用户之间的距离 用户不会再面对着黑乎乎的终端屏幕和闪烁的光标一头雾水了 五颜六色的桌面 精美的图标 适时出现的对话框 简单明了的菜单和方便的鼠标操作把用户带入一个崭新的世界 68 1 3 2 1X Window系统X Window系统是Linux操作系统图形接口的基础 X Window的体系结构包括客户 服务器模型和X协议两个部分 当前的X Window系统的版本是X11R6 第11版 第六次发布 Linux系统上使用的XFree86就是基于X11R6版本 1984年美国麻省理工学院 MIT 开始开发X Window系统 并应用于UNIX操作系统中 X Window系统是一个图形显示 服务和管理的软件 它可以运行在许多种计算机系统之上 它包含了光栅图形技术 用户界面技术 操作系统技术和计算机网络技术 可以为用户提供交互式图形界面 完善的管理功能和高效的程序开发环境 X Window系统是Unix和所有类Unix 包括Linux 操作系统的标准图形接口 69 X Window系统支持实现不同风格的用户界面 如各种类型的窗口 菜单 按钮 列表框 图标 滚动条 选项钮 输入框等 以满足不同用户的需要 具有网络透明性 允许一台计算机上的应用软件通过网络在另外一台计算机上建立窗口 显示各种图形和文本信息 具有良好的可移植性 由于X Window系统本身独立于显示设备和输入设备 这使得基于X Window系统的应用软件也具有这样的特性 它提供多种窗口管理器 如mwm twm等 窗口管理器的功能是对窗口进行宏观管理 包括窗口的布局样式 标题类型 边框形式 大小变化等等 70 1 3 2 2窗口管理器窗口管理器是X Window系统中特殊的客户程序 它的功能是负责调整窗口属性 如窗口标题的颜色 窗口的前景 背景色 窗口的位置和大小等 窗口间的相对层次 将窗口缩成图标 刷新窗口内容 关闭窗口以及退出窗口系统等 Linux支持多种窗口管理器 如kdm sawfish twm等 使用窗口管理器时X Window系统中的服务程序并不直接与X Window系统中的客户程序通信 而是通过窗口管理器来中转 我们可以通过一个例子来了解窗口管理器的作用 71 如果你的Linux系统是以图形界面启动 则单击 开始 图标为红帽子 选 系统工具 菜单栏下的 终端 打开并输入init3 你将看到Linux的字符界面 如果没有进入字符界面 则按下Ctrl Alt F1后 再按Ctrl c即可 这时如果用命令startx进入图形界面 则与正常开机时进入的图形界面一样 在终端中输入xclock 会打开一个模拟式时钟窗口 这个窗口可以移动 有最大 最小化和关闭按钮 如果用命令xinit进入图形界面 也会看到一个终端 但是这个终端不能移动 最大和最小化 在该终端中输入xclock 打开的模拟式时钟窗口也不能移动 也没有最大 最小化和关闭按钮 若要关闭可按Ctrl c 这是因为用startx起动图形界面时 同时也启动了一个窗口管理器 而用xinit起动图形界面的时候却没有启动窗口管理器 需要注意的是 在一个窗口系统中 只能有一个活动的窗口管理器 如果要更换窗口管理器时 必须先退出正在运行的窗口管理器 72 1 3 2 3桌面系统有了X Window系统实际上已经可以使用图形接口了 那么为什么还需要桌面系统呢 我们再看一个例子 以体会设置桌面系统的必要性 启动Linux操作系统 进入或转为字符界面 方法同上个例子 输入命令xinit启动X Window系统 注意 没有窗口管理器 后 在不可移动的终端中再输入mwm命令 启动mwm窗口管理器 你将看到终端窗口上有了最大化 最小化等管理按钮 窗口已经可以移动了 试着更换其他的窗口管理器 在用另一种窗口管理器之前一定要先退出当前正在使用的窗口管理器 按Alt F4即可关闭图形终端窗口 返回字符界面 如果无法关闭可以先用ps命令查看窗口管理器进程的进程号 然后直接用kill命令杀死 如kill 9进程号 可以试试twm sawfish kdm等其他窗口管理器 73 通过这个例子我们可以看到 不同的窗口管理器有不同的风格 有了窗口管理器对使用者来说还远远不够方便 桌面系统是一系列系统应用程序的集合 它不但可以启动某种窗口管理器而且还有任务栏 开始菜单 桌面图标 编辑器 绘图程序和浏览器等等 采用桌面系统的目的是提供统一 方便的操作方式来满足普通用户的需要 KDE和GNOME是LINUX里最常用的桌面系统操作环境 在RedHatLinux9 0中默认的桌面系统是如图1 24所示的GNOME桌面 74 图1 24GNOME桌面 75 1 3 3程序接口程序接口是操作系统为编程者提供的接口 一般以系统调用的形式存在 为了操作系统的安全 一般不允许用户直接使用计算机系统中的资源 如内存的分配 设备的启动等等 如果用户确实需要涉及到这类系统资源的分配 使用和回收操作就必须通过操作系统的系统调用来实现 因此 系统调用是沟通应用程序与操作系统内核之间的桥梁 系统调用就是一段程序代码 其用法与普通函数调用很相似 但存在本质上的不同 它们之间的主要区别是 系统调用由操作系统内核提供 普通函数由函数库提供或用户自己编写 系统调用运行于系统态 普通函数运行于用户态 系统调用一般是原语 即执行期间不可中断 换句话说 要么不做 要么全做 而普通函数在执行期间是可以被中断的 76 Linux操作系统内核 版本号为2 4 17 提供了上千种的系统调用 而且随着内核的不断升级系统调用还会增加 编程用户可以在Linux内核源代码中找到所有系统调用的声明 更为方便地可以通过联机帮助命令 man2syscalls 77 图1 27查看系统调用 78 来查看 对于大多数Linux平台常用的系统调用资料 如图1 27所示 也可以对某个具体的系统调用来查看 例如 查看read系统调用时 输入 man2read则打开Linux编程者手册 显示read系统调用的信息 但要注意的是如果省略参数2 只是输入 manread则系统给出的是命令read的使用方法 79 1 3 3 1系统调用的格式Linux系统调用大部分为C语言代码 只有小部分为汇编代码 系统调用的格式与普通函数调用的格式很类似 一般格式为 返回值系统调用名 参数1 参数2 参数n 除特别说明外 一般系统调用成功时返回值为0 如果系统调用的返回值为 1 则表示调用发生了错误 可以调用函数perror 显示错误原因 编程者在程序中使用系统调用时 一定要检查系统调用是否成功 并根据不同的错误号作出相应的处理 80 1 3 3 2系统调用的分类参见教材1 3 3 3系统调用的示例编程者可以根据自己的需要 用相应的系统调用实现特定的功能 由于系统调用的具体应用超出了本书讨论的范围 所以这里仅仅举一个例子来说明Linux操作系统的程序接口 示例程序名为myfork c 在这个例子中使用fork系统调用创建子进程 子进程与父进程并发执行 子进程输出字符串 AA 父进程输出字符串 BBB 由于进程并发执行的缘故 所以各次执行结果的输出顺序有可能是不同的 程序编译 gcc omyforkmyfork c程序执行 myfork 81 include include includemain inti pid tpid for i 0 i0 fork调用向父进程返回子进程号 大于0 printf BBB n else printf Can tfork n fork调用返回 1 表示调用出错 exit 1 exit 0 82 知识要点 图2 5所示的桌面环境就是Linux的X窗口 它与微软的Windows系统窗口一样 都是为用户提供简单易用的工作环境 但两者的工作原理却不相同 2 1 1X窗口与Windows系统窗口Windows系统窗口与X窗口相比 有一个很显著的不同 那就是Windows系统是一个完整的操作系统 从内核到窗口界面都捆绑在一起 X窗口系统的配置相当灵活 为用户和应用软件的开发提供了自由发挥的空间 X窗口仅仅是Linux系统中的窗口环境 其核心却是服务器 客户机模式 如图2 7所示 在实际应用中 X窗口并不局限于一个处理器的环境中 应用程序可以在网络上的不同服务器或主机上运行 而显示内容则可以在网络中的其它X窗口终端上 这种机制使得应用程序能够运行在功能强大的中央服务器上 而客户机仅仅负责为用户显示程序界面 使资源得到充分的利用 83 从图2 7中可以看出 客户端可根据需要 把程序放在不同等级的计算机上执行 然后在客户端主机的显示器上显示 X窗口与微软Windows系统窗口另一个不同之处 就是X窗口的窗口管理器和用户界面的分离 X窗口需要X服务器和窗口管理程序协调工作才能提供完整的图形用户界面 其中X服务器的作用是建立图形显示 显示窗口和跟踪
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江西电力职业技术学院高职单招笔试数学历年参考题库含答案解析
- 2026年江西应用工程职业学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年江西信息应用职业技术学院高职单招笔试职业技能测验历年参考题库含答案解析
- 药师药事管理与法规题库及参考答案
- 融资融券考试题库带答案
- 行政测试水电题库及参考答案
- 装饰材料员考试石材幕墙材料模拟试题库带答案
- 证券从业资格考试综合题库及答案
- 质量月知识竞赛题库带答案
- 软考网络安全工程师题库及答案
- 航测内业课件
- 护理工作中24小时出入量的精准记录与管理
- 专题03 阅读填空20篇(中考真题+各区名校模拟)2023年广州中考英语冲刺专项训练(解析版)
- 《-电力系统分析(上)》试卷
- 2024秋期国家开放大学专科《液压与气压传动》一平台在线形考(形考任务+实验报告)试题及答案
- 19R505-19G540室外管道钢结构架空综合管廊敷设
- 小学生军事知识课件
- (高清版)TDT 1057-2020 国土调查数据库标准
- 医疗实习生实习合同书
- 曼娜回忆录的小说全文
- 设计院经营管理制度
评论
0/150
提交评论