2021-10-31

创建用户
/etc/passwd
user1: x:1001:1001:test user:/home/user1:/bin/bash
/etc/group
user1: x:1001:
mkdir /home/user1
chown user1:user1 /home/user1
chmod 700 /home/user1
su - user1
cp /etc/skel/.* /home/user1
touch /var/spool/mail/user1
chown user1:mail /var/spool/mail/user1

管道:
1.一般处理文本的工具都可以用
grep sed head tail wc …
2.命令可以接受来自管道的输入,就可以用

bash shell
历史
history 内存里面的历史记录
​history -c清空
.bash_history 磁盘
​echo > .bash_history
history -w讲内存中的历史记录写入文件

bash shell快捷键
ctrl+A 把光标移动到命令行开头
ctrl+E 把光标移动到命令行结尾
ctrl+C 强制终止当前的命令
ctrl+L 清屏,相当于 clear 命令
ctrl+U 删除或剪切光标之前的命令
ctrl+K 删除或剪切光标之后的内容
ctrl+Y 粘贴 ctrl+U 或 ctrl+K 剪切的内容
ctrl+R 在历史命令中搜索
ctrl+D 退出当前终端
ctrl+Z 暂停,并放入后台

bash shell通配符
匹配文件
*:0到多个字符
?:表示任意一个字符
[abc]:表示1个字符,可以是a或者b或者c
[^abc]:表示1个字符,除了a,b,c以外的字符串

其他常用通配符glob(7)
[:alpha:]:匹配字母(不区分大小写)
[:lower:]:匹配小写字母
[:upper:]:匹配大写字母
[:digit:]:匹配数字
[:space:]:匹配空格
[:alnum:]:匹配任意字母或数字
[:punct:]:除空格和字母、数字以外的任何可打印字符

命令的扩展符号:
~:指向一个用户的家目录
$(command):调用命令执行的结果
{1,2,3}:依次匹配大括号里的内容,
{1…10}:表示连续的字符串

hostnamectl set-hostname rhel8

变量需要加载到内存中才会生效

变量
变量名:大写 FILE PATH path A BACKUP
​​字母和数字组成,字母或者下划线开头A1 _B1
赋值: 变量名=值 说明:=两边不能加空格
调用变量: $变量名 ${变量名}

set:在当前shell中生效的所有变量,包含环境变量和本地变量
env:在当前shell中生效的所有环境变量
unset:取消变量 ;unset 变量名

本地变量:仅在当前shell中生效的变量
​​A=100
环境变量:仅在当前shell和子shell中生效的变量 ;bash su 开启子shell来测试
​​export A
​​export B=200

pstree | grep bash

变量的配置文件
/etc/profile 定义全局环境变量,针对所有用户生效
source /etc/profile ;su - admin ;重启系统
~/.bash_profile 定义用户环境变量,针对某个用户的
/etc/bashrc 定义全局变量
~/.bashrc 定义用户的变量

登录shell
图形界面或者字符界面登录时
su - 切换用户
/etc/profile A=100
~/.bash_profile B=200
/etc/bashrc C=300
~/.bashrc​​D=400

非登录shell
su 非登录shell
在图形界面打开一个终端
bash
执行脚本时
其他的情况。。。
/etc/bashrc
~/.bashrc

source file 或者. file 使变量在当前shell中生效

别名:
查看别名:alias
定义别名:alias copy=’command’
取消别名:unalias copy
定义别名永久生效:/etc/bashrc ~/.bashrc source 生效

shell中\,单引号和双引号
\:去掉\后面那一个字符的特殊含义
‘’:去除引号内所有字符的特殊含义
“”:去除引号内所有字符的特殊含义,但是除了以下几种情况不能去除
​ : 调 用 变 量 ​ :调用变量 ​ :调用变量​() :调用命令执行的结果
​``:同上
​\:去除其他字符的特殊含义
​!:调用历史记录 !5 %hello

休息20分钟,15:56分回来

进程:
运行在内存中一段代码

ps aux
a:查看所有终端的进程
u:打印进程的详细信息,包括进程的拥有人,使用百分比
x:打印不属于任何终端的进程 ?

第一列:进程的拥有人,一般情况谁运行该进程,拥有人就是谁​
​第二列:pid进程id,不是唯一,每重启一次pid重新分配​
第三列和第四列:cpu和内存的使用百分比
第五列:VSZ 虚拟内存 ,应用程序申请的内存
第六列:RSS实际使用的内存 应用程序实际使用的内存
第七列:tty,进程运行的终端 ctrl+f123456 tty1 tty2 tty3
pts伪终端:图形界面打开的终端或者远程登录的终端
?: 不属于任何终端
​​终端:用户登录时才会分配终端,当终端关闭时,该终端上的任务也会随之关闭
第八列:进程的运行状态
第九列:进程开启的时间
第十列:进程上一次持续运行的时间
第十一列:进程的命令或者进程名

ps -ef
​-e:所有的进程,包括终端的和非终端的
​-f:打印详细信息

说明:
内存决定进程是否可以运行 500M 1G 200M
内存过量分配 提高开机密度 150%
​内存共享
cpu决定运算速度

top命令-选项
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p 通过指定监控进程ID来仅仅监控某个进程的状态。
top命令执行过程中可以使用的一些交互命令
按键盘数字“1”,可监控每个逻辑CPU的状况
c 切换显示命令名称和完整命令行
M 可按内存占用情况进行排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
f 键可以选择显示的内容

pgrep过滤进程

pgrep 是通过程序的名字来查询进程的工具
-U:查找某个用户的进程id
-G:查找某个组的进程id
-P:根据父进程ID,查找出所有子进程id
-l:不仅打印pid,也打印进程名
-o:表示如果该程序有多个进程正在运行,则仅查找最老的,即最先启动的(多个进程时即父进程PID)。
-n:表示如果该程序有多个进程正在运行,则仅查找最新的,即最后启动的。
-d:定义多个进程之间的分隔符, 如果不定义则使用换行符。

信号
​15 : 正常结束,默认值
​9 ​:强制立即结束
​1​:重新加载配置文件,相当于reload
​19​: 将后台进程暂停

发送信号
kill -signal pid
killall 进程名
pkill 于pgrep语法一致,过滤出进程并发送信号

nice值
-20-19 数值越大优先级越低
19:最低
-20:最高
nice -n 19: 启动时设置优先级
renice -n 19:启动后修改优先级

job任务控制
jobs查看当前终端的后台任务
if=/dev/zero of=/dev/null & 将前台任务放到后台运行
fg %jobnum 将后台进程放在前台运行
bg %jobnum 将后台进程在后台继续运行
kill -19 %job 将后台进程暂停
ctrl +z 将前台任务放在后台暂停

休息20分钟,11:00分回来

网络
1bit=1二进制数
1byte=8bit
192.168.1.1

192.168.1.0/24
192.168.1.1/24

eth0 eth1 eth2
云计算 虚拟机

显卡

ip地址
子网掩码
网关
dns

ifconfig 查看网卡和ip地址
​-a 查看所有的网卡,包括禁用的网卡
route -n 查看路由表
cat /etc/resolv.conf 查看dns

network rhel5 rhel6 rhel7
​临时配置:ifconfig ip
永久生效:vim 修改配置文件
systemctl restart network

NetworkManager rhel7 rhel8
临时配置:ifconfig ip
永久生效:vim 修改配置文件,命令行工具nmcli

ip link管理网卡设备
ip link show 查看网卡和mac地址信息
ip link set ens160 down/up 启动和禁用网卡

ip address 管理ip地址
ip a add 192.168.40.139/24 dev ens160 添加ip地址
ip a del192.168.40.139/24 dev ens160 删除ip地址

ip route 管理路由表
ip route add 172.25.0.0/24 via 192.168.40.2 添加网络路由
ip route del 172.25.0.0/24 删除网络路由
ip route add 172.25.0.1/32 via 192.168.40.2添加主机路由
ip route del 172.25.0.1/32添加主机路由
ip route add 0.0.0.0/0 via 192.168.40.2 添加默认路由
ip route del default 删除默认路由

目标地址 172.25.0.0/24
下一跳 192.168.40.2
网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet #网卡的类型
NAME=ens160 #网卡配置文件的名字
DEVICE=ens160 #网卡的名称
ONBOOT=yes #开机启动网卡,no表示开机不会启动
BOOTPROTO=none #网卡地址的获取方式,dhcp表示自动获取,none表示手动配置
IPADDR=192.168.40.140 #ip地址
PREFIX=24 #子网掩码,rhel7和rhel6表示: NETMASK=255.255.255.0
GATWAEY=192.168.40.2 #网关地址
DNS1=192.168.40.2 #DNS地址
DNS2=114.114.114.114 #DNS地址
DNS3=8.8.8.8 #DNS地址

nmcli device管理网卡
nmcli device 查看网卡状态
nmcli device show [网卡] 查看该网卡上所有的配置
nmcli device connect/disconnect 网卡 连接和断开网卡

nmcli connection管理ip地址
nmcli con show 查看网卡配置文件
nmcli con add 添加配置文件
nmcli con mod 修改配置文件

创建配置文件,并设置ip地址
nmcli con add type ethernet ifname ens224 con-name ens224-port2 ipv4.addresses 172.25.0.3/24 ipv4.gateway 172.25.0.254 ipv4.dns 114.114.114.114 ipv4.method manual connection.autoconnect yes
参数说明:
type: 网卡类型
ifname:网卡名称
con-name:网卡配置文件 ifcfg- NAME=
ipv4.method: manual代表手动配置ip,auto就是dhcp获取
connection.autoconnect yes表示OBNBOOT=yes 开机启动网卡

nmcli con modify ens224-port1 +ipv4.addresses 172.25.0.6/24 添加一个ip
nmcli con modify ens224-port1 -ipv4.addresses 172.25.0.6/24 去掉ip
nmcli con up ens224-port1

vim修改配置文件
nmcli con reload
nmcli con up 配置文件 重新激活配置文件

管理路由表

nmcli con modify ens224-port1 +ipv4.routes ‘1.1.1.0/24 172.25.0.254’ 基于配置文件添加路由
nmcli con up ens224-port1

[root@rhel8 network-scripts]# cat route-ens224-port1
ADDRESS0=1.1.1.0
NETMASK0=255.255.255.0
GATEWAY0=172.25.0.254
ADDRESS1=1.1.2.0
NETMASK1=255.255.255.0
GATEWAY1=172.25.0.254

nat 桥接 仅主机

修改主机名
hostnamectl set-hostname yutianedu

bond双网卡绑定
1.创建虚拟网卡,指定工作模式
nmcli con add type bond ifname bond0 con-name bond0 mode active-backup
2.在虚拟网卡上配置虚拟机ip
nmcli con modify bond0 ipv4.addresses 172.16.1.1/24 ipv4.method manual
3.为虚拟机网卡绑定物理网卡
nmcli con add type ethernet slave-type bond ifname ens224 con-name bond0-port1 master bond0
nmcli con add type ethernet slave-type bond ifname ens256 con-name bond0-port2 master bond0
4.激活网卡
nmcli con up bond0

配置桥接网卡
nmcli con add type bridge ifname br0 con-name br0 ipv4.addresses 172.16.1.1/24 ipv4.method manual
nmcli con add type ethernet slave-type bridge ifname ens224 con-name ens224 master br0
nmcli con up br0

桥接

192.168.2.0/24

192.168.2.199

上一篇:Ubuntu - 安装RoboWare


下一篇:2021-10-19