跟阿铭学Linux pdf

图书网 2018年8月23日19:34:141 2.1K

跟阿铭学Linux 内容简介

《跟阿铭学Linux》是一本入门级的Linux学习教材,适合初学者阅读。由浅入深,内容精湛,案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。对于有工作经验的,你也可以把它当作工具书,它能解决你工作当中的一些需求和难题。

跟阿铭学Linux 目录

第1章 学习之初

1.1 Linux是什么

1.1.1 Linux的由来

1.1.2 Linux怎么读

1.1.3 常见Linux发行版

1.1.4 我们要学习哪个Linux发行版

1.2 Linux系统管理员要养成的习惯

1.2.1 要习惯使用命令行

1.2.2 操作要严谨

1.2.3 安全不可忽视

1.3 学习建议

1.3.1 稳中求进

1.3.2 善于总结文档

1.3.3 复习很关键

1.3.4 举一反三

1.4 课后习题

第2章 安装CentOS

2.1 安装虚拟机

2.1.1 下载虚拟机软件

2.1.2 安装虚拟机

2.1.3 新建一个虚拟机

2.2 安装Linux操作系统

2.2.1 下载CentOS镜像

2.2.2 设置虚拟光驱

2.2.3 安装CentOS

2.3 第一次亲密接触

2.3.1 初次使用命令行登录

2.3.2 设置网络

2.3.3 图形和命令行切换

2.3.4 Linux的7个运行级别

2.3.5 学会使用快捷键

2.3.6 学会查询帮助文档——man

2.3.7 Linux系统目录结构

2.3.8 如何正确关机、重启

2.3.9 忘记root密码怎么办

2.3.10 学会使用救援模式

2.4 课后习题

第3章 远程登录Linux系统

3.1 安装PuTTY

3.1.1 下载PuTTY

3.1.2 安装

3.2 设置IP

3.2.1 增加网卡

3.2.2 配置IP

3.3 远程登录

3.3.1 使用密码直接登录

3.3.2 使用密钥认证

3.4 两台Linux相互登录

3.4.1 克隆CentOS

3.4.2 使用密码登录

3.4.3 使用密钥登录

3.5 课后习题

第4章 Linux文件和目录管理

4.1 绝对路径和相对路径

4.1.1 命令cd

4.1.2 命令mkdir

4.1.3 命令rmdir

4.1.4 命令rm

4.2 环境变量PATH

4.2.1 命令cp

4.2.2 命令mv

4.3 几个与文档相关的命令

4.3.1 命令cat

4.3.2 命令tac

4.3.3 命令more

4.3.4 命令less

4.3.5 命令head

4.3.6 命令tail

4.4 文件的所属主和所属组

4.5 Linux文件属性

4.6 更改文件的权限

4.6.1 命令chgrp

4.6.2 命令chown

4.6.3 命令chmod

4.6.4 命令umask

4.6.5 修改文件的特殊属性

4.7 在Linux下搜索文件

4.7.1 用which命令查找可执行文件的绝对路径

4.7.2 用whereis命令查找文件

4.7.3 用locate命令查找文件

4.7.4 使用find搜索文件

4.8 Linux文件系统简介

4.9 Linux文件类型

4.9.1 常见文件类型

4.9.2 Linux文件后缀名

4.9.3 Linux的链接文件

4.10 课后习题

第5章 Linux系统用户与用户组管理

5.1 认识/etc/passwd和/etc/shadow

5.1.1 /etc/passwd解说

5.1.2 /etc/shadow解说

5.2 用户和用户组管理

5.2.1 新增组的命令groupadd

5.2.2 删除组的命令groupdel

5.2.3 增加用户的命令useradd

5.2.4 删除账户的命令userdel

5.2.5 使用命令chfn更改用户的finger

5.3 用户密码管理

5.3.1 命令passwd

5.3.2 命令mkpasswd

5.4 用户身份切换

5.4.1 命令su

5.4.2 命令sudo

5.4.3 不允许root远程登录Linux

5.5 使用密码工具管理密码

5.6 课后习题

第6章 Linux磁盘管理

6.1 查看磁盘或者目录的容量

6.1.1 命令df

6.1.2 命令du

6.2 磁盘的分区和格式化

6.2.1 增加虚拟磁盘

6.2.2 命令fdisk

6.3 格式化磁盘分区

6.3.1 命令mke2fs、mkfs.ext2、mkfs.ext3和mkfs.ext

6.3.2 命令e2label

6.4 挂载/卸载磁盘

6.4.1 命令mount

6.4.2 /etc/fstab配置文件

6.4.3 命令blkid

6.4.4 命令umount

6.5 建立一个swap文件增加虚拟内存

6.6 课后习题

第7章 文本编辑工具Vim

7.1 Vim的3种常用模式

7.1.1 一般模式

7.1.2 编辑模式

7.1.3 命令模式

7.2 Vim实践

7.3 课后习题

第8章 文档的压缩与打包

8.1 gzip压缩工具

8.2 bzip2压缩工具

8.3 tar压缩工具

8.3.1 打包的同时使用gzip压缩

8.3.2 打包的同时使用bzip2压缩

8.4 使用zip压缩

8.5 bzcat命令的使用

8.6 课后习题

第9章 安装RPM包或源码包

9.1 RPM工具

9.1.1 安装一个rpm包

9.1.2 升级一个rpm包

9.1.3 卸载一个rpm包

9.1.4 查询一个包是否已安装

9.1.5 得到一个已安装的rpm包的相关信息

9.1.6 列出一个rpm包的安装文件

9.1.7 列出某一个文件属于哪个rpm包

9.2 yum工具

9.2.1 列出所有可用的rpm包

9.2.2 搜索一个rpm包

9.2.3 安装一个rpm包

9.2.4 卸载一个rpm包

9.2.5 升级一个rpm包

9.2.6 使用本地光盘制作一个yum源

9.2.7 利用yum工具下载一个rpm包

9.3 安装一个源码包

9.3.1 下载一个源码包

9.3.2 解压源码包

9.3.3 配置相关的选项并生成Makefile

9.3.4 进行编译

9.3.5 安装

9.4 课后习题

第10章 shell基础知识

10.1 什么是shell

10.1.1 记录命令历史

10.1.2 命令和文件名补全

10.1.3 别名

10.1.4 通配符

10.1.5 输入/输出重定向

10.1.6 管道符

10.1.7 作业控制

10.2 变量

10.2.1 命令env

10.2.2 命令set

10.3 系统环境变量与个人环境变量的配置文件

10.4 linux shell中的特殊符号

10.4.1 *代表零个或多个任意字符

10.4.2 ?只代表一个任意的字符

10.4.3 注释符号#

10.4.4 脱义字符\

10.4.5 管道符|

10.4.6 命令cut

10.4.7 命令sort

10.4.8 命令wc

10.4.9 命令uniq

10.4.10 命令tee

10.4.11 命令tr

10.4.12 命令split

10.4.13 特殊符号$

10.4.14 特殊符号;

10.4.15 特殊符号~

10.4.16 特殊符号&

10.4.17 重定向符号>、>>、2>和2>>

10.4.18 中括号[ ]

10.4.19 特殊符号&&和||

10.5 课后习题

第11章 正则表达式

11.1 grep/egrep工具的使用

11.1.1 过滤带有某个关键词的行并输出行号

11.1.2 过滤不带有某个关键词的行并输出行号

11.1.3 过滤所有包含数字的行

11.1.4 过滤所有不包含数字的行

11.1.5 删除所有以“#”开头的行

11.1.6 删除所有空行和以“#”开头的行

11.1.7 过滤任意一个字符和重复字符

11.1.8 指定要过滤的字符的出现次数

11.1.9 筛选一个或多个前面的字符

11.1.10 筛选零个或一个前面的字符

11.1.11 筛选字符串1或者字符串

11.1.12 egrep中()的应用

11.2 sed工具的使用

11.2.1 打印某行

11.2.2 打印包含某个字符串的行

11.2.3 删除某行或者多行

11.2.4 替换字符或者字符串

11.2.5 调换两个字符串的位置

11.2.6 直接修改文件的内容

11.2.7 sed练习题

11.3 awk工具的使用

11.3.1 截取文档中的某个段

11.3.2 匹配字符或者字符串

11.3.3 条件操作符

11.3.4 awk的内置变量

11.3.5 awk中的数学运算

11.3.6 awk练习题

11.4 课后习题

第12章 shell脚本

12.1 什么是shell脚本

12.1.1 shell脚本的创建和执行

12.1.2 命令date

12.2 shell脚本中的变量

12.2.1 数学运算

12.2.2 和用户交互

12.2.3 shell脚本预设变量

12.3 shell脚本中的逻辑判断

12.3.1 不带else

12.3.2 带有else

12.3.3 带有elif

12.3.4 和文档相关的判断

12.3.5 case逻辑判断

12.4 shell脚本中的循环

12.4.1 for循环

12.4.2 while循环

12.5 shell脚本中的函数

12.6 shell脚本练习题

12.7 课后习题

第13章 Linux系统日常管理

13.1 监控系统的状态

13.1.1 w查看当前系统的负载

13.1.2 vmstat监控系统的状态

13.1.3 top显示进程所占的系统资源

13.1.4 sar监控系统状态

13.1.5 free查看内存使用状况

13.1.6 ps查看系统进程

13.1.7 netstat查看网络状况

13.2 抓包工具

13.2.1 tcpdump工具

13.2.2 wireshark工具

13.3 Linux网络相关

13.3.1 ifconfig查看网卡IP

13.3.2 给一个网卡设定多个IP

13.3.3 查看网卡连接状态

13.3.4 更改主机名

13.3.5 设置DNS

13.4 Linux的防火墙

13.4.1 selinux

13.4.2 iptables

13.5 Linux系统的任务计划

13.5.1 命令crontab

13.5.2 cron练习题

13.6 Linux系统服务管理

13.6.1 ntsysv服务配置工具

13.6.2 chkconfig服务管理工具

13.7 Linux下的数据备份工具rsync

13.7.1 rsync的命令格式

13.7.2 rsync常用选项

13.7.3 rsync应用实例

13.8 Linux系统日志

13.8.1 /var/log/messages

13.8.2 dmesg

13.8.3 安全日志

13.9 xargs与exec

13.9.1 xargs应用

13.9.2 exec应用

13.10 screen工具介绍

13.10.1 使用nohup

13.10.2 screen工具的使用

13.11 课后习题

第14章 LAMP环境搭建

14.1 安装MySQL

14.1.1 下载软件包

14.1.2 初始化

14.1.3 配置MySQL

14.2 安装Apache

14.3 安装PHP

14.4 Apache结合PHP

14.5 测试LAMP是否成功

14.5.1 测试配置文件是否正确

14.5.2 测试是否正确解析PHP

14.6 课后习题

第15章 LNMP环境配置

15.1 安装MySQL

15.2 安装PHP

15.3 安装Nginx

15.4 课后习题

第16章 常用MySQL操作

16.1 更改MySQL数据库root的密码

16.2 连接数据库

16.3 MySQL基本操作的常用命令

16.3.1 查询当前库

16.3.2 查询某个库的表

16.3.3 查看某个表的全部字段

16.3.4 查看当前是哪个用户

16.3.5 查看当前所使用的数据库

16.3.6 创建一个新库

16.3.7 创建一个新表

16.3.8 查看当前数据库的版本

16.3.9 查看MySQL的当前状态

16.3.10 查看MySQL的参数

16.3.11 修改MySQL的参数

16.3.12 查看当前MySQL服务器的队列

16.3.13 创建一个普通用户并授权

16.4 常用的SQL语句

16.4.1 查询语句

16.4.2 插入一行

16.4.3 更改表的某一行

16.4.4 清空某个表的数据

16.4.5 删除表

16.4.6 删除数据库

16.5 MySQL数据库的备份与恢复

16.5.1 MySQL备份

16.5.2 MySQL恢复

16.6 课后习题

第17章 NFS服务配置

17.1 服务端配置NFS

17.2 客户端挂载NFS

17.3 命令exportfs

17.4 课后习题

第18章 配置FTP服务

18.1 安装pure-ftpd

18.1.1 下载软件

18.1.2 安装pure-ftpd

18.1.3 配置pure-ftpd

18.1.4 建立账号

18.1.5 测试pure-ftpd

18.2 使用vsftpd搭建ftp服务

18.2.1 安装vsftpd

18.2.2 建立账号

18.2.3 创建和用户对应的配置文件

18.2.4 修改全局配置文件/etc/vsftpd.conf

18.3 课后习题

第19章 配置Squid服务

19.1 Squid是什么

19.2 搭建Squid正向代理

19.3 搭建Squid反向代理

19.4 Squid命令常用选项

19.5 课后习题

第20章 配置Tomcat

20.1 安装Tomcat

20.1.1 安装JDK

20.1.2 安装Tomcat

20.2 配置Tomcat

20.2.1 配置Tomcat服务的访问端口

20.2.2 配置新的虚拟主机

20.3 测试Tomcat

第21章 配置Samba服务器

21.1 Samba的配置文件smb.conf

21.2 Samba实践

21.2.1 Samba实践一

21.2.2 Samba实践二

21.2.3 使用Linux访问Samba服务器

21.3 课后习题

第22章 MySQL Replication配置

22.1 配置MySQL服务

22.2 配置Replication

22.2.1 设置master

22.2.2 设置slave

22.3 测试主从

22.4 课后习题

跟阿铭学Linux 精彩文摘

本章主要介绍什么是Linux以及如何学习Linux。关于Linux的历史,阿铭介绍的内容并不多,如果你非常感兴趣,可以去网上找一些资料来了解一下。在这一章里,阿铭提供的学习方法并不一定适合你,请根据自己的实际情况加以调整。总之,我们的目的只有一个——快速、高效地学习Linux。

1.1 Linux是什么

Linux其实是一个操作系统平台。我们平时常用的操作系统叫做Windows。当然,也有不少朋友使用苹果电脑,苹果电脑所用的系统叫做Mac OS。也许你还听说过一种系统叫做Unix,Unix是比Linux更加古老的一种系统,多用在服务器领域。

1.1.1 Linux的由来

说到Linux的历史,故事就多了,只不过阿铭觉得讲太多你也记不住,甚至会产生放弃学习Linux的念头,所以这里只简要介绍一下Linux的由来。

在Linux诞生之前,一直是Unix的天下。只不过当时Unix并不能免费获得,要想使用必须先购买授权,这在当时是非常昂贵的,很少有人能承担得起。

在这样的背景下,很多计算机爱好者非常渴望有一个便宜或者免费的操作系统供大家学习研究。1983年,计算机界的牛人Richard Stallman发起了一个计划,目的就是构建一套完全自由的操作系统,这个计划就是著名的GNU计划。所谓完全自由,就是要求加入GNU计划的所有软件都必须自由使用、自由更改、自由发布。也就是说,软件发布必须要发布它的源代码,这个源代码可以供别人自由使用,也可以随便更改,但是必须要把更改后的代码发布。当然了,光说不行,必须要有明文规定许可协议来制约大家如何自由,这套规定许可就是著名的GPL协议。

GNU计划发起后,有很多支持者,所以在这期间产生了许多非常棒的软件,比如Vi、Emacs、gcc等。但遗憾的是,一直没有一个比较完美的操作系统出现。直到1991年,芬兰大学生林纳斯•本纳第克特•托瓦兹(Linus Benedict Torvalds)基于兴趣开发了一个类Unix操作系统,一经发布便得到了广大爱好者的追捧,这个系统就是Linux。1994年,Linux加入GNU计划并采用GPL协议发布。自此,GNU/Linux真正实现了构建一套完全自由的操作系统的设想。

1.1.2 Linux怎么读

对于Linux这个英文单词,中国人的发音各式各样,有的读作['lɪnɪks](“李尼克斯”),有的读作['linju:ks](“李纽克斯”),有的读作['lɪnəks](“李呢克斯”)。官方给出的标准发音为['li:nэks] ,写成中文就是“李呢克斯”。如果你之前并非标准发音,那么阿铭希望你日后纠正一下。

1.1.3 常见Linux发行版

在Linux加入GNU计划之前,就已经有不少组织把Linux包装发行了,其中比较出名的有Debian(1993)和Slackware(1993)。而Linux加入GUN之后也有一部分发布版本产生,比如RedHat(1994)就是在这时候诞生的。而大家所熟知的Ubuntu(2004)出现得比较晚,它其实是在Debian的基础上发展起来的,也就是说,Ubuntu只是Debian的一个分支。当然,Slackware也有一个比较出名的分支,那就是SUSE(1994)。

可以这样说,目前大家熟悉的所有Linux发行版都是基于上面的几个发行版发布的。这几年比较流行的Android手机操作系统也是一种Linux发行版。说到RedHat,我想大家会想到其他两个发行版,那就是Fedora和CentOS。下面阿铭就来说一说它们和RedHat有什么关系。

RedHat是Linux非常出名的一大分支,有很多发行版都是基于这个分支的。我想大家也听说过国内的一款Linux发行版RedFlag(1999),它就是基于RedHat发行的,只不过这个版本并不是很流行,用的人不多。2002年,RedHat推出面向企业的新的发行版RedHat Enterprise(简称RHEL),而之前的RedHat不再发行,但是它并没有消失,而是由另一个发行版延续,这就是著名的Fedora。其实这个发行版对于RHEL来说是个开发实验版本,因为RHEL上的很多新技术都要先在Redora上测试,如果稳定,再移植到RHEL上。总的来说,Fedora这个发行版也是十分稳定和优秀的,所以有很多爱好者使用它。

接下来,阿铭要介绍一下CentOS这个发行版。它诞生于2003年,如果你使用过RHEL和CentOS这两个发行版,那肯定会说它们俩简直太像了。没错,CentOS和RHEL几乎长得一模一样,这是为什么呢?大家都知道,RedHat是基于GNU的,那么它就得遵循GPL协议。RHEL发布后要发布所有源代码,所以CentOS就是拿RHEL的源代码编译而来的,只是有些地方稍微改动了一下。2014年2月,CentOS被RedHat收于囊中,因为CentOS这个发行版已经广泛流行,这无疑引起了RedHat官方的重视。

1.1.4 我们要学习哪个Linux发行版

刚才已经介绍过Linux发行版的几大知名分支,那我们要学习的肯定是这几大分支中的一种。因为知名,所以用得多;因为用得多,所以值得我们去学习。在学习Linux之前,阿铭要问你一个问题:“我们学习Linux的目的是什么?”阿铭觉得有八成的人会回答:“为了找一份与Linux相关的工作。”如此,问题又来了:“你知道大多数企业用哪个发行版的Linux搭建服务器吗?”虽然我们没有官方统计的数据作为依据,但是阿铭工作了这么多年,凭经验来分析,国内大多数企业都使用RHEL作为服务器操作系统。

RHEL是RedHat公司推出的一款针对企业的发行版Linux,可以免费下载使用。但是要想获得官方授权,就必须要购买授权协议(也就是所谓的服务),而这个服务费并不便宜。如果我们只是用它来学习,那就无所谓了。只不过会有一个小小的问题:RHEL在没有获得授权的情况下不能使用yum工具(这个工具阿铭会在日后详细介绍,它非常有用),而CentOS有免费的yum工具可以使用。

阿铭推荐大家以后使用CentOS发行版来学习Linux,具体理由如下。

国内多数企业使用RHEL搭建服务器。

目前使用CentOS的企业越来越多。

CentOS和RHEL几乎一样,而且CentOS有免费的yum工具可以使用。

CentOS目前已经加入RedHat公司,且依然完全免费。

本书所有案例均使用CentOS发行版完成。

阿铭并非强制你日后一定要使用CentOS,其实所有版本的Linux都大同小异,只要学会了其中一个,学其他发行版自然是水到渠成的事。

图书网:跟阿铭学Linux pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

操作系统/系统开发

计算机操作系统(第四版)pdf

计算机操作系统(第四版) 内容简介 由汤小丹、梁红兵、哲凤屏、汤子瀛编著的《计算机操作系统(第4版高等学校计算机类十二五规划教材)》对传统操作系统(0S)和现代操作系统均做了较为全面的介绍。全书共分1...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • jiji
      jiji 9

      好东西