# 学习本套课程 前期的准备工作
## 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加密端口码发送邮件