之前有小伙伴们留言说,想要些常见的操作终端的命令,今天就给大家整理了份很全很全的命令指南
## **1. Linux版本**
### **a. 内核版本格式**
- **xx.yy.zz**: xx主版本、yy次版本、zz末版本
- **小于2.6版本**:次版本奇数为开发版、次版本偶数为稳定版
- **大于2.6版本**: longterm 长期支持版本、stable 稳定版本、 mainline 主线开发版本
### **b. 常见发行版本**
1. Red Hat
2. Ubuntu
3. CentOS
4. Debian
5. Fedora
## **2. 重要概念**
1. root账号:对应windows系统的管理员账号
2. " / " 根目录:对应windows系统『我的电脑』
## **系统管理篇**
系统管理篇是对于初学者来说是最脑壳大的一些知识点,不过没有关系大家撸起袖子照着怼就是
## **1. 逻辑卷与LVM**
### **a.卷用于分层管理磁盘**
### **b.lvm分为三层**
1. PV物理卷
2. VG卷组
3. LV逻辑卷
### **c.常用命令**
1. pvcreate 建立PV
2. vgcreate 建立VG
3. lvcreate 建立LV
4. lvextend 拓展LV
5. pvs 查看PV
6. vgs 查看VG
7. lvs 查看LV
## **2. 文本与文件查找**
### **a.grep**
1. -i 忽略大小写
2. -v 反转
3. -a 处理二进制文件
4. -R 递归方式
### **b.find**
1. -name 按照文件名搜索
2. -perm 按照权限搜索
3. -user 按照属主搜索
4. -type 按照文件类型搜索
## **3. 网络配置**
### **a.网络配置命令**
1. ifconfig 查看和配置网络接口
2. ip 查看和配置网络接口、路由
3. nestat 查看进程监听端口状态
4. network 与 NetworkManager 网络管理脚本
### **b.配置文件**
1. ifcfg-eth0 eth0 网卡配置文件
2. networking 主机名配置文件
3. resolv.conf 域名配置文件
## **4. 软件安装与更新**
### **a.rpm安装**
1. -i 安装
2. -q 查询
3. -U 升级
4. -e 卸载
### **b.源代码编译安装**
1. ./configure
2. make
3. make install
### **c.移动与重命名mv**
1. 安装 yum install xxx (软件名)
2. 卸载 yum remove xxx
3. 更新 yum update xxx
## **5. 文件系统**
### **a.常用命令**
1. fdisk 分区工具
2. 1. -l (小写L)查看分区信息
2. fdisk/dev/sdx 为某一个存储分区
1. df 查看分区使用空间大小
2. du 查看文件夹使用空间大小
3. mkfs 格式化命令
4. 1. mkfs.ext4 格式化为ext4文件系统
2. mkfs.xfs 格式化为XFS文件系统
### **b.ex4**
## **6. 服务与日志**
### **a.服务状态的查看命令**
1. service 用法:service 服务名称 start | stop | restart | status
2. systemctl 用法:systemctl start | stop | restart | status 服务名称 .service
### **b.服务配置文件的编写**
### **c.常用系统日志**
1. /var/log 系统日志默认目录
2. message 系统日志
3. dmesg 内核启动日志
4. secure 安全日志
### **d.应用程序日志**
## **7. 磁盘分区**
### **a.链接文件**
1. 符号链接
2. 硬链接
### **b.mount 挂载命令**
1. -t 文件系统类型
2. -o 挂载选项
3. 1. ro 只读挂载
2. rw 读写挂载
3. remount 重挂载
### **c.配置文件 /etc/fstab**
## **8. 系统启动过程与故障修复**
### **a.系统启动过程简述**
1. BIOS 选择启动设备
2. MBR 硬盘可引导扇区
3. GRUB Linux 系统可引导工具
4. 内核
5. init 或 systemd(CentOS 7 以前为 init)
6. service 服务或 systemd 服务(CentOS 7 以前仅有 service 服务)
7. 启动tty等待用户登录
### **b.更新内核版本**
1. RPM 方式更新
2. 1. 安装速度快
2. 没有最新的版本
1. 源代码编译方式更新
2. 1. 可以使用最新的版本
2. 编译时间较长
## **Shell篇**
## **1.管道与重定向**
### **a.管道符 |**
### **b.重定向符号**
1. < 输入重定向
2. 输出重定向,覆盖方式
3. 输出重定向,追加方式
### **c.sort 对文本进行排序**
### **d.join 连接俩个字符串**
## **2.进程与内存的查看与调整**
### **a.进程查看命令**
ps top 对当前系统的进程信息进行查看
### **b.内存查看命令**
- free 查看系统的内存使用率
- sar 显示更详细的系统运行状态,用于故障排除
### **c.常用的第三方系统状态查看命令**
iftop 查看某一进程的网络流量
## **3.转义与引用**
### **a.特殊符号**
### **b.转义符**
### **c. 引用符号**
- 单引号 ''
- 双引号 ""
## **4.变量与环境变量**
### **a.变量的定义**
1. shell 变量无需声明
2. 销毁变量 unset 变量名
### **b.变量的赋值**
变量名 = 变量值
### **c.环境变量**
PATH 命令解释路径
### **d.环境变量的配置文件**
1. /etc/profile 系统环境变量默认保存文件
2. /etc/bashrc login shell 执行初始化的配置文件
## **5.运算符**
### **a.运算符号**
\+ - * / % 加 减 乘 除 取余
### **b.shell运算的弊端**
1. 支持整数运算,但和编译语言比起来效率很低
2. 对浮点运算支持不好
## **6.循环**
### **a.while 循环**
1. while 循环根据 while 判断结果确定是否继续执行
2. 判断的结果为命令的返回值,如果为 0 则循环会继续执行
3. 如果判断结果一直为真 "O",无法到达循环结束称作死循环
### **b.for 循环**
1. Shell 的 for 循环使用遍历方式, for...in...格式
2. for 循环支持C语言写法,需要使用(())格式
3. 支持使用break、continue对循环进行控制
4. for 循环支持嵌套使用
## **7.函数**
### **a.函数的定义**
1. 函数是对重复利用的代码进行封装
2. 函数的定义方法是函数名() {}
### **b.函数的使用**
使用函数的方式是直接使用函数名
## **8.计划任务**
### **a.一次性计划任务 at**
### **b. 周期性计划任务 cron**
1. 查看周期性计划任务 crontab -l
2. 编辑周期性计划任务 crontab -e
## **9.认识BASH**
### **a.Shell是命令解释器,翻译用户的命令给内核执行,并将结果返回给用户**
### **b.Shell脚本的用处**
1. 组合系统命令实现自动化功能
2. 组成脚本的基本元素是命令,不用深入掌握系统函数库
### **c.内建命令与外部命令**
1. 内建命令不会创建子进程,但是对子Shell无效
2. 外部命令会创建子进程
## **10.测试与判断**
### **a.test 测试**
1. 可以书写为[]
2. 可以使用[[]]扩展格式
3. 文件测试
4. 数字比较
### **b.if 判断**
1. 基本原理:根据命令的返回值是否为0进行分支判断
2. 支持 if...else 写法
3. 支持if嵌套写法
### **c.case分支**
1. case 分支一般作为if 判断的补充
2. case 分支的结束符号是 ";;",它是";"的转义形式
## **五、文本操作篇**
## **1.正则表达式与文本搜索**
### **a.元字符大全**
1. . 单个字符
2. \* 一个(包括零个)它前面的字符
3. [...] 匹配方括号中的任意字符
4. ^ 匹配行开始
5. $ 匹配行结尾
6. \ 转译特殊字符
7. {...} 匹配出现的次数
8. \+ 匹配前面的正则表达式出现一次或多次
9. ? 匹配前面的正则表达式出现零次或一次
10. | 并列匹配
11. () 分组
12. POSIX 字符类
## **2.Sed基础**
### **a.基本语法**
1. sed 'cmd'filename
2. sed -e'cmd' -e'cmd' filename
### **b.sed的工作方式**
模式空间
## **3.sed基础命令**
1. s 替换
2. d 删除
3. a 追加
4. i 插入
5. c 更换
6. n 下一步
7. r 读文件
8. w 写文件
9. q 退出
10. y 替换
11. p 打印
## **4.sed 高级命令**
### **a.多行命令**
1. N 将多行追加到模式空间进行处理
2. D 删除多行模式空间的第一个字符至第一个换行符,并返回到脚本的开头执行
3. P 输出模式空间中的第一个字符至第一个换行符
### **b.保持空间模式**
1. h 将模式空间中的内容存储至保持空间,并覆盖保持空间的内容。
2. H 将模式空间中的内容存储至保持空间,并追加到保持空间的内容。
3. g 将保持空间的内容存储至模式空间,并覆盖模式空间的内容
4. G 将保持空间的内容存储至模式空间,并追加到模式空间。
5. x 交换模式空间和保持空间的内容
### **c.条件与分支**
1. :标签
2. b branch 命令用于在脚本中将控制权转移到另一行,如果没有指定标签就转移到脚本的结尾
3. t 测试命令,如果当前匹配地址的行进行了成功替换,test命令就转到标签处,如果没有指定标签就转移到脚本的结尾。
## **5.AWK**
### **a.AWK的工作方式**
1. BEGIN{} 模式用于处理文件前的预处理
2. {} 模式用于对文件每行进行处理
3. END{} 模式用于处理完文件之后的操作
### **b.运算符**
1. 算数运算符
2. 关系运算符
3. 布尔运算符
### **c.循环**
1. 支持while循环
2. 支持for循环
3. 支持breal、continue
### **d.系统变量**
1. FS字段分隔符
2. OFS输出字段分隔符
3. RS记录分隔符
4. ORS输出记录分隔符
### **e.条件**
1. 和C语言用法相似
2. 语法格式为 :if (判断)
3. 支持 if...else 用法
4. 支持 if 嵌套
### **f.函数**
1. 算数函数
2. 随机函数
3. 字符串函数
更多关于“web前端培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的提升班,高品质课程助理你实现梦想。