《Linux从入门到精通(附光盘第2版)》由刘忆智等人编著,本书有何特色:
1.提供配套多媒体教学视频光盘
由于本书涉及很多具体操作,所以笔者专门录制了大量的多媒体教学视频进行讲解,读者可以按照教学视频的讲解很直观地学习,学习效果好。
2.入门门槛低,很容易上手
本书不需要读者有任何Linux的学习经验,读者仅仅需要懂得如何使用鼠标、键盘和电源开关即可。有一些基础的读者可以把它作为手头常备的参考书,本书为每一个重要的知识点都提供了详尽的目录索引。
3.为操作性较强的内容提供“快速上手”环节
这个特殊的环节在所有理论知识之前,用一个简单的实例帮助读者完成相关的上机操作,从全局上把握整章内容。
4.提供大量实例,实践性强
全书列举的所有示例和实例,读者都可以在自己的实验环境中完整实现。对于一些难度较大的知识点和操作,本书提供了“进阶”环节。这些内容往往对于系统管理员非常重要,普通用户可以根据实际情况决定是否阅读。
《Linux从入门到精通(附光盘第2版)》由刘忆智等人编著,是获得了很多读者好评的Linux经典畅销书《Linux从入门到精通》的第2版。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第2版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者下载。
本书共29章,分为7篇。内容包括Linux概述、Linux安装、Linux基本配置、桌面环境、Shell基本命令、文件和目录管理、软件包管理、磁盘管理、用户与用户组管理、进程管理、网络配置、浏览网页、收发邮件、文件传输和共享、远程登录、多媒体应用、图像浏览和处理、打印机配置、办公软件的使用、Linux编程工具、Shell编程、服务器基础知识、Apache服务器、vsftpd服务器、Samba服务器、NFS服务器、任务计划、防火墙和网络安全、病毒和木马防范等。
《Linux从入门到精通(附光盘第2版)》适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
第1篇 基础篇
第1章 Linux概述(教学视频:20分钟)
1.1Linux的起源和发展
1.1.1Linux的起源
1.1.2追溯到UNIX
1.1.3影响世界的开源潮流
1.1.4GNU公共许可证:GPL
1.2为什么选择Linux
1.2.1作为服务器
1.2.2作为桌面
1.3Linux的发行版本
1.3.1不同的发行版本
1.3.2哪种发行版本最好
1.3.3本书选择的发行版本
1.4Internet上的Linux资源
1.5小结
第2章 Linux安装(教学视频:48分钟)
2.1安装前的准备工作
2.1.1我能从哪里获得Linux
2.1.2硬件要求
2.1.3与Windows“同处一室”
2.1.4虚拟机的使用
2.1.5免费的虚拟机软件:VMwareServer
2.2安装Linux至硬盘
2.2.1第一步:从光驱启动
2.2.2关于硬盘分区
2.2.3配置Ubuntu基本信息
2.2.4设置用户和口令
2.2.5第一次启动
2.3获取帮助信息和搜索应用程序
2.4进阶:修复受损的Grub
2.4.1Windows惹的祸
2.4.2使用救援光盘
2.4.3重新安装Grub
2.5小结
第3章 Linux基本配置(教学视频:37分钟)
3.1关于超级用户root
3.1.1root可以做什么
3.1.2避免灾难
3.1.3Debian和Ubuntu的root用户
3.2依赖于发行版本的系统管理工具
3.3中文支持
3.4关于硬件驱动程序
3.5获得更新
3.6进阶:配置Grub
3.6.1Grub的配置文件
3.6.2使用Grub命令行
3.7小结
第4章 桌面环境(教学视频:36分钟)
4.1快速熟悉你的工作环境
4.1.1运行应用程序
4.1.2浏览文件系统
4.1.3创建一个文本文件
4.2个性化设置
4.2.1桌面背景和字体
4.2.2显示器分辨率
4.2.3代理服务器
4.2.4鼠标和键盘
4.2.5键盘快捷键
4.3进阶:究竟什么是“桌面”
4.3.1可以卸载的图形环境
4.3.2X窗口系统的基本组成
4.3.3X系统的启动过程
4.3.4启动X应用程序
4.3.5桌面环境:KDE和Gnome谁更好
4.4小结
第2篇 系统管理篇
第5章 Shell基本命令(教学视频:56分钟)
5.1Shell简介
5.2印刷约定
5.3快速上手:浏览你的硬盘
5.4提高效率:使用命令行补全和通配符
5.5查看目录和文件
5.5.1显示当前目录:pwd
5.5.2改变目录:cd
5.5.3列出目录内容:ls
5.5.4列出目录内容:dir和vdir
5.5.5查看文本文件:cat和more
5.5.6阅读文件的开头和结尾:head和tail
5.5.7更好的文本阅读工具:less
5.5.8查找文件内容:grep
5.6我的东西在哪——find命令
5.7更快速地定位文件——locate命令
5.8从终端运行程序
5.9查找特定程序:whereis
5.10用户及版本信息查看
5.11寻求帮助——man命令
5.12获取命令简介:whatis和apropos
5.13小结
第6章 文件目录管理(教学视频:75分钟)
6.1Linux文件系统的架构
6.2快速上手:和你的团队共享文件
6.3建立文件和目录
6.3.1建立目录:mkdir
6.3.2建立一个空文件:touch
6.4移动、复制和删除
6.4.1移动和重命名:mv
6.4.2复制文件和目录:cp
6.4.3删除目录和文件:rmdir和rm
6.5文件和目录的权限
6.5.1权限设置针对的用户
6.5.2需要设置哪些权限
6.5.3查看文件和目录的属性
6.5.4改变文件所有权:chown和chgrp
6.5.5改变文件权限:chmod
6.5.6文件权限的八进制表示
6.6文件类型
6.6.1查看文件类型
6.6.2建立链接:ln
6.7输入输出重定向和管道
6.7.1输出重定向
6.7.2输入重定向
6.7.3管道:|
6.8小结
第7章 软件包管理(教学视频:71分钟)
7.1快速上手:安装和卸载ChromeforLinux
7.1.1安装ChromeforLinux
7.1.2运行ChromeforLinux
7.1.3卸载ChromeforLinux
7.2软件包管理系统简述
7.3管理.deb软件包:dpkg
7.3.1安装软件包
7.3.2查看已安装的软件包
7.3.3卸载软件包
7.4管理RPM软件包:rpm
7.4.1安装软件包
7.4.2升级软件包
7.4.3查看已安装的软件包
7.4.4卸载软件包
7.5高级软件包工具:APT
7.5.1APT简介
7.5.2下载和安装软件包
7.5.3查询软件包信息
7.5.4配置apt-get
7.5.5使用图形化的APT
7.6进阶:从源代码编 译软件——以MPlayer为例
7.6.1为什么要从源代码编 译
7.6.2下载和解压软件包
7.6.3正确配置软件
7.6.4编 译源代码
7.6.5安装软件到硬盘
7.6.6出错了怎么办
7.7小结
第8章 磁盘管理(教学视频:110分钟)
8.1关于硬盘
8.2Linux文件系统
8.2.1ext3fs和ext4fs文件系统
8.2.2ReiserFS文件系统
8.2.3有关swap
8.3挂载文件系统
8.3.1快速上手:使用光盘
8.3.2Linux下设备的表示方法
8.3.3挂载文件系统:mount命令
8.3.4在启动的时候挂载文件系统:/etc/fstab文件
8.3.5为什么无法弹出光盘:卸载文件系统
8.4查看磁盘使用情况:df
8.5检查和修复文件系统:fsck
8.6在磁盘上建立文件系统:mkfs
8.7使用USB设备
8.8压缩工具
8.8.1压缩文件:gzip
8.8.2更高的压缩率:bzip2
8.8.3支持rar格式
8.9存档工具
8.9.1文件打包:tar
8.9.2转移文件:dd
8.10进阶1:安装硬盘和分区——fdisk
8.10.1使用fdisk建立分区表
8.10.2使用mkfs建立ext3fs文件系统
8.10.3使用fsck检查文件系统
8.10.4测试分区
8.10.5创建并激活交换分区
8.10.6配置fstab文件
8.10.7重新启动系统
8.11进阶2:高级硬盘管理——RAID和LVM
8.11.1独立磁盘冗余阵列:RAID
8.11.2逻辑卷 管理器:LVM
8.12进阶3:备份你的工作和系统
8.12.1为什么要做备份
8.12.2选择备份机制
8.12.3选择备份介质
8.12.4备份文件系统:dump
8.12.5从灾难中恢复:restore
8.12.6让备份定时自动完成:cron
8.13小结
第9章 用户与用户组管理(教学视频:50分钟)
9.1用户与用户组基础
9.2快速上手:为朋友John添加账户
9.3添加用户
9.3.1使用命令行工具:useradd和groupadd
9.3.2使用图形化的管理工具
9.3.3记录用户操作:history
9.3.4直接编 辑passwd和shadow文件
9.4删除用户:userdel
9.5管理用户账号:usermod
9.6查看用户信息:id
9.7用户间切换:su
9.8受限的特权:sudo
9.9进阶1:/etc/passwd文件
9.9.1/etc/passwd文件概览
9.9.2加密的口令
9.9.3UID号
9.9.4GID号
9.10进阶2:/etc/shadow文件
9.11进阶3:/etc/group文件
9.12小结
第10章 进程管理(教学视频:41分钟)
10.1快速上手:结束一个失控的程序
10.2什么是进程
10.3进程的属性
10.3.1PID:进程的ID号
10.3.2PPID:父进程的PID
10.3.3UID和EUID:真实和有效的用户ID
10.3.4GID和EGID:真实和有效的组ID
10.3.5谦让度和优先级
10.4监视进程:ps命令
10.5即时跟踪进程信息:top命令
10.6查看占用文件的进程:lsof
10.7向进程发送信号:kill
10.8调整进程的谦让度:nice和renice
10.9/PROC文件系统
10.10小结
第3篇 网络编
第11章 网络配置(教学视频:60分钟)
11.1几种常见的连网方式
11.1.1通过办公室局域网
11.1.2无线连接
11.1.3有线宽带连接
11.1.4“古老”的拨号上网
11.2连接PC至局域网和Internet
11.2.1连接办公室局域网
11.2.2使用ADSL
11.2.3无线网络
11.2.4拨号上网
11.3进阶1:在命令行下配置网络
11.3.1使用ifconfig配置网络接口
11.3.2使用route配置静态路由
11.3.3主机名和IP地址间的映射
11.4进阶2:使用wvdial建立PPP连接
11.4.1PPP协议简介
11.4.2wvdial简介
11.4.3配置wvdial
11.4.4使用wvdial拨号上网
11.5小结
第12章 浏览网页(教学视频:46分钟)
12.1使用MozillaFirefox
12.1.1启动Firefox
12.1.2设置Firefox
12.1.3清除最新的历史记录
12.1.4订阅新闻和博客
12.1.5安装扩展组件
12.2使用Opera
12.3基于文本的浏览器:lynx
12.3.1为什么还要使用字符界面
12.3.2启动和浏览
12.3.3下载和保存文件
12.4其他浏览器
12.5小结
第13章 收发邮件(教学视频:20分钟)
13.1准备工作
13.1.1获得邮箱
13.1.2邮件协议:浏览器还是邮件客户端
13.2Gnome下的邮件客户端:Evolution
13.3KDE下的邮件客户端:Kmail
13.4小结
第14章 传输文件(教学视频:79分钟)
14.1Linux间的网络硬盘:NFS
14.1.1安装NFS文件系统
14.1.2卸载NFS文件系统
14.1.3选择合适的安装选项
14.1.4启动时自动安装远程文件系统
14.2与Windows协作:Samba
14.2.1什么是Samba
14.2.2快速上手:访问Windows的共享文件夹
14.2.3查看当前可用的Samba资源:smbtree和nmblookup
14.2.4Linux下的Samba客户端:smbclient
14.2.5挂载共享目录:mount.cifs
14.3使用FTP
14.3.1使用Web浏览器
14.3.2使用FTP图形客户端
14.3.3使用ftp命令
14.4基于SSH的文件传输:sftp和scp
14.4.1安全的FTP:sftp
14.4.2利用SSH通道复制文件:scp
14.5小结
第15章 远程登录(教学视频:46分钟)
15.1快速上手:关于搭建实验环境
15.1.1物理网络还是虚拟机
15.1.2安装OpenSSH
15.1.3安装vnc4server
15.1.4SUSE的防火墙设置
15.2登录另一台Linux服务器
15.2.1安全的Shell:SSH
15.2.2登录X窗口系统:图形化的VNC
15.2.3我想从Windows登录这台Linux
15.3登录Windows服务器
15.4为什么不使用telnet
15.5进阶:使用SSH密钥
15.5.1为什么要使用密钥
15.5.2生成密钥对
15.5.3复制公有密钥至远程主机
15.5.4测试配置
15.5.5密钥的安全性
15.6小结
第4篇 娱乐与办公篇
第16章 多媒体(教学视频:40分钟)
16.1关于声卡
16.2播放器软件概述
16.3播放音频
16.3.1播放CD
16.3.2播放数字音乐文件
16.4播放视频:使用MPlayer
16.5Linux中的游戏
16.5.1发行版自带的游戏
16.5.2Internet上的游戏资源
16.6小结
第17章 图像(教学视频:37分钟)
17.1查看图片
17.1.1使用Konqueror和Nautilus查看图片
17.1.2使用GIMP查看图片
17.1.3使用Shotwell管理相册
17.2使用GIMP处理图像
17.2.1GIMP基础
17.2.2漫步工具栏
17.2.3实例:移花接木
17.2.4使用插件
17.3LibreOffice的绘图工具
17.4小结
第18章 打印机配置(教学视频:35分钟)
18.1为什么要有这一章
18.1.1打印机还是计算机
18.1.2打印机的语言:PDL
18.1.3驱动程序和PDL的关系
18.1.4Linux如何打印:CUPS
18.2添加打印机
18.2.1打印机的选择
18.2.2连接打印机
18.2.3让CUPS认识打印机
18.2.4配置打印机选项
18.2.5测试当前的打印机
18.3管理CUPS服务器
18.3.1设置网络打印服务器
18.3.2设置打印机的类
18.3.3操纵打印队列
18.3.4删除打印机和类
18.4回顾:CUPS的体系结构
18.5KDE和Gnome的打印工具
18.6小结
第19章 办公软件的使用(教学视频:45分钟)
19.1最常用的办公套件:LibreOffice.org
19.1.1文字处理软件
19.1.2电子表格
19.1.3演示文稿
19.1.4文档兼容
19.2查看PDF文件
19.2.1使用Xpdf
19.2.2使用AdobeReader
19.3光盘刻录
19.3.1制作音乐CD
19.3.2刻录镜像文件
19.4小结
第5篇 程序开发篇
第20章 Linux编 程(教学视频:108分钟)
20.1编 辑器的选择
20.1.1Vim编 辑器
20.1.2Emacs编 辑器
20.1.3图形化的编 程工具
20.2C和C++的编 译器:gcc
20.2.1编 译第一个C程序
20.2.2同编 译有关的选项
20.2.3优化选项
20.2.4编 译C++程序:g++
20.3调试:gdb
20.3.1启动gdb
20.3.2获得帮助
20.3.3查看源代码
20.3.4设置断点
20.3.5运行程序和单步执行
20.3.6监视变量
20.3.7临时修改变量
20.3.8查看堆栈情况
20.3.9退出gdb
20.3.10命令汇总
20.4与他人协作:版本控制系统
20.4.1什么是版本控制
20.4.2安装Subversion
20.4.3建立项目仓库
20.4.4创建项目并导入源代码
20.4.5开始项目开发
20.4.6修改代码和提交改动
20.4.7解决冲突
20.4.8撤销改动
20.4.9命令汇总
20.5小结
第21章 Shell编 程(教学视频:125分钟)
21.1正则表达式
21.1.1什么是正则表达式
21.1.2不同风格的正则表达式
21.1.3快速上手:在字典中查找单词
21.1.4字符集和单词
21.1.5字符类
21.1.6位置匹配
21.1.7字符转义
21.1.8重复
21.1.9子表达式
21.1.10反义
21.1.11分支
21.1.12逆向引用
21.2Shell脚本编 程
21.2.1我需要什么工具
21.2.2第一个程序:HelloWorld
21.2.3变量和运算符
21.2.4表达式求值
21.2.5脚本执行命令和控制语句
21.2.6条件测试
21.2.7循环结构
21.2.8读取用户输入
21.2.9脚本执行命令
21.2.10创建命令表
21.2.11其他有用的Shell编 程工具
21.2.12定制工具:安全的delete命令
21.3Shell定制
21.3.1修改环境变量
21.3.2设置别名
21.3.3个性化设置:修改.bashrc文件
21.4小结
第6篇 服务器配置篇
第22章 服务器基础知识(教学视频:54分钟)
22.1系统引导
22.1.1Linux启动的基本步骤
22.1.2init和运行级
22.1.3服务器启动脚本
22.1.4Ubuntu和Debian的init配置
22.2管理守护进程
22.2.1什么是守护进程
22.2.2服务器守护进程的运行方式
22.2.3配置xinetd
22.2.4举例:通过xinetd启动SSH服务
22.2.5配置inetd
22.3小结
第23章 HTTP服务器——Apache(教学视频:71分钟)
23.1快速上手:搭建一个HTTP服务器
23.2Apache基础
23.2.1HTTP工作原理
23.2.2获得并安装Apache服务器
23.2.3服务器的启动和关闭
23.3设置Apache服务器
23.3.1配置文件
23.3.2使用日志文件
23.3.3使用cgi
23.4使用PHP+MySQL
23.4.1PHP和MySQL简介
23.4.2安装MySQL
23.4.3安装PHP
23.4.4配置Apache
23.5小结
第24章 FTP服务器——vsftpd(教学视频:70分钟)
24.1快速上手:搭建一个FTP服务器
24.1.1安装并登录FTP服务器
24.1.2匿名用户的目录
24.2vsftpd基础
24.2.1FTP的工作原理
24.2.2从源代码编 译安装vsftpd服务器
24.2.3服务器的启动和关闭
24.3vsftpd用户设置
24.3.1设置匿名用户登录
24.3.2设置本地用户登录
24.3.3限制用户在本地目录中
24.4更好的选择:使用虚拟用户
24.4.1为用户jcsmith和culva开放FTP:一步步地指导
24.4.2创建虚拟用户的数据库文件
24.4.3配置PAM验证
24.4.4创建本地用户映射
24.4.5设置用户目录和权限
24.4.6重新启动vsftpd服务器
24.4.7总结虚拟用户原理:PAM验证
24.5杂项
24.6关于FTP的安全
24.7小结
第25章 Samba服务器(教学视频:77分钟)
25.1快速上手:搭建一个Samba服务器
25.2Samba基础
25.2.1从源代码安装Samba服务器
25.2.2服务器的启动和关闭
25.3Samba配置
25.3.1关于配置文件
25.3.2设置全局域
25.3.3设置匿名共享资源
25.3.4开启Samba用户
25.3.5配合用户权限
25.3.6孤立用户的共享目录
25.3.7设置用户访问自己的主目录
25.4SWAT管理工具
25.5安全性方面的几点建议
25.6小结
第26章 网络硬盘——NFS(教学视频:36分钟)
26.1快速上手:搭建一个NFS服务器
26.1.1安装NFS服务器
26.1.2简易配置
26.1.3测试NFS服务器
26.2NFS基础
26.2.1关于NFS协议的版本
26.2.2RPC:NFS的传输协议
26.2.3无状态的NFS
26.3NFS配置
26.3.1理解配置文件
26.3.2启动和停止服务
26.4安全性方面的几点建议
26.4.1充满风险的NFS
26.4.2使用防火墙
26.4.3压制root和匿名映射
26.4.4使用特权端口
26.5监视NFS的状态:nfsstat
26.6小结
第7篇 系统安全篇
第27章 任务计划:cron(教学视频:24分钟)
27.1快速上手:定期备份重要文件
27.2cron的运行原理
27.3crontab管理
27.3.1系统的全局cron配置文件
27.3.2普通用户的配置文件
27.3.3管理用户的cron任务计划
27.4理解配置文件
27.5简单的定时:at命令
27.6小结
第28章 防火墙和网络安全(教学视频:44分钟)1
28.1Linux的防火墙——IPTables1
28.1.1名字的来历1
28.1.2初始化防火墙设置1
28.1.3添加链规则
28.1.4删除链规则
28.1.5防火墙保险吗
28.2网络安全工具
28.2.1扫描网络端口:nmap
28.2.2找出不安全的口令:JohntheRipper
28.3主机访问控制:hosts_access
28.4小结
第29章 病毒和木马(教学视频:21分钟)
29.1随时面临的威胁
29.1.1计算机病毒
29.1.2特洛伊木马1
29.1.3掩盖入侵痕迹:rootkits1
29.2Linux下的防毒软件:ClamAV1
29.2.1更新病毒库1
29.2.2基本命令和选项2
29.2.3图形化工具
29.3反思:Linux安全吗
29.4小结
附录 Linux常用指令
1.文件操作相关指令
2.目录操作相关指令
3.Shell操作相关指令
4.系统管理相关操作指令
5.打印相关指令
6.实用工具相关指令
7.硬件相关指令
8.文件系统管理相关操作指令
9.软件包管理相关操作指令
10.编程开发相关操作指令
11.网络管理相关指令