# 學習本套課程 前期的準備工作
## 1、需要準備一臺linux服務器
>[success] 建議在本地使用虛擬機,進行學習。如果對虛擬機不熟悉的朋友,可以先看一下以下兩個教程:
[Vmware虛擬機入門與進階](https://chuanke.baidu.com/6027737-223612.html)
[Linux系統(CentOS)安裝及初學者常見問題](https://chuanke.baidu.com/6027737-214202.html)
## 2、建議
>[success]本套課程所使用的Linux服務器是:CentOS 6.8版本
1、建議大家也安裝此版本,在這里只是建議,如果您安裝的CentOS6.4和6.5等版本也是可以的。
2、在安裝時,請使用最小化安裝!
## 3、工具介紹
>[success]在里給大家介紹幾款linux中常用的工具
### `yum` RPM包管理器
>[info]#### yum 主要的一下命令如下:
>`yum search` 軟件包 搜索軟件包
`yum install`安裝rpm軟件包
`yum remove` 刪除指定的rpm軟件包
`yum update` 更新rpm軟件包
`check-update`檢查是否有可用的更新rpm軟件包
`yum makecache` 是 將服務器上的軟件包信息 現在本地緩存,以提高 搜索 安裝軟件的速度
`clean` 清理yum過期的緩存
`deplist`顯示rpm軟件包的所有依賴關系
### vim
>[info]Vim是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。VIM是自由軟件。Vim普遍被推崇為類Vi編輯器中最好的一個。
~~~
yum -y install vim
~~~
#### vim/vi 的使用
>[danger] vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。
命令模式下:
:i 進入編輯模式
:q 退出
:q! 強制退出
:wq 保存并退出
:set number 顯示行號
:set nonumber 隱藏行號
/apache 在文檔中查找apache 按n跳到下一個,shift+n上一個
yyp 復制光標所在行,并粘貼
h(左移一個字符←)、j(下一行↓)、k(上一行↑)、l(右移一個字符→)
### wget
>[info]`wget`是一個從網絡上自動下載文件的自由工具,支持通過 HTTP、HTTPS、FTP 三個最常見的 TCP/IP協議 下載,并可以使用 HTTP 代理。`wget` 這個名稱來源于 `World Wide Web` 與 `get` 的結合。
~~~
yum -y install wget
~~~
### Xshell5
>[info]` Xshell`,是一個強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議。Xshell 通過互聯網到遠程主機的安全連接以及它創新性的設計和特色幫助用戶在復雜的網絡環境中享受他們的工作。
軟件官網: http://www.netsarang.com/
### WinSCP
>[info]`WinSCP`是一款支持SSH(Secure SHell)的SCP(Secure CoPy)文件傳輸軟件。只要文件主機支持SSH協定,你就可以安心的下載、上傳文件。他的操作界面是參考NC(Norton Commander)的雙視窗排列方式,使用起來不會有太大的困難。在WinSCP中,一般的文件操作都沒有問題,如:復制、移動、更名文件或文件夾等。
軟件官網: http://winscp.net/eng/index.php
>[danger]`ctrl+l`清屏
`ctrl+c`中止或取消(中止當前正在執行的命令)
`ctrl+z` 把當前命令送至后臺
## 常用的linux命令
>[success] 關于Linux參考查詢手冊,請登錄:http://man.linuxde.net/ 也可到:https://linux.cn/topic-commands.html
>[info]**常用指令**
`uname`打印當前系統相關信息(內核版本號、硬件架構、主機名稱和操作系統類型等)
 -a或--all:顯示全部的信息;
 -m或--machine:顯示電腦類型;
 -n或-nodename:顯示在網絡上的主機名稱;
 -r或--release:顯示操作系統的發行編號;
 -s或--sysname:顯示操作系統名稱;
 -v:顯示操作系統的版本;
 -p或--processor:輸出處理器類型或"unknown";
 -i或--hardware-platform:輸出硬件平臺或"unknown";
 -o或--operating-system:輸出操作系統名稱;
 --help:顯示幫助;
 --version:顯示版本信息。
`cat /etc/issue` 顯示的是發行版本信息
`lsb_release -a` (適用于所有的linux,包括Redhat、SuSE、Debian等發行版,但是在debian下要安裝lsb)
`ls`顯示文件或目錄
 -l 列出文件詳細信息l(list)
 -a 列出當前目錄下所有文件及目錄,包括隱藏的a(all)
`mkdir` 創建目錄
-p 創建目錄,若無父目錄,則創建p(parent)
`cd` 切換目錄
`echo` 創建帶有內容的文件。
`cat` 查看文件內容
`cp` 拷貝
`mv` 移動或重命名
`rm` 刪除文件
 -r 遞歸刪除,可刪除子目錄及文件
 -f 強制刪除
`find` 在文件系統中搜索某文件
`wc` 統計文本中行數、字數、字符數
`grep` 在文本文件中查找某個字符串
`pwd` 顯示當前目錄
`ln` 創建鏈接文件
`tar` 解壓縮文件
**磁盤管理命令**
`fdisk` 觀察硬盤實體使用情況,也可對硬盤分區
  -b<分區大小>:指定每個分區的大小;
  -l:列出指定的外圍設備的分區表狀況;
  -s<分區編號>:將指定的分區大小輸出到標準輸出上,單位為區塊;
  -u:搭配"-l"參數列表,會用分區數目取代柱面數目,來表示每個分區的起始地址;
  -v:顯示版本信息。
`lsblk` 列出所有可用塊設備的信息,而且還能顯示他們之間的依賴關系,但是它不會列出RAM盤的信息
`df`顯示磁盤分區上的可使用的磁盤空間
 -h 以可讀性較高的方式來顯示信息
`blkid` 對查詢設備上所采用文件系統類型進行查詢(`查看磁盤UUID信息`)
- 前言
- 前期準備
- Linux新服務器的前期配置
- 認識linux下的Web服務器
- LNMP一鍵安裝包快速部署web服務器
- LAMP服務器環境部署
- LAMP服務器管理
- LNMP服務器環境部署
- LNMP服務器管理
- lnmp一鍵安裝包-常見問題
- 使用包管理器快速部署環境
- 包管理器快速部署LAMP服務器環境
- 升級PHP和mysql版本
- 包管理器快速部署LNMP服務器環境
- 使用源碼包部署Linux服務器web環竟
- 編譯LAMP服務器環境部署
- apache安裝與配置
- Mysql的安裝與配置
- PHP的安裝與配置
- 編譯LNMP服務器環境部署
- nginx服務啟動腳本
- 源碼安裝常見問題
- Centos6與Centos7的區別
- 默認控制系統服務工具不同
- 設置開機啟動的方式不同
- 編寫service啟動腳本
- 編寫systemctl啟動腳本
- 服務器安全
- 隱藏服務器信息
- Linux服務器防火墻設置
- 防火墻設置腳本
- 郵件發送
- 任務腳本的編寫
- 服務器磁盤和服務器健康狀態腳本
- 服務器登錄報警腳本
- 數據庫備份腳本
- 定時任務及應用
- 常見問題
- linux中使用ping命令不通的問題
- linux中無法發送郵件的問題
- mailx通過ssl方式發送郵件
- Linux下的常用命令
- 系統信息
- 關機 (系統的關機、重啟以及登出 )
- 文件和目錄
- 文件搜索
- 掛載一個文件系統
- 磁盤空間
- 用戶和群組
- 文件的權限
- 文件的特殊屬性
- 打包和壓縮文件
- RPM 包
- YUM 軟件包升級器
- DEB 包 (Debian, Ubuntu 以及類似系統)
- APT 軟件工具 (Debian, Ubuntu 以及類似系統)
- 查看文件內容
- 文本處理
- 字符設置和文件格式轉換
- 文件系統分析
- 初始化一個文件系統
- SWAP文件系統
- 備份
- 光盤
- 網絡 - (以太網和WIFI無線)
- Mysql配置文件
- Linux TCP/UDP 常用端口
- 使用SSL加密端口碼發送郵件