图书目录

目录

第1章Linux简介与安装1

1.1Linux简介1

1.1.1Linux的起源2

1.1.2Linux的特点4

1.1.3Linux的版本4

1.2硬盘分区7

1.2.1MBR分区7

1.2.2GPT分区9

1.3实例——在VirtualBox中安装Fedora11

1.3.1安装VirtualBox11

1.3.2安装Fedora12

1.4使用U盘安装Fedora19

1.4.1硬盘分区示例19

1.4.2实例——在Fedora中制作BIOS启动的U盘安装盘19

1.4.3实例——在Fedora中制作UEFI/BIOS启动的U盘安装盘21

1.5引导工具GRUB2的设置与应用22

1.5.1GRUB2与GRUB Legacy的区别22

1.5.2GRUB2配置文件23

1.5.3GRUB2脚本的修改24

1.5.4GRUB2多余引导项的删除27

1.5.5GRUB2命令行环境的常用命令27

1.5.6实例——GRUB2的应用30

1.6本章小结31

1.7习题31

第2章Linux的用户接口与文本编辑器33

2.1GNOME及其配置工具33

2.1.1GNOME33

2.1.2GNOME Shell和GNOME Classic34

2.1.3GNOME配置工具: gsettings、dconf、dconfeditor35

2.1.4GDM38

2.1.5gnomesession38

2.1.6输入法39

2.2Shell39

2.2.1控制台与终端40

2.2.2Shell命令行40

2.2.3命令、子命令、选项和参数的自动补全功能41

2.2.4历史命令: history41

2.2.5命令别名: alias43

2.2.6通配符与文件名44

2.2.7输入/输出重定向与管道46

2.2.8Linux快捷键49

2.3Linux中的文本编辑器简介51

2.3.1GNOME中的文本编辑器51

2.3.2vi、vim与Emacs文本编辑器51

2.3.3nano52

2.4vim的5种编辑模式53

2.5实例——使用vim编辑文件56

2.6本章小结60

2.7习题60

Linux操作系统实用教程(Fedora)目录

第3章系统管理62

3.1用户管理62

3.1.1用户管理命令: useradd、passwd、userdel、usermod、chage62

3.1.2组管理命令: groupadd、groupdel、groupmod、gpasswd、newgrp66

3.1.3用户查询命令: who、w、id、whoami、last、lastlog69

3.1.4su和sudo命令72

3.2进程管理79

3.2.1监视进程命令: ps、pstree、top79

3.2.2搜索进程命令: pgrep、pidof、ps|grep86

3.2.3终止进程命令: kill、killall、pkill、xkill87

3.2.4进程的优先级命令: nice、renice89

3.2.5前台进程和后台进程命令与快捷键: command &、Ctrl+z、jobs、fg、bg91

3.2.6周期性/定时执行任务命令: crontab、at、batch、watch91

3.2.7以守护进程方式执行任务命令: nohup97

3.2.8终端复用器: tmux97

3.3系统和服务管理97

3.3.1系统和服务管理器: systemd97

3.3.2监视和控制systemd的命令: systemctl98

3.3.3系统资源: 单元100

3.3.4单元的配置文件101

3.3.5target(目标)、runlevel(运行级别)104

3.3.6systemd定时器107

3.3.7使用systemd开机自动启动用户程序109

3.3.8使用rc.local开机自动启动用户程序110

3.3.9systemd系统管理111

3.3.10日志管理: journalctl112

3.4其他系统管理113

3.4.1查询系统信息: uname、hostname、free、uptime、dmidecode、lscpu、

lsmem、lspci、lsusb113

3.4.2/proc目录和sysctl命令117

3.4.3系统日志和dmesg命令119

3.4.4关机等命令: shutdown、halt、reboot、poweroff、runlevel、logout、

startx120

3.4.5其他命令: man、date/hwclock、cal、eject、clear/reset121

3.5系统监视124

3.5.1GNOME系统监视器: gnomesystemmonitor命令124

3.5.2系统活动情况报告: sar命令124

3.6本章小结128

3.7习题128

第4章磁盘与文件管理130

4.1磁盘管理130

4.1.1文件系统挂载命令和文件: fdisk l、mount、umount、findmnt、lsblk、

blkid、partx、/etc/fstab、e2label/xfs_admin130

4.1.2查看磁盘空间命令: df、du138

4.1.3其他磁盘相关命令: fdisk、mkfs、mkswap、fsck、vmstat、iostat140

4.1.4制作镜像文件命令: dd、cp、mkisofs148

4.1.5数据同步命令: sync150

4.2文件与目录管理151

4.2.1Linux文件系统的目录结构151

4.2.2查看目录内容命令: cd、pwd、ls、nautilus153

4.2.3查看文件内容命令: more、less、cat、tac、nl、head、tail、wc157

4.2.4检查文件类型命令: file、stat159

4.2.5文件完整性命令: cksum、md5sum161

4.2.6文件与目录的创建、复制、删除、转移及重命名命令: touch、mkdir、

rmdir、mv、rm、cp163

4.2.7文件搜索命令: find、locate、which、whereis、type168

4.2.8文件操作命令: grep、sed、awk、tr172

4.2.9文件的追加、合并、分割命令: echo、cat、uniq、cut、paste、join、split179

4.2.10文件的比较、排序命令: diff、patch、cmp、sort185

4.2.11文件的链接命令: ln190

4.2.12设备文件命令: mknod191

4.2.13进程与文件命令: lsof192

4.2.14文件下载命令: curl、wget、HTTPie194

4.3文件与目录的安全196

4.3.1chmod与umask命令196

4.3.2chown命令199

4.3.3chgrp命令200

4.3.4chroot命令200

4.4强制位与粘贴位201

4.5文件隐藏属性: lsattr、chattr命令203

4.6访问控制列表(ACL): getfacl、setfacl、chacl命令205

4.7文件的压缩与解压缩210

4.7.1gzip和gunzip命令210

4.7.2bzip2、bunzip2命令213

4.7.3xz命令213

4.7.47z、7za命令214

4.7.5zcat、zless、bzcat、bzless命令215

4.7.6tar命令215

4.7.7cpio命令218

4.8文件关联219

4.8.1MIME类型219

4.8.2添加自定义MIME类型220

4.9本章小结222

4.10习题222

第5章软件包管理225

5.1RPM225

5.1.1RPM简介225

5.1.2RPM的使用227

5.2DNF232

5.2.1DNF简介232

5.2.2使用dnf命令232

5.2.3DNF的配置文件234

5.2.4BaseOS和Application Stream237

5.2.5安装第三方源239

5.2.6创建本地仓库240

5.2.7升级系统(Fedora)241

5.3软件包管理GUI: gnomesoftware命令241

5.4本章小结241

5.5习题242

第6章组建Linux局域网243

6.1网络接口配置243

6.1.1GUI方式: gnomecontrolcenter、nmconnectioneditor命令244

6.1.2CLI方式: nmcli命令245

6.1.3systemdresolved和resolvectl命令247

6.1.4ifconfig、dhclient、route、ping、traceroute命令250

6.1.5nettools与iproute2工具包253

6.2DHCP服务器257

6.2.1DHCP概述257

6.2.2实例——设置DHCP服务器258

6.2.3实例——设置DHCP客户机264

6.3Samba服务器266

6.3.1Samba概述266

6.3.2实例——配置Samba服务器267

6.3.3Samba服务器的配置文件269

6.3.4SELinux: getsebool、setsebool、chcon、restorecon命令271

6.4NFS服务器276

6.4.1NFS服务简介276

6.4.2NFS服务器端的配置276

6.4.3NFS客户端的配置279

6.5防火墙的设置——iptables279

6.5.1Netfilter/iptables简介279

6.5.2iptables的语法及其应用280

6.5.3实例——防火墙的设置: iptables282

6.5.4实例——NAT的设置: iptables285

6.6防火墙的设置——firewalld289

6.6.1firewalld简介289

6.6.2firewalld配置: firewallconfig、firewallcmd命令292

6.6.3实例——NAT的设置: firewallcmd命令300

6.7代理服务器Squid的设置301

6.7.1代理服务器Squid简介302

6.7.2实例——局域网使用Squid共享上网303

6.8本章小结308

6.9习题308

第7章提供Internet服务311

7.1SSH311

7.1.1SSH简介311

7.1.2SSH服务器的设置312

7.1.3SSH客户端的应用312

7.1.4SSH客户端通过密钥访问SSH服务器313

7.2Linux终端复用器——Tmux313

7.2.1Tmux简介313

7.2.2Tmux的会话、窗口、窗格314

7.2.3实例——登录远程服务器使用Tmux316

7.3DNS服务及配置317

7.3.1DNS概述317

7.3.2Bind319

7.3.3实例——设置DNS服务器319

7.3.4view命令327

7.3.5测试DNS服务器: nslookup、host、dig命令330

7.3.6辅助DNS服务器332

7.3.7Cacheonly服务器332

7.4WWW服务器的设置——Apache333

7.4.1Apache333

7.4.2Apache服务器的默认配置333

7.4.3实例——静态网站建设335

7.4.4实例——为每个用户配置Web站点335

7.4.5实例——配置基于IP地址的虚拟主机337

7.4.6实例——基于主机的授权339

7.4.7实例——基于用户的认证340

7.4.8实例——组织和管理Web站点342

7.4.9CGI运行环境的配置343

7.5WWW服务器的设置——Nginx344

7.5.1安装 Nginx345

7.5.2安装PHP和PHPFPM345

7.5.3安装 MariaDB345

7.5.4MariaDB的简单应用346

7.5.5实例——动态网站建设(LNMP)350

7.6FTP服务器的设置351

7.6.1FTP概述351

7.6.2实例——设置FTP服务器(vsftpd)353

7.6.3FTP客户端(FileZilla)357

7.7邮件服务器简介358

7.8本章小结360

7.9习题361

附录网站资源362

参考文献363