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