一、linux
查看linux版本、内核、cpu信息
-
TOP命令详解
top命令个人记录:
第二行 Tasks (任务/进程)
第三行 %Cpu:
us 用户空间占用CPU百分比;
sy 内核空间占用;
ni 改变过优先级的进程占用;
id 空闲CPU百分比;
第四行 Mib Mem: 内存状态;
第五行 Swap: 交换区信息状态;其他使用技巧
按键 1 监控每个逻辑CPU的状况
按键 b 打开/关闭当前运行进程加亮效果
按键 x 打开/关闭%CPU列
按键 q 退出
top -p pid 显示指定进程 -
linux内核版本:
cat /proc/version
uname -a
- linux系统版本:
lsb_release -a
cat /etc/redhat-release
cat /etc/os-release --查看OS系统版本
nkvers --中标麒麟Neokylin系统版本
- linux cpu信息:
lscpu cpu(s):
cat /proc/cpuinfo --查看完整的处理器信息
getconf LONG_BIT --查看cpu在64位模式下运行
cat /proc/cpuinfo | grep name | cut -f2 -d: |uniq --查看CPU的型号
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l --查看CPU的物理数量
cat /proc/cpuinfo| grep "cpu cores"| uniq --查看cpu内核数量
cat /proc/cpuinfo| grep "siblings"| uniq --查看每个物理CPU的逻辑CPU数量
- 内存
free -g
total
16
1.查看磁盘&文件大小
- lsblk
lsblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。
lsblk命令默认情况下将以树状列出所有块设备:
lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。
- df -h *
例:df -h /home 查看当前文件使用率。
Filesystem:代表该文件系统时哪个分区,所以列出的是设备名称。
1K-blocks:说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置。
Size:总大小
Used:已经使用的空间大小。
Available:剩余的空间大小。
Use%:磁盘使用率。如果使用率在90%以上时,就需要注意了,避免磁盘容量不足出现系统问题,尤其是对于文件内容增加较快的情况。Mountedon:磁盘挂载的目录,即该磁盘挂载到了哪个目录下面。
- du -sh *
du -sh 可看到当前文件总和;
du -sh * 可查看当前文件夹下的文件夹大小。
du -h 【文件名】可查看指定文件的大小
- ls -hl *
- Ctrl + L
2. 压缩&解压
2.1 tar命令:
-c: 建立压缩档案
-x:解压
-z:有gzip属性的
-j:有bz2属性的
-v:显示所有过程
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
- 压缩
-c为压缩,-f为指定文件名称,那压缩就是:
tar -cf *.tar filename 如果想看压缩过程就加个v
压缩到指定目录:
tar -cvf /opt/test.tar.gz /usr/test - 解压
.tar --tar -xf *
.tar.xz --tar -xvJf *
.tar.gz --tar -xzvf *
解压到指定目录:
tar -xzvf test.tar.gz -C /opt/test/
2.2 zip命令:
-q 不显示指令执行过程
-r 递归处理,将指定目录下的所有文件和子目录一起处理
-z 给压缩文件加上注释
-v 显示指令的执行过程
- 压缩
zip -qr /test/test.zip /opt/test/ - 解压
unzip /test/test.zip -d /opt/test/
2.3 rar 命令:
rar压缩是要先安装一个rar包的
rarlinux-6.0.2: https://www.rarlab.com/rar/rarlinux-x64-6.0.2.tar.gz
–解压文件
tar -xf rarlinux-x64-6.0.2.tar.gz
cd rar
–编译安装
make && make install
–压缩命令
rar a *.rar *
–解压命令
rar x *.rar
3. vim编辑
n yy --复制:连按 yy 复制当前光标所在行;n yy 复制当前光标行及以下n行;
p --粘贴
u --撤回
A i o --编辑: A i o 键分别为 : A 键在光标所在行的末尾开始编辑; I 键则是在光标所在行的开头编辑;i键在当前光标处编辑。 o 键另起一行进行编辑;
:s/$/$ --替换:-例如: s/80/8080 替换光标所在行字符; : /%s/[]/[] 替换文件内所有该字符;
:set nu --行号:可显示行号;nonu取消显示;
/$ --查找:例: /80 查找80字符所在位置。n查找下一个;N查找上一个。?test 反向查找。
ZZ --保存退出
--注释:
1. Ctrl+v 进入列编辑模式,向下或向上移动光标,选中需要注释行,大写I或 shift+i 在首行键入 # 。连按两次Esc。
2. :3,5s/^/#/g 在3-5行添加注释
--删除注释:
Ctrl+v 选中首行,按d。
4. 基础命令
- mkdir -p 逐级创建文件夹
- cd ~users 进入指定用户家目录
- cd - 返回进入/filename目录
- grep命令
“grep”源于 ed(Linux的一个行文本编辑器)的 g/re/p 命令,g/re/p 是“globally search for a regular expression and print all lines containing it”的缩写,意思是使用正则表达式进行全局检索,并把匹配的行打印出来。 - tail -f or -n 常用于打印显示日志,tail -200f filename tail -n 300 filename
- cat -n filename 可显示行号查看文件内容
- less命令 查看大文件翻页
-b 向上翻一页
-d 向后翻半页
-Q 退出less 命令 - ln 创建硬链接 ln -s 创建链接
5.文件权限
- ls -l
所有者权限:文件所有者能够进行的操作,所有者拥有读取 r(read)、写入w(write)和执行x (execute)
组权限:文件所属用户组能够进行的操作
外部权限(其他权限):其他用户可以进行的操作。
- 第一列文件权限说明,分为四个部分
[d] [rwx] [-xr] [r-x] - 第一部分:
d: 目录文件
l: 符号链接,指向另一个文件,类似快捷方式
s: 套接字文件
b: 块设备文件,二进制文件
c: 字符设备文件
p: 命名管道文件 - 第二部分-修改权限:
- 字母、数字改变权限
linux文件基本权限只有9个,分别是user,group,other三种身份,所以可以用数字代表权限。
r : 4
w : 2
x : 1
- 字母示例:
u,g,o
- 数字示例:rwx [4+2+1]
- Linux 通过给程序设置SUID(Set User ID)和SGID(Set Group ID)位来赋予普通用户特殊权限。当我们运行一个带有SUID位的程序时,就会继承该程序所有者的权限;如果程序不带SUID位,则会根据程序使用者的权限来运行。
6.进程
- 当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰。这个特殊的环境就称为进程。
每个 Linux 命令都与系统中的程序对应,输入命令,Linux 就会创建一个新的进程。例如使用 ls 命令遍历目录中的文件时,就创建了一个进程。
简而言之,进程就是程序的实例。 - ps -f [full]
ps -ef |grep xxx
kill -9 pid 关闭进程
jobs -l 查看当前任务
7.分区与目录
文件系统位于磁盘分区中;一个硬盘可以有多个分区,也可以只有一个分区;一个分区只能包含一个文件系统。
Linux文件系统与Windows有较大的差别。Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如 C、D、E、F等。
Linux的文件结构是单个的树状结构,根目录是“/”,其他目录都要位于根目录下。
每次安装系统的时候我们都会进行分区,Linux下磁盘分区和目录的关系如下:
- 任何一个分区都必须对应到某个目录上,才能进行读写操作,称为“挂载”。
- 被挂载的目录可以是根目录,也可以是其他二级、三级目录,任何目录都可以是挂载点。
- 目录是逻辑上的区分。分区是物理上的区分。
根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区
8.文件传输
scp 当前目录 root@xxx.xxx.xxx.xx:/目标目录
9.防火墙
systemctl disable firewalld.service
10. 配置yum源
umount /dev/sr0
mount /dev/cdrom /media/
cd /etc/yum.repos.d/
vim dvd.rpo
[dvd]
name=redhat7.1
baseurl=file:///media
gpgcheck=0
[RH]
name
baseurl=http://ip/ops/RH7
gpgcheck=0
yum clean all
yum list all
yum -y install httpd
systemctl enable httpd.service
systemctl start httpd.service
mkdir /var/www/html/dvd
umount /media/
vim /etc/fstab
/dev/cdrom /var/www/html/dvd iso 9660 defaults 0 0
mount -a
cd /etc/yum.repos.d/
vim dvd.repo
baseurl=http://ip/dvd
yum clean all
yum list all
mount xx.iso /mnt
cd /mnt
mkdir /var/www/html/ops
vi /etc/fstab
挂载
二、Docker命令
2.1 docker 容器的导入导出
- 保存当前容器生成新镜像,并添加提交人信息和说明信息
docker commit -a "joshua" -m "com2.0" 容器id 自定义镜像名
- 导出容器为tar包
docker export -o 路径/包名.tar 容器名
- 导入镜像
docker import 路径/包名.tar 镜像名
2.2 docker 镜像的导入导出
- 导入
docker load -i 包名.tar 或者 docker load < 包名.tar
- 导出
docker save -o 路径/包名.tar 镜像名
- export/import 导入导出镜像层为 1 层。save/load 导入导出镜像为多层。
最大的区别就在这里, 通过export 和 import导出的容器形成镜像时, 该镜像只有一层。通过save 和 load 导出的镜像保留了原镜像所有的层次结构, 导出时原镜像有几层, 导入的时候就还是有几层 - 全部保留可采用先 commit 在 save 的方式。
2.3 删除镜像
docker rmi 镜像名 或 镜像id
二、shell
1. shell介绍
- shell介绍
shell是一个程序,采用c语言编写,是用户和linux内核沟通的桥梁。它既是一种命令语言,又是一种解释性语言。
kernel - shell - user - shell功能
命令行解释功能
启动程序
输入输出重定向
管道连接
环境控制
shell编程
2. shell脚本语法
-
如何书写shell脚本
-
shell脚本运行方法
-
shell中的符号
-
管道
-
重定向
-
shell脚本中的数学运算
-
脚本退出
3. 格式化输出
- echo语法
- 颜色字体
4. 格式化输入
- read命令
5. shell变量
- 变量介绍
- 变量分类
- 变量管理
6.shell数组
- 数组介绍
- 默认数组
- 关联数组
7.shell五大运算
- 赋值运算
- 数学运算
- 比较运算
- 关系运算
- 文件类型比较
8.流程控制
- if判断
- for循环
- while循环
- until循环
三、excel 表格
- alt + enter
四、云计算
1.概念
- IaaS:基础设施即服务
- PaaS:应用平台即服务
- SaaS:软件运营即服务
2.服务器
- IPMI服务器远程管理协议;华为iBMC
- KVM :Kernel-based Virtual Machine
- VRM—VMware(Vcenter) CNA—ESXI
- VRM 虚拟资源管理 CNA 管理计算节点上的虚拟机,网络管理
- VRM部署:CNA如果低于50台,建议虚拟化部署;CNA必须是物理机,里边运行虚拟机;
VRM可在CNA里部署;
2.1 fusioncomputer部署:
- CNA(EulerOS+kvm):
IPMI:
RAID:廉价冗余磁盘阵列,两块或两块以上硬盘组在一起;RAID卡–硬盘;
RAID0-- 无容错;两个硬盘做一起,读写快。
RAID1-- 镜像;读写慢。适合装操作系统(EulerOS)。
RAID3;RAID5;RAID6;RAID10
RAID5–容量SUM-1,其中一个用作校验。更适合顺序大IO场景。
RAID10–容量SUM-3,其中三个用作校验。更适合随机小IO场景。数据库
ctrl+R:
RAID卡不支持直通模式(JBOD),不能直接读取的情况下,单盘需做RADI0;
RAID2.0 : 单位CK 一组为CKG 划分Extent LUN :逻辑单元号,从资源池中分存储。
- VRM(web管理界面–监控CNA):
集群HA(High Availability高可用):VIP virtual ip 虚拟ip;浮动ip;用作VRM主备部署。
仲裁ip:主备之间的心跳故障,脑裂现象,主备ping仲裁ip(网关)或独立的仲裁ip设备,通过投票机制,选择主备。
负载均衡集群 LBC load balance cluster
nginx 并发3Wrequest
LVS 负载均衡器(多个用vip):十种调度算法 RR轮询 LC最少连接数 WLC weight加权最少连接(默认)
HPC 高性能集群
UMA :统一内存访问 NUMA:非一致性内存访问,cpu内存分区管理,访问速度更快。
经过FSB瓶颈限制;node节点–CPU0;
SAN网络:存储区域网络 以太网:IP-SAN 光纤:FC-SAN
四、网络
- IP地址与子网掩码重合的部分是网段,不重合的部分为序号
交换机
- vlan :access hybrid trunk
- vlan 10
vlan 20
interface gigabitethernet 0/0/1
port link-type access
prot default vlan10 port link-flap xxx
port default vlan 10
dis this - access : 1) 当access端口收到一个不带vlan标记的数据包时,给这个数据包打上该端口对应的vlan号。2) 如果要发送一个数据包出去时,检查数据包的vlan和要发出去接口的vlan是否一致。如果不一样,则直接丢包。如果一样,则剥离数据包上的vlan,然后再发出。 3)access主要连接pc终端,可以连接交换机,但vlan划分不方便。
- trunk:1)用于服务器、交换机之间多vlan通信。2)收到一个不带vlan标记的数据包时,给这个数据包打上该端口对应的默认vlan号(vlan1)。3)trunk 只接受和发送allow-pass了的vlan。发送时:数据包的vlan和接口的vlan号不一致时,携带着vlan标签发送出去;数据包的vlan和trunk接口的vlan号一致,则剥离掉vlan标签再发送出去。
interface gigabitethernet 0/0/1
undo port default vlan 删除 模拟需要;
port link-type trunk
port trunk allow-pass vlan 10 vlan 20 需要允许通过哪些vlan
dis this
prot trunk pvid vlan 10 修改trunk接口的vlan ,如果配置两边交换机都需要。在wlan中有需要更改pvid。 - hybrid:1)vlan相同不一定通,vlan不同不 一定通。
port link-type hybrid
port hybrid pvid vlan 10
port hybrid untag vlan xx 去掉vlan标记,需要允许通过哪些vlan
prot hybrid tag vlan xx 保留vlan标记 , 需要允许通过哪些vlan
五、OpenStack
- 云操作系统,管理层,资源池化,资源对接,租户隔离。
- HORIZON 操作界面
- Glance 镜像服务
- Swift 对象存储
- Cinder 块存储
- Nova 计算服务
- Neutron 网络服务 SDN
- Heat 编排服务
- Ceilometer 计量服务 计费 监控
- Keystone 身份认证系统 AD
开源OpenStack
- packstack 部署
- Ansible