基本信息·出版社:电子工业出版社 ·页码:560 页 ·出版日期:2010年01月 ·ISBN:7121098989/9787121098987 ·条形码:9787121098987 ·版本:第1版 · ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
 |
Linux服务器搭建实战详解 |
 |
|
 |
Linux服务器搭建实战详解 |
 |

基本信息·出版社:电子工业出版社
·页码:560 页
·出版日期:2010年01月
·ISBN:7121098989/9787121098987
·条形码:9787121098987
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:Linux实战详解
内容简介 《Linux服务器搭建实战详解》首先对Linux操作系统进行了相关概述,并讲解了安装Red Hat Enterprise Linux 5的相关知识及Red Hat Enterprise Linux 5中的GNOME和KDE两种桌面管理器。然后介绍了在Linux操作系统中各种常用服务的配置管理方法及其相关应用,包括FTP服务、电子邮件服务、Web服务、DHCP服务、DNS服务、代理服务、Samba服务、NFS服务、LDAP目录服务、SSH服务及MySQL数据库服务等。同时《Linux服务器搭建实战详解》还加入了常用的网络管理知识和基础的系统管理知识,包括Linux操作系统的网络连通性测试、网络管理、软件基础管理、软件包高级管理、用户和进程管理、Linux文件系统及磁盘管理,以及Linux操作系统安全管理。
《Linux服务器搭建实战详解》适合从事网络管理、网络维护工作的工程技术人员作为操作手册使用,也可作相关院校计算机及相关专业学习的教材。
编辑推荐 《Linux服务器搭建实战详解》系统阐述了各种常用服务的配置方法、管理技巧以及相关应用。全书共21章,分为三大体系:Linux操作系统中各种常用服务器的配置与管理,常用的网络管理和系统管理,以及系统安全。此外,各章节还结合了实例,使读者能够边学边练,增强理解。从而将Linux服务器搭建实战中的难点各个击破,成为网管高手。
FTP、E-mail、Web、DHCP、DNS、Squid、NFS、LDAP、SSH及MySQL等服务的搭建。
用Webmin置服务的方法,Shell命令的应用,Debian系统及APT、YUM软件包管理工具的使用。
静态IP地址管理、动态IP地址分配及网络地址表管理等网络管理工具的使用
用户管理、进程管理、文件系统管理、磁盘管理的操作及GNOME、KDE桌面管理器的应用方法。
目录 第1章 Linux系统概述 1
1.1 Linux的发展 1
1.2 Linux常见版本 2
1.2.1 Red Hat Linux 2
1.2.2 Debian Linux 2
1.2.3 Ubuntu Linux 3
1.3 Linux操作系统 3
1.3.1 Linux操作系统结构 3
1.3.2 Linux操作系统特点 5
1.3.3 Linux操作系统的应用领域 6
1.3.4 Red Hat Enterprise Linux 5 7
1.4 Red Hat Enterprise Linux 5的两个版本 8
1.5 安装和管理Red Hat Enterprise Linux 8
1.5.1 安装前的准备 8
1.5.2 与其他操作系统并存的问题 10
1.5.3 Red Hat Enterprise Linux的安装阶段 11
1.6 Linux操作系统的引导与登录 19
1.6.1 多系统引导管理器——GRUB及LILO 19
1.6.2 Linux的启动过程 20
1.6.3 Linux的关闭与重新引导 20
1.6.4 Linux系统的登录和退出 20
1.7 GNOME和KDE桌面管理器 22
1.7.1 GNOME桌面环境 23
1.7.2 KDE桌面环境 31
1.7.3 定制自己的桌面 42
第2章 FTP服务器 45
2.1 FTP服务简介 45
2.1.1 FTP工作原理 45
2.1.2 匿名用户访问的产生 46
2.1.3 FTP服务的连接模式 46
2.1.4 几种流行的FTP服务器软件 48
2.2 安装vsFTPd服务 49
2.2.1 安装vsFTPd软件 49
2.2.2 FTP服务的启动与关闭 50
2.3 vsFTPd的相关配置 52
2.3.1 配置匿名用户登录环境 53
2.3.2 监听地址与控制端口 53
2.3.3 FTP模式与数据端口 54
2.3.4 ASCII模式 55
2.3.5 超时选项 55
2.3.6 负载控制 55
2.3.7 用户设置 56
2.3.8 用户登录控制 57
2.3.9 目录访问控制 57
2.3.10 文件操作控制 58
2.3.11 新增文件权限设置 58
2.3.12 日志设置 58
2.4 安装与配置PureFTPD服务器的 59
2.4.1 安装Apache服务 59
2.4.2 安装MySQL数据库 61
2.4.3 安装PureFTPD 62
2.4.4 生成PureFTPD服务管理脚本 64
2.4.5 配置匿名用户登录环境 64
2.4.6 安装Zend Optimizer 65
2.4.7 WebPureFTP的安装与配置 66
2.4.8 生成MySQL数据库 67
2.4.9 生成pure-ftpd数据库配置文件 68
2.4.10 使用webpureftp管理虚拟用户 68
2.5 FTP服务器的访问 69
2.5.1 Linux环境下访问FTP服务器 69
2.5.2 Windows环境下访问FTP服务器 70
第3章 电子邮件服务器 71
3.1 电子邮件服务概述 71
3.1.1 电子邮件服务简介 71
3.1.2 邮件专有名词解释 72
3.1.3 POP3与SMTP协议 73
3.2 Postfix邮件服务器 74
3.2.1 安装Postfix邮件服务器 74
3.2.2 Postfix配置文件 76
3.2.3 Postfix基本配置 77
3.2.4 虚拟别名域 80
3.2.5 用户别名 80
3.2.6 SMTP认证 81
3.2.7 启动和停止Postfix服务 83
3.2.8 配置与访问电子邮件客户端 84
3.3 POP和IMAP邮件服务 87
3.3.1 dovecot服务 87
3.3.2 CyrusImapd服务 88
3.4 Web支持电子邮件 92
3.4.1 Squirrelmail的安装与配置 92
3.4.2 登录Squirrelmail 94
第4章 Web服务器 95
4.1 Web概述 95
4.1.1 Web服务简介 95
4.1.2 HTTP协议简介 96
4.1.3 Web服务器软件 99
4.2 Apache概述 99
4.2.1 Apache的诞生 100
4.2.2 安装Apache服务 101
4.3 启动与停止Apache服务 103
4.4 Apache服务的基本配置方法 106
4.4.1 httpd.conf配置文件 106
4.4.2 Apache服务主配置文件的构成 107
4.5 Apache服务器控制存取的方式 112
4.5.1 Options选项 113
4.5.2 浏览权限的设置 113
4.6 Apache服务的高级配置 116
4.6.1 虚拟目录简介 116
4.6.2 配置与管理虚拟主机 117
4.6.3 用户认证和授权 119
4.6.4 配置SSI 123
4.6.5 MIME类型简介 124
4.7 创建并配置动态网站 124
4.7.1 创建并配置JSP动态网站 124
4.7.2 创建并配置CGI动态网站 131
第5章 DHCP服务器 133
5.1 DHCP服务概述 133
5.1.1 DHCP服务的实现原理 133
5.1.2 IP地址租约和更新 134
5.1.3 DHCP服务器分配的IP地址类型 135
5.2 安装DHCP服务 137
5.2.1 做好DHCP服务器安装前的准备 137
5.2.2 安装DHCP服务的方法 138
5.2.3 启动及停止DHCP服务 141
5.3 配置DHCP服务 142
5.3.1 DHCP配置文件及格式 142
5.3.2 配置IP作用域 145
5.3.3 配置客户机的IP 选项 146
5.3.4 设置租约期限 147
5.3.5 保留特定的IP地址 147
5.3.6 多网段的IP地址的分配 148
5.3.7 DHCP服务器配置实例 149
5.4 配置DHCP客户机 150
5.4.1 以Linux操作系统作为客户端配置 150
5.4.2 以Windows操作系统作为客户端配置 152
第6章 DNS服务器 155
6.1 DNS服务概述 155
6.1.1 DNS服务简介 155
6.1.2 DNS提供的服务 156
6.1.3 DNS查询原理和规划 156
6.1.4 DNS域名解析 158
6.2 DNS服务的安装 158
6.2.1 安装DNS服务 159
6.2.2 安装Chroot软件包 159
6.2.3 DNS服务的启动与停止 160
6.3 配置主要名称服务器 161
6.3.1 主配置文件 161
6.3.2 设置根区域和主区域 162
6.3.3 设置反向解析区域 165
6.3.4 根服务器信息文件 166
6.3.5 区域文件 166
6.3.6 反向解析区域文件 169
6.3.7 功能实现 170
6.3.8 测试DNS服务器 170
6.4 配置辅助DNS服务器 174
6.5 配置缓存Cache-only服务器 175
6.6 DNS客户端的配置 176
6.6.1 在Linux下配置DNS客户端 176
6.6.2 在Windows下配置DNS客户端 177
第7章 代理服务器 179
7.1 代理服务器概述 179
7.1.1 代理服务器的工作流程 179
7.1.2 代理服务器的作用及相关应用 180
7.2 安装Squid Server 181
7.2.1 Squid简介 181
7.2.2 Squid Server的安装 182
7.3 Squid Server的基本配置 184
7.3.1 设置监听的IP和端口 184
7.3.2 设置缓存大小 184
7.3.3 访问控制设置 186
7.3.4 指定Squid可以使用内存的理想值 188
7.3.5 其他参数设置 188
7.3.6 设置错误提示为中文 189
7.3.7 初始化Squid Server 189
7.4 启动与停止代理服务器 192
7.4.1 设置Squid服务随系统的启动而自动启动 193
7.4.2 重新载入配置文件 195
7.5 Squid Server高级配置 195
7.5.1 实现透明代理 195
7.5.2 Squid安全设置 197
7.5.3 Squid外部程序支持选项 199
7.6 Squid日志管理 199
7.6.1 日志选项 199
7.6.2 Squid代理服务器日志系统的构成 199
7.6.3 日志及流量分析软件——Webalizer 200
7.6.4 Webalizer软件的应用 204
7.7 不同环境下的代理客户端的配置 205
7.7.1 Linux系统下Firefox代理设置 205
7.7.2 Windows系统下IE代理配置 207
第8章 Samba服务器 209
8.1 Samba服务概述 209
8.1.1 Samba服务简介 209
8.1.2 Samba服务的安装 209
8.1.3 Samba服务的图形化配置方法 212
8.1.4 启动、停止和重启Samba服务 216
8.2 Samba服务的配置文件 216
8.2.1 Samba服务的主要配置文件 217
8.2.2 Samba服务的密码文件 217
8.2.3 Samba服务的日志文件 218
8.3 smb.conf文件详解 218
8.3.1 smb.conf文件结构 219
8.3.2 smb.conf文件的语法和变量 220
8.3.3 smb.conf文件详解 220
8.3.4 smb.conf文件中的段 223
8.3.5 Samba服务具体参数设置 223
8.4 Samba服务功能实现 225
8.4.1 指定Samba所要加入的工作组 225
8.4.2 注释说明服务器 226
8.4.3 限制可访问服务器IP地址的范围 226
8.4.4 打印机设置 227
8.4.5 设置guest账号匿名登录 228
8.4.6 设置日志文件名、存放路径及大小 228
8.4.7 服务器安全设置 229
8.4.8 具体的共享设置 232
8.5 共享的资源访问 234
8.5.1 不同客户端主机的资源访问 234
8.5.2 本机Windows分区和Linux分区的资源互访 235
第9章 NFS服务器 237
9.1 NFS服务简介 237
9.1.1 使用NFS的优势 237
9.1.2 NFS服务的组件 238
9.2 RPC简介 238
9.3 安装并配置NFS服务 239
9.3.1 安装NFS服务 239
9.3.2 配置NFS服务 240
9.3.3 NFS文件的存取权限 242
9.4 启动与停止NFS服务 243
9.5 在客户端挂载NFS文件系统 244
9.5.1 查看NFS服务器信息 244
9.5.2 加载NFS服务器共享目录 245
9.5.3 自动挂接NFS文件系统 246
第10章 LDAP目录服务 247
10.1 目录服务概述 247
10.1.1 X.500简介 247
10.1.2 初识LDAP 248
10.1.3 X.500与LDAP 251
10.1.4 流行的目录服务产品 252
10.2 深入认识LDAP 254
10.2.1 LDAP的几种基本模型 254
10.2.2 如何规划目录树 256
10.2.3 LDAP的应用领域 257
10.3 安装LDAP 257
10.3.1 安装Berkeley DB 257
10.3.2 安装OpenLDAP 260
10.4 配置OpenLDAP 261
10.4.1 OpenLDAP的基本配置 261
10.4.2 启动OpenLDAP服务器 262
10.5 为OpenLDAP建立初始化数据 263
10.6 LDAP图形界面管理工具简介 264
10.6.1 主要的LDAP图形界面管理工具 264
10.6.2 安装phpLDAPadmin 266
10.7 配置phpLDAPadmin 268
10.7.1 生成phpLDAPadmin主配置文件 268
10.7.2 phpLDAPadmin的基本配置 268
10.8 使用OpenLDAPadmin管理目录树 271
10.8.1 进入phpLDAPadmin 271
10.8.2 创建组织单元 272
10.8.3 创建用户组 274
10.8.4 创建用户账号 276
10.9 实现LDAP服务的身份验证 277
10.9.1 实现Linux系统用户验证 277
10.9.2 实现FTP用户验证 279
10.9.3 实现Web用户验证 280
第11章 SSH服务器 281
11.1 SSH服务概述 281
11.1.1 SSH服务简介 281
11.1.2 公钥加密体系结构 282
11.2 SSH服务的安装 283
11.3 配置SSH服务器 283
11.4 SSH服务的启动和停止 286
11.4.1 启动SSH服务 286
11.4.2 重启SSH服务 287
11.4.3 自动启动SSH服务 287
11.4.4 停止SSH服务 288
11.5 使用SSH客户端 288
11.5.1 SSH客户端在Windows平台下的使用 288
11.5.2 SSH客户端在Linux平台下的使用 289
第12章 MySQL数据库的配置 293
12.1 MySQL概述 293
12.1.1 MySQL简介 293
12.1.2 MySQL的应用领域 294
12.2 安装MySQL 295
12.2.1 安装前的准备 295
12.2.2 MySQL的具体安装过程 295
12.3 启动与停止MySQLD服务 298
12.4 配置及使用MySQL服务 298
12.4.1 修改MySQL管理员的口令 299
12.4.2 MySQL数据库的创建和使用 299
12.4.3 MySQL数据表的创建和使用 300
12.4.4 索引的创建和删除 304
12.4.5 用户的创建和删除 305
12.4.6 用户权限的设置 306
12.5 图形化配置MySQL 309
12.5.1 安装phpMyAdmin 309
12.5.2 配置phpMyAdmin虚拟目录 310
12.5.3 使用phpMyAdmin 311
第13章 使用Webmin配置各种服务 313
13.1 Webmin的概述 313
13.1.1 Webmin简介 313
13.1.2 Webmin特性 313
13.1.3 Webmin主要功能 314
13.2 安装和配置Webmin 317
13.2.1 Perl语言解释器的安装 318
13.2.2 Net-SSLeay perl和OpenSSL的安装 318
13.2.3 安装与访问Webmin 319
13.2.4 设置Webmin为中文界面 321
13.2.5 停止和启动Webmin服务 322
13.3 用Webmin配置服务 323
13.3.1 Samba服务的配置 323
13.3.2 NFS服务的配置 327
13.3.3 DNS服务的配置 328
13.3.4 Web服务的配置 331
13.3.5 网络防火墙与NAT服务配置 336
13.3.6 代理服务配置 342
13.3.7 SSH服务的配置 349
第14章 Linux命令行 351
14.1 Linux Shell概述 351
14.1.1 Linux Shell简介 351
14.1.2 系统默认Shell——Bash Shell 351
14.1.3 设置使用其他Shell 352
14.2 启动Shell 353
14.2.1 终端启动Shell 353
14.2.2 直接启用Shell 354
14.2.3 直接启动命令行窗口 354
14.3 Shell指令详解 355
14.3.1 目录及文件管理指令 355
14.3.2 信息显示指令 360
14.3.3 网络基本配置指令 363
14.3.4 关机和注销指令 366
14.4 配置Shell环境 367
14.4.1 Shell环境变量 367
14.4.2 环境变量设置 369
14.4.3 Shell环境配置文件 370
14.5 使用vim文本编辑器 371
14.5.1 vim编辑器简介 371
14.5.2 常用vim指令 372
14.5.3 vim的定制 376
第15章 Linux操作系统中的 网络连通性测试 377
15.1 网络线路的连通性测试 377
15.1.1 双绞线的线芯 377
15.1.2 测试直通双绞线 378
15.1.3 测试交叉双绞线 378
15.1.4 利用ping命令测试网络连通性 379
15.2 路由跟踪 382
15.2.1 traceroute命令 382
15.2.2 traceroute显示代码 383
15.2.3 traceroute命令选项的应用 384
15.3 Linux图形界面下测试网络 386
15.3.1 进入“Network Tools”窗口 386
15.3.2 网络设备查询 387
15.3.3 网络连通性测试 387
15.3.4 网络信息统计 388
15.3.5 网络路由跟踪 388
15.3.6 网络端口扫描 389
15.3.7 网络查阅 389
15.3.8 查询登录用户的信息 390
15.3.9 域名查询工具 390
第16章 Linux网络管理 391
16.1 静态IP地址管理工具 391
16.1.1 IP地址 391
16.1.2 子网掩码 392
16.1.3 TCP/IP配置文件 392
16.1.4 在图形界面下配置以太网络 392
16.1.5 在命令模式下配置以太网 397
16.2 动态IP地址分配工具 400
16.2.1 获取动态IP地址 400
16.2.2 安装DHCP服务 401
16.2.3 DHCP服务的启动与停止 404
16.2.4 DHCP服务的配置 405
16.3 网络地址表管理工具 407
16.3.1 显示ARP缓存 407
16.3.2 管理ARP缓存 408
第17章 软件基础管理 409
17.1 Kickstart简介 409
17.1.1 安装Kickstart 409
17.1.2 Debian/Ubuntu的自动化安装 419
17.2 Linux操作系统中的软件包管理 420
17.2.1 RPM简介 420
17.2.2 RPM软件包管理系统的应用 423
17.3 Debian的软件包管理系统 434
17.3.1 DPKG简介 434
17.3.2 DPKG软件包管理系统应用 435
第18章 软件包高级管理 441
18.1 APT——高级软件包管理 441
18.1.1 APT概述 441
18.1.2 应用APT软件包管理系统 442
18.2 YUM——智能化的RPM软件包管理 452
18.2.1 YUM概述 452
18.2.2 应用YUM软件包管理系统 453
18.3 Linux内核的升级 462
18.3.1 获取内核源代码 463
18.3.2 配置内核 464
18.3.3 编译内核 467
18.3.4 安装内核 469
第19章 用户和进程管理 471
19.1 用户管理 471
19.1.1 用户账号文件 471
19.1.2 用户群组文件 474
19.1.3 命令行方式的用户管理 476
19.1.4 图形界面方式的用户管理 486
19.1.5 命令行方式的群组管理 486
19.2 进程管理 490
19.2.1 进程及作业 490
19.2.2 进程控制 490
19.2.3 作业控制 494
第20章 管理Linux文件系统及磁盘 497
20.1 管理Linux文件系统 497
20.1.1 Linux文件系统结构 497
20.1.2 常见的文件系统 497
20.1.3 文件类型 498
20.1.4 文件压缩与归档 498
20.1.5 文件链接 503
20.1.6 安装文件系统 505
20.2 磁盘管理 507
20.2.1 硬盘简介 507
20.2.2 管理磁盘分区 509
20.2.3 使用磁盘管理命令 529
20.2.4 磁盘配额管理问题 539
第21章 Linux系统安全 549
21.1 系统安全基础设置 549
21.1.1 BIOS安全 549
21.1.2 账号安全 549
21.2 系统安全高级设置 552
21.2.1 重要文件 552
21.2.2 防止攻击系统 553
21.2.3 开启安全服务 555
21.2.4 审计日志 556
21.2.5 文件和目录许可 558
……
序言 Linux操作系统由于具有稳定、安全等特性,受到了广大用户的青睐,同时越来越多的新用户开始使用该操作系统。为了顺应时代发展及广大用户的需求,本书以Red Hat企业版操作系统为例,系统地阐述了各种常用服务的配置方法、管理技巧及相关应用,同时本书还加入常用的网络管理和基础的系统管理知识。
本书是一本具有现实意义的参考、学习资料,广大读者通过对本书所涉及到的实例进行实践操作后,便可轻松解决应用Linux操作系统过程中的问题。这点也是本书的特色和目的,除此之外。
全书共22章,分为了三大体系:Linux操作系统中各种常用服务器的配置及管理,常用的网络管理以及系统管理,系统安全,各章节主要内容如下。
第1章主要阐述了Linux的发展历程、特点及其应用领域,同时讲解了安装Red Hat Enterprise Linux 5的相关知识,最后还介绍了Red Hat Enterprise Linux 5中的GNOME和KDE两种桌面管理器的使用及管理,为大家学习Linux打下基础。
第2章进入服务器的具体配置管理环节,本章以FTP工作原理入手,主要讲解了FTP服务器的安装及配置方法。
第3章首先讲解了电子邮件服务的相关知识,然后着重介绍了Postfix邮件服务器以及POP和IMAP邮件服务的安装及配置。
第4章首先对Web服务的相关知识进行了介绍,然后重点讲解了如何在Linux系统中配置与管理Apache服务器,最后还结合实用案例讲解了如何通过JSP等来创建动态Web网站。
第5章以DHCP服务的原理入手,主要讲解了DHCP服务的安装与配置。
第6章首先阐述DNS的相关知识,然后讲解了DNS服务的安装,最后重点介绍了DNS的相关配置。
第7章首先概述了代理服务器的相关知识,接着介绍了如何安装Squid Server,然后讲解了Squid Server的基本配置及高级配置,最后还介绍了Squid的日志管理。
第8章主要介绍了用于在Windows操作系统与Linux操作系统之间提供资源共享的Samba服务的基本概念、安装方法、配置方法及其使用等。
第9章主要讲解了如何在Red Hat Enterprise Linux 5中搭建及管理NFS服务。
第10章从LDAP服务器的基本概念入手,具体讲解其安装、配置以及应用。
第11章首先介绍了SSH服务的相关概念,然后讲解了SSH服务的安装及配置,最后介绍了在不同平台下如何使用SSH客户端。
第12章首先阐述了MySQL的各种特点及应用领域,然后介绍了MySQL的安装,最后重点讲解了MySQL的配置及应用。
第13章首先介绍了图形化配置工具Webmin的主要功能,然后讲解了Webmin的安装及配置,最后介绍了如何利用Webmin来实现各种服务的配置。
第14章首先简单介绍了Linux Shell的相关知识,然后具体介绍了Shell命令,并详细介绍了Shell的配置环境,最后介绍了如何使用virn文本编辑器。
第15章首先介绍了有关网络连通性测试的相关知识,接着结合实例详细介绍了如何利用系统工具来测试网络的连通性,最后还介绍了在Linux操作系统的图形界面中测试网络的方法。
第16章主要讲解了几种网络管理工具,包括静态IP地址管理工具、动态IP地址分配工具和网络地址表管理工具。
第17章首先讲解了如何安装Kickstart,然后学习了如何实现Debian的自动安装,最后重点介绍了Linux操作系统中的软件包管理和Debian的软件包管理系统。
第18章在介绍了几款基础的软件包管理工具的基础之上,继续介绍一些功能更为强大的软件包管理工具,包括APT和YUM,同时还介绍了如何升级Linux系统内核。
第19章结合Linux操作系统多用户、多任务的特点,具体阐述了如何进行Linux的用户管理和进程管理。
第20章从Linux文件系统的基本概念入手,学习文件系统与磁盘管理的相关知识。
第21章主要介绍了Linux操作系统安全管理方面的一些应用技巧。
本书由张栋、黄成等编著,刘晓辉、马倩、白华、李海宁、田俊乐、陈志成、王延杰、刘红、赵卫东、刘淑梅、杨伏龙、李文俊、王同明、石长征及郭腾等也参与了部分章节的编写工作。
如果您在配置网络和管理网络时遇到了疑问或难题,或者对本书有什么看法,欢迎发送E-mail至Liaoluobobo@163.com进行讨论或寻求支持。由于笔者水平有限,书中难免有疏漏和错误之处,敬请专家和读者不吝赐教。
文摘 插图:

Shell是LJnux操作系统的用户界面,为用户与内核间的交互操作提供接口,接收用户命令并进行编译,然后再送到Linux内核执行。
Shell是一个命令解释器,也可以看作是一种编程语言,用户可以利用Shell命令编写程序。与普通编程语言相似,Shell编程语言也可以使用循环结构和分支控制结构。
Linux操作系统刚开始发布的时候,大多数的命令都是通过命令行来实现的。随着Windows图形界面在用户中的不断普及,Linux也提供了类似MicrosoftWindows的图形界面KDE(KingDesktop Environment,桌面环境之王)和GNOME(GNU Network Oblject Model Envirment)。这是Linux操作系统中最常见的两种窗口管理器,为用户提供了类似Windows操作系统的工作环境,通过鼠标就可以完成大多数的系统管理操作。
需要说明的是,Linux实际上只是一个基于命令行的操作系统,图形界面并不是其组成架构,只是系统的扩展。这与Windows操作系统有很大的差别,尤其是Windows 95之后的操作系统。此类Windows操作系统如果没有图形界面,那么就不能被称为“Windows”。
每个Linux系统用户都可以拥有独立的用户界面或者Shell,也就是说Linux的Shell及用户界面是可以定制的。Shell具有多个版本,常见的有以下几个。