跟阿銘學Linux第3版
為什么要寫這本書
這是一本什么樣的書
內容介紹
反饋及服務
特別致謝
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 學會使用快捷鍵
2.3.5 學會查詢幫助文檔 —— man
2.3.6 Linux系統目錄結構
2.3.7 如何正確關機、重啟
2.3.8 忘記root密碼怎么辦
2.3.9 學會使用救援模式
2.4 課后習題
3 遠程登錄Linux系統
3.1 安裝PuTTY
3.1.1 下載PuTTY
3.1.2 安裝
3.2 遠程登錄
3.2.1 使用密碼直接登錄
3.2.2 使用密鑰認證
3.3 兩台Linux相互登錄
3.3.1 克隆CentOS
3.3.2 使用密碼登錄
3.3.3 使用密鑰登錄
3.4 課后習題
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 課后習題
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.ext4和mkfs.xfs
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 xz壓縮工具
8.4 tar打包工具
8.4.1 打包的同時使用gzip壓縮
8.4.2 打包的同時使用bzip2壓縮
8.5 使用zip壓縮
8.6 zcat、bzcat命令的使用
8.7 課后習題
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 特殊符號$
10.4.7 特殊符號;
10.4.8 特殊符號~
10.4.9 特殊符號&
10.4.10 重定向符號>、>>、2>和2>>
10.4.11 中括號[]
10.4.12 特殊符號&&和||
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或者字符串2
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.6.1 break
12.6.2 continue
12.6.3 exit
12.7 shell腳本練習題
12.8 課后習題
13 Linux系統管理技巧
13.1 監控系統的狀態
13.1.1 使用w命令查看當前系統的負載
13.1.2 用vmstat命令監控系統的狀態
13.1.3 用top命令顯示進程所占的系統資源
13.1.4 用sar命令監控系統狀態
13.1.5 用nload命令查看網卡流量
13.1.6 用free命令查看內存使用狀況
13.1.7 用ps命令查看系統進程
13.1.8 用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 netfilter
13.4.3 firewalld
13.5 Linux系統的任務計划
13.5.1 命令crontab
13.5.2 cron練習題
13.6 Linux系統服務管理
13.6.1 chkconfig服務管理工具
13.6.2 systemd服務管理
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 配置httpd支持PHP
14.5 測試LAMP是否成功
14.5.1 測試配置文件是否正確
14.5.2 測試是否正確解析PHP
14.6 httpd配置
14.6.1 默認虛擬主機
14.6.2 用戶認證
14.6.3 配置域名跳轉
14.6.4 配置訪問日志
14.6.5 配置靜態元素過期時間
14.6.6 配置防盜鏈
14.6.7 訪問控制
14.7 PHP配置
14.7.1 PHP的disable_functions
14.7.2 配置error_log
14.7.3 配置open_basedir
14.8 PHP動態擴展模塊安裝
14.9 課后習題
15 LNMP環境配置
15.1 安裝MySQL
15.2 安裝PHP
15.3 安裝Nginx
15.4 Nginx配置
15.4.1 默認虛擬主機
15.4.2 用戶認證
15.4.3 域名重定向
15.4.4 Nginx的訪問日志
15.4.5 配置靜態文件不記錄日志並添加過期時間
15.4.6 Nginx防盜鏈
15.4.7 訪問控制
15.4.8 Nignx解析PHP
15.4.9 Nginx代理
15.4.10 Nignx配置SSL
15.5 php-fpm配置
15.5.1 php-fpm的pool
15.5.2 php-fpm的慢執行日志
15.5.3 php-fpm定義open_basedir
15.5.4 php-fpm進程管理
15.6 課后習題
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 使用vsftpd搭建FTP服務
18.1.1 安裝vsftpd
18.1.2 建立賬號
18.1.3 創建和用戶對應的配置文件
18.1.4 修改全局配置文件/etc/vsftpd/vsftpd.conf
18.2 安裝配置pure-ftpd
18.2.1 安裝pure-ftpd
18.2.2 配置pure-ftpd
18.2.3 建立賬號
18.2.4 測試pure-ftpd
18.3 課后習題
19 配置Tomcat
19.1 安裝Tomcat
19.1.1 安裝JDK
19.1.2 安裝Tomcat
19.2 配置Tomcat
19.2.1 配置Tomcat服務的訪問端口
19.2.2 Tomca的虛擬主機
19.3 測試Tomcat解析JSP
19.4 Tomcat日志
19.5 Tomcat連接MySQL
20 MySQL Replication配置
20.1 配置MySQL服務
20.2 配置Replication
20.2.1 設置主(master)
20.2.2 設置從(slave)
20.3 測試主從
20.4 課后習題
21 Linux集群
21.1 搭建高可用集群
21.1.1 keepalived工作原理
21.1.2 安裝keepalived
21.1.3 keepalived+Nginx實現Web高可用
21.2 搭建負載均衡集群
21.2.1 LVS介紹
21.2.2 LVS的調度算法
21.2.3 NAT模式LVS搭建
21.2.4 DR模式LVS搭建
21.2.5 keepalived+LVS
21.3 課后習題
22 配置監控服務器
22.1 Zabbix監控介紹
22.1.1 Zabbix組件
22.1.2 Zabbix架構
22.2 Zabbix監控安裝和部署
22.2.1 用yum安裝Zabbix
22.2.2 配置Nginx
22.2.3 配置MySQL
22.2.4 配置Web界面
22.2.5 Zabbix客戶端部署
22.3 Zabbix配置和使用
22.3.1 忘記Admin密碼
22.3.2 添加主機
22.3.3 添加模板
22.3.4 主機鏈接模板
22.3.5 圖形中的中文亂碼
22.3.6 添加自定義監控項目
22.3.7 配置告警
思維導圖
防止博客圖床圖片失效,防止圖片源站外鏈:
http://www.processon.com/chart_image/5e5b2eb5e4b02bc3ad6a11b7.png)
思維導圖在線編輯鏈接: