-
内容大纲
本书是获得大量读者好评的“Linux典藏大系”中的经典畅销书《Linux从入门到精通》的第3版。《Linux从入门到精通》第2版累计30次印刷,印数超过10万册,多次被评为清华大学出版社“年度畅销书”,还曾获得“51CTO读书频道”颁发的“最受读者喜爱的原创IT技术图书奖”,并被ChinaUnix技术社区大力推荐。本书基于新发布的Ubuntu 22.04,循序渐进地向读者介绍Linux的基础应用、系统管理、网络应用、娱乐与办公、程序开发、服务器配置和系统安全等相关知识。本书提供教学视频、思维导图、教学PPT、习题参考答案和软件工具等超值配套资源,帮助读者高效、直观地学习。
本书共27章,分为7篇。第1篇“基础知识”,包括Linux概述、Linux的安装、Linux的基本配置、桌面环境。第2篇“系统管理”,包括Shell的基本命令、文件和目录管理、软件包管理、硬盘管理、用户与用户组管理、进程管理。第3篇“网络应用”,包括网络配置、浏览网页、传输文件、远程登录。第4篇“娱乐与办公”,包括多媒体应用、图像查看和处理、打印机配置、办公软件的使用。第5篇“程序开发”,包括Linux编程工具和Shell编程。第6篇“服务器配置”,包括服务器基础知识、HTTP服务器——Apache、Samba服务器和网络硬盘——NFS。第7篇“系统安全”,包括任务计划——cron、防火墙和网络安全、病毒和木马等。附录给出了Linux的常用指令。
本书内容丰富,讲解循序渐进,非常适合广大Linux初、中级读者阅读,也适合开源软件爱好者和从事Linux平台开发的各类人员阅读,还可作为大中专院校相关专业的教材。 -
作者介绍
刘忆智,毕业于浙江大学软件学院。长期从事Linux系统管理与维护工作,拥有多年的服务器维护经验。曾经担任浙江大学求是潮网站技术总监,领导并参与了问答堂、学习资源平台等Web项目的开发工作。多次组织策划了网站的改版。为浙江大学党委组织部设计并开发了干部人才培训系统。 -
目录
第1篇 基础知识
第1章 Linux概述
1.1 Linux的起源和发展
1.1.1 Linux的起源
1.1.2 追溯到UNIX
1.1.3 影响世界的开源潮流
1.1.4 GNU公共许可证:GPL
1.2 为什么选择Linux
1.2.1 作为服务器
1.2.2 作为桌面
1.3 Linux的发行版本
1.3.1 不同的发行版本
1.3.2 哪种发行版本最好
1.3.3 本书选择的发行版本
1.4 Internet上的Linux资源
1.5 小结
1.6 习题
第2章 Linux的安装
2.1 安装前的准备工作
2.1.1 从哪里获得Linux
2.1.2 硬件要求
2.1.3 与Windows“同处一室”
2.1.4 虚拟机的使用
2.1.5 虚拟机软件VMware Workstation
2.2 安装Linux至硬盘
2.2.1 第一步:从U盘启动
2.2.2 关于硬盘分区
2.2.3 配置Ubuntu的基本信息
2.2.4 设置用户和口令
2.2.5 第一次启动
2.3 获取帮助信息和搜索应用程序
2.4 进阶:修复受损的Grub
2.4.1 Windows“惹的祸”
2.4.2 使用救援模式
2.4.3 重新安装Grub
2.5 小结
2.6 习题
第3章 Linux的基本配置
3.1 关于超级用户root
3.1.1 root用户可以做什么
3.1.2 避免灾难
3.1.3 Debian和Ubuntu的root用户
3.2 依赖发行版本的系统管理工具
3.3 中文支持
3.4 关于硬件驱动程序
3.5 获得更新
3.6 进阶:配置Grub
3.6.1 Grub的配置文件
3.6.2 使用Grub命令行
3.7 小结
3.8 习题
第4章 桌面环境
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.2 X窗口系统的基本组成
4.3.3 X窗口系统的启动过程
4.3.4 启动X应用程序
4.3.5 桌面环境——KDE和Gnome谁更好
4.4 小结
4.5 习题
第2篇 系统管理
第5章 Shell的基本命令
5.1 Shell简介
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 小结
5.14 习题
第6章 文件和目录管理
6.1 Linux文件系统架构
6.2 快速上手:和团队共享文件
6.3 建立文件和目录
6.3.1 建立目录:mkdir命令
6.3.2 建立一个空文件:touch命令
26.1 Linux的防火墙——UFW
26.1.1 UFW简介
26.1.2 查看UFW防火墙的状态
26.1.3 添加规则
26.1.4 删除规则
26.1.5 防火墙保险吗
26.2 网络安全工具
26.2.1 扫描网络端口:nmap命令
26.2.2 找出不安全的口令:John the Ripper
26.3 主机访问控制
26.4 小结
26.5 习题
第27章 病毒和木马
27.1 随时面临的威胁
27.1.1 计算机病毒
27.1.2 特洛伊木马
27.1.3 掩盖入侵痕迹:Rootkits
27.2 基于Linux系统的防毒软件:ClamAV
27.2.1 更新病毒库
27.2.2 基本命令和选项
27.2.3 图形化工具
27.3 反思:Linux安全吗
27.4 小结
27.5 习题
附录A Linux的常用指令
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 小结
6.9 习题
第7章 软件包管理
7.1 快速上手:安装和卸载QQ for Linux
7.1.1 安装QQ for Linux
7.1.2 运行QQ for Linux
7.1.3 卸载QQ for Linux
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.1 APT简介
7.5.2 下载和安装软件包
7.5.3 查看软件包信息
7.5.4 配置apt-get
7.5.5 使用图形化的APT
7.6 进阶:以Nmap为例从源代码编译软件
7.6.1 为什么要从源代码编译
7.6.2 下载和解压软件包
7.6.3 正确地配置软件
7.6.4 编译源代码
7.6.5 将软件安装到硬盘上
7.6.6 出错了怎么办
7.7 小结
7.8 习题
第8章 硬盘管理
8.1 关于硬盘
8.2 Linux文件系统
8.2.1 Ext3FS和Ext4FS文件系统
8.2.2 ReiserFS文件系统
8.2.3 关于swap
8.3 挂载文件系统
8.3.1 快速上手:使用U盘
8.3.2 Linux中设备的表示方法
8.3.3 挂载文件系统:mount命令
8.3.4 在启动时挂载文件系统:/etc/fstab文件
8.3.5 为什么无法弹出U盘:卸载文件系统
8.4 查看硬盘的使用情况:df命令
8.5 检查和修复文件系统:fsck命令
8.6 在硬盘上建立文件系统:mkfs命令
8.7 压缩工具
8.7.1 压缩文件:gzip命令
8.7.2 更高的压缩率:bzip2命令
8.7.3 支持rar格式
8.8 存档工具
8.8.1 文件打包:tar命令
8.8.2 转移文件:dd命令
8.9 进阶1:安装硬盘并分区——fdisk
8.9.1 使用fdisk工具建立分区表
8.9.2 使用mkfs命令建立Ext4FS文件系统
8.9.3 使用fsck命令检查文件系统
8.9.4 测试分区
8.9.5 创建并激活交换分区
8.9.6 配置fstab文件
8.9.7 重新启动系统
8.10 进阶2:高级硬盘管理
8.10.1 独立硬盘冗余阵列RAID
8.10.2 逻辑卷管理器LVM
8.11 进阶3:工作备份
8.11.1 为什么要进行备份
8.11.2 选择备份机制
8.11.3 选择备份介质
8.11.4 备份文件系统:dump命令
8.11.5 恢复备份:restore命令
8.11.6 让备份按时自动完成:cron命令
8.12 小结
8.13 习题
第9章 用户与用户组管理
9.1 用户与用户组的基础知识
9.2 快速上手:为朋友添加一个账户
9.2.1 使用命令行工具:useradd和groupadd
9.2.2 使用图形化管理工具
9.2.3 记录用户操作:history命令
9.2.4 直接编辑passwd和shadow文件
9.3 删除用户:userdel命令
9.4 管理用户账号:usermod命令
9.5 查看用户信息:id命令
9.6 用户间的切换:su命令
9.7 受限的特权:sudo命令
9.8 进阶1:/etc/passwd文件
9.8.1 /etc/passwd文件概览
9.8.2 加密的口令
9.8.3 UID号
9.8.4 GID号
9.9 进阶2:/etc/shadow文件
9.10 进阶3:/etc/group文件
9.11 小结
9.12 习题
第10章 进程管理
10.1 快速上手:结束一个失控的程序
10.2 什么是进程
10.3 进程的属性
10.3.1 PID:进程的ID号
10.3.2 PPID:父进程的PID
10.3.3 UID和EUID:真实和有效的用户ID
10.3.4 GID和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 小结
10.11 习题
第3篇 网络应用
第11章 网络配置
11.1 几种常见的连接网络的方式
11.1.1 通过办公室局域网连接
11.1.2 无线连接
11.1.3 Modem连接
11.2 连接PC至局域网和Internet
11.2.1 连接办公室局域网
11.2.2 使用ADSL
11.2.3 无线网络
11.3 进阶:在命令行下配置网络
11.3.1 使用ifconfig配置网络接口
11.3.2 使用route配置静态路由
11.3.3 主机名和IP地址间的映射
11.4 小结
11.5 习题
第12章 浏览网页
12.1 使用Mozilla Firefox
12.1.1 启动Firefox
12.1.2 设置Firefox
12.1.3 清除最新的历史记录
12.1.4 安装扩展组件
12.2 使用Google Chrome
12.3 基于文本的浏览器:Lynx
12.3.1 为什么要使用字符界面
12.3.2 启动和浏览
12.3.3 下载和保存文件
12.4 其他浏览器
12.5 小结
12.6 习题
第13章 传输文件
13.1 Linux间的网络硬盘:NFS
13.1.1 安装NFS文件系统
13.1.2 卸载NFS文件系统
13.1.3 选择合适的安装选项
13.1.4 启动时自动安装远程文件系统
13.2 与Windows协作:Samba
13.2.1 什么是Samba
13.2.2 快速上手:访问Windows的共享文件夹
13.2.3 查看当前可用的Samba资源:smbtree和nmblookup
13.2.4 Linux中的Samba客户端程序smbclient
13.2.5 挂载共享目录:mount.cifs
13.3 基于SSH的文件传输工具:sftp和scp
13.3.1 安全的FTP:sftp
13.3.2 利用SSH通道复制文件:scp
13.4 小结
13.5 习题
第14章 远程登录
14.1 快速上手:搭建实验环境
14.1.1 物理网络还是虚拟机
14.1.2 安装OpenSSH
14.1.3 安装图形化远程桌面软件Tightvnc
14.1.4 SUSE的防火墙设置
14.2 登录另一台Linux服务器
14.2.1 安全的Shell:SSH
14.2.2 登录X窗口系统:图形化的VNC
14.2.3 从Windows登录Linux
14.3 登录Windows服务器
14.4 为什么不使用Telnet
14.5 进阶:使用SSH密钥
14.5.1 为什么要使用密钥
14.5.2 生成密钥对
14.5.3 复制公钥至远程主机
14.5.4 测试配置
14.5.5 密钥的安全性
14.6 小结
14.7 习题
第4篇 娱乐与办公
第15章 多媒体应用
15.1 关于声卡
15.2 播放器软件简介
15.3 播放音频和视频
15.3.1 播放数字音乐文件
15.3.2 使用VLC Media Player播放MP4视频
15.4 Linux中的游戏
15.4.1 发行版自带的游戏
15.4.2 Internet上的游戏资源
15.5 小结
15.6 习题
第16章 图像查看和处理
16.1 查看图片
16.1.1 使用Konqueror和Nautilus查看图片
16.1.2 使用GIMP查看图片
16.1.3 使用Shotwell管理相册
16.2 使用GIMP处理图像
16.2.1 GIMP基础
16.2.2 漫步工具栏
16.2.3 实例:移花接木
16.2.4 使用插件
16.3 LibreOffice的绘图工具
16.4 小结
16.5 习题
第17章 打印机配置
17.1 打印机简介
17.1.1 打印机的语言:PDL
17.1.2 驱动程序和PDL的关系
17.1.3 Linux如何打印:CUPS
17.2 添加打印机
17.2.1 打印机的选择
17.2.2 连接打印机
17.2.3 让CUPS认识打印机
17.2.4 配置打印机选项
17.2.5 测试当前的打印机
17.3 管理CUPS服务器
17.3.1 设置网络打印服务器
17.3.2 设置打印机的类
17.3.3 操纵打印队列
17.3.4 删除打印机和类
17.4 回顾:CUPS的体系结构
17.5 KDE和Gnome的打印工具
17.6 小结
17.7 习题
第18章 办公软件的使用
18.1 常用的办公套件:LibreOffice.org
18.1.1 文字处理器
18.1.2 电子表格
18.1.3 演示文稿
18.1.4 文档兼容
18.2 查看PDF文件
18.2.1 使用Xpdf
18.2.2 使用Foxit Reader
18.3 小结
18.4 习题
第5篇 程序开发
第19章 Linux编程工具
19.1 编辑器的选择
19.1.1 Vim编辑器
19.1.2 Emacs编辑器
19.1.3 图形化编程工具
19.2 C和C++的编译器:GCC
19.2.1 编译第一个C程序
19.2.2 与编译有关的选项
19.2.3 优化选项
19.2.4 编译C++程序
19.3 调试:GDB
19.3.1 启动GDB
19.3.2 获得帮助
19.3.3 查看源代码
19.3.4 设置断点
19.3.5 运行程序和单步执行
19.3.6 监视变量
19.3.7 临时修改变量
19.3.8 查看堆栈情况
19.3.9 退出GDB
19.3.10 命令汇总
19.4 与他人协作:版本控制系统
19.4.1 什么是版本控制
19.4.2 安装及配置Git
19.4.3 建立项目仓库
19.4.4 创建项目并导入源代码
19.4.5 开始项目开发
19.4.6 修改代码并提交
19.4.7 解决冲突
19.4.8 撤销修改
19.4.9 命令汇总
19.5 小结
19.6 习题
第20章 Shell编程
20.1 正则表达式
20.1.1 什么是正则表达式
20.1.2 不同风格的正则表达式
20.1.3 快速上手:在字典中查找单词
20.1.4 字符集和单词
20.1.5 字符类
20.1.6 位置匹配
20.1.7 字符转义
20.1.8 重复
20.1.9 子表达式
20.1.10 反义
20.1.11 分支
20.1.12 逆向引用
20.2 Shell脚本编程
20.2.1 需要什么工具
20.2.2 第一个程序:Hello World
20.2.3 变量和运算符
20.2.4 表达式求值
20.2.5 脚本执行命令和控制语句
20.2.6 条件测试
20.2.7 循环结构
20.2.8 读取用户输入
20.2.9 脚本执行命令
20.2.10 创建命令表
20.2.11 其他有用的Shell命令
20.2.12 定制工具:安全的delete命令
20.3 Shell定制
20.3.1 修改环境变量
20.3.2 设置别名
20.3.3 个性化设置:修改.bashrc文件
20.4 小结
20.5 习题
第6篇 服务器配置
第21章 服务器基础知识
21.1 系统引导
21.1.1 启动Linux的基本步骤
21.1.2 Systemd和Target
21.1.3 服务器启动脚本
21.2 管理守护进程
21.2.1 什么是守护进程
21.2.2 服务器守护进程的运行方式
21.2.3 配置xinetd
21.2.4 举例:通过xinetd启动SSH服务
21.2.5 配置inetd
21.3 小结
21.4 习题
第22章 HTTP服务器——Apache
22.1 快速上手:搭建一个HTTP服务器
22.2 Apache基础知识
22.2.1 HTTP的工作原理
22.2.2 安装Apache服务器
22.2.3 启动和关闭服务器
22.3 设置Apache服务器
22.3.1 配置文件
22.3.2 使用日志文件
22.3.3 使用CGI
22.4 使用PHP+MySQL
22.4.1 PHP和MySQL简介
22.4.2 安装MariaDB
22.4.3 安装PHP
22.4.4 配置Apache
22.5 小结
22.6 习题
第23章 Samba服务器
23.1 快速上手:搭建一个Samba服务器
23.2 Samba基础知识
23.2.1 从源代码安装Samba服务器
23.2.2 启动和关闭服务器
23.3 Samba配置
23.3.1 关于配置文件
23.3.2 设置全局域
23.3.3 设置匿名共享资源
23.3.4 开启Samba用户
23.3.5 配合用户权限
23.3.6 设置孤立用户的共享目录
23.3.7 访问自己的主目录
23.4 安全性的几点建议
23.5 小结
23.6 习题
第24章 网络硬盘——NFS
24.1 快速上手:搭建一个NFS服务器
24.1.1 安装NFS服务器
24.1.2 简易配置
24.1.3 测试NFS服务器
24.2 NFS基础知识
24.2.1 关于NFS协议的版本
24.2.2 RPC:NFS的传输协议
24.2.3 无状态的NFS
24.3 NFS配置
24.3.1 理解配置文件
24.3.2 启动和停止服务
24.4 安全性的几点建议
24.4.1 充满风险的NFS
24.4.2 使用防火墙
24.4.3 压制root和匿名映射
24.4.4 使用特权端口
24.5 监视NFS的状态:nfsstat命令
24.6 小结
24.7 习题
第7篇 系统安全
第25章 任务计划——cron
25.1 快速上手:定期备份重要文件
25.2 cron的运行原理
25.3 crontab管理
25.3.1 系统的全局cron配置文件
25.3.2 普通用户的配置文件
25.3.3 管理用户的cron任务计划
25.4 理解配置文件
25.5 简单的定时:at命令
25.6 小结
25.7 习题
第26章 防火墙和网络安全
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...