1、# 最高权限(root)
$ 普通用户
su - #切换用户
2、cat /etc/reahat-release #查看系统版本
cat查看内容较少的文件
less 适合查看内容较多的文件 上下键滚动 Q键退出
3、hostname 修改主机名 有 .分隔显示第一个点之前的内容,反之全部显示
打开一个新的终端,查看提示符变化
4、 列出cpu信息 lsCPU
CPU(s) #核心数
列出内存信息 cat /proc/meminfo
5、 ifconfig #查看IP(eth0网卡名)
lo 回环测试接口 127.0.0.1
6、ifconfig
ifconfig ens33 192.168.1.1 零时设置IP
7、 mkdir 创建目录名字(不写路径默认当前路径)linux不看重扩展名
touch 创建文件(.txt)
8、head、tail命令
head -3 文件头三行
tail -3 文件后三行
9、 grep 输出包含指定字符串的行
4.2
绿色 可执行程序
青色 快捷方式
which hostname #查询命令对应程序
挂载:光盘文件---》光驱设备(文件)/dev/cdrom
设备文件mount /dev/cdrom /dvd
卸载 umount
允许一个设备挂载到多个不同的挂载点 但是不允许一个挂载点挂载多个设备
不要用根下存在的目录
/root管理员家目录
/home普通用户的家目录
通配符 -*任意多个任意字符
-?单个字符
中括号不识别双数 花括号括号里和括号外依次组合
grep 默认不支持通配符
4.7
rpm --import /mnt/RPM-GPG-KEY-CentOS-7 ###导入红帽签名
rpm -qpi /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm #查询信息无警告
rpm -e(vh) 卸载
rpm -i (vh) 安装
yum 自动解决依赖关系安装软件
存放配置文件路径 /etc/yum.repos.d *.repo 结尾的文件
vim /etc/yum.repos.d/mydvd.repo
shift+3 可在文件中高亮所有相关字符串
[hhhh]
name=centos7
baseurl=file:///mnt
enabled=1
gpgcheck=0
cat /etc/yum.repos.d/mydvd.repo
本地yum 服务端客户端都是本机
history -c 清空历史命令
date -s #修改系统时间
uname -r #查看内核版本
tar集成备份工具
-c 创建归档
-x 释放归档
-f 指定归档文件名称
-z,-j,-J 调用gz, bz2 ,xz 格式工具进行处理
-t 显示归档中文件清单
-C 指定释放路径
tar -zcf gz 备份文档
tar -jcf bz2 备份文档
tar -Jcf xz 备份文档
查看 tar -tf 备份文件
释放 tar -xf 备份文件 -C 目标文件
4.8
root uid 始终为0
UID 默认1000开始
GID 默认最大60000
/etc/passwd 存放本地用户数据
7个字段
用户名 密码占位符 UID GID 5可为空(用户描述) 用户家目录 解释器useradd
-u 指定UID
-d 指定家目录
-G 指定附加组
-s登录解释器
id 查看用户
usermod
-l 修改用户
-u 修改ID
-d 家目录路径
-s 登录解释器
userdel -r #删除用户及家目录
passwd # 给用户设置密码字段
echo **** | passwd --stdin # 非交互式
/etc/shadow
1:用户帐号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
/etc/group
组名:组密码占位符:组的GID:组成员列表
/etc/gshadow:组的管理信息配置文件
组名:密码加密字符串:组的管理员列表:组成员列表
gpasswd命令
–格式:gpasswd [选项]... 组名
•常用命令选项
–-a:添加组成员,每次只能加一个
–-d: 删除组成员,每次只能删一个
–-M:定义组成员用户列表,可设置多个
–-A:定义组管理员列表
crontab 命令
–编辑:crontab -e [-u 用户名]
–查看:crontab -l [-u 用户名]
–清除:crontab -r [-u 用户名]
计划任务书写格式
分 时 日 月 周 任务命令行(绝对路径)
4.9
权限和归属
读取(r) cat less grep head tail
写入(w) vim (保存并退出) > >>
可执行(x) shell Python
归属关系
所有者(属主 ) -user
所属组 (属组) -group
其他用户 other
ls 目录+d
-开头 文本文件
d 开头 目录
l 快捷方式
t 特殊权限(tmp默认具备特殊权限)
修改权限
chomd + 加
- 减
=重新定义
a 所有人
-R 递归修改目录及目录下的权限
linux创建文件文件默认权限为644,目录默认权限为755,默认权限掩码为022。
4.12
********设置ACL
权限掩码会显示到所属组位置
用getfacl查看设置的ACL
默认一个扇区最小512字节(B)
(硬盘四步)
识别硬盘---lsblk #列出当前系统识别硬盘
分区规划--- MBR(最大支持2.2TB的磁盘)与GPT(支持18EB)不能共存一块 硬盘
MBR分区类型 主分区 、扩展分区、逻辑分区
一块硬盘最多只能有4个主分区
扩展分区可没有 至多有1个
扩展分区不能直接用 ,不能格式化
需要分成多个逻辑分区
fdisk
m 列出帮助
p查看现有分区表(存放分区信息的表)
n 新建分区
d 删除分区
q 放弃更改并退出
w 保存更改并退出
格式化---赋予规则
Windows常见文件系统 NTFS FAT(兼容性强)exFAT
linux常见文件系统 ext4(RHEL6) 适合储存单个文件比较小 数量多
xfs(RHEL7) 单个文件比较大 数量少
FAT
vfat 扩展
mkfs. +tab键 #格式化
blkid #查看格式化,查看文件系统
挂载使用
blkid /dev/sdb1
mkdir /mypart1
mount /dev/sdb1 /mypart1
df -h #查看挂载设备使用情况
lsblk
partprobe #内核不识别时 刷新分区表
开机自动挂载 /etc/fstab
格式: 设备路径 ---挂载点 ---类型 ---参数 (defaults)---备份标记(1代表备份,0代表不备份 通常为0)dump备份 (不稳定)---- 检测顺序 (默认0) 每个部分空格隔开
mount -a #以linux角度检测/etc/fstab文件
df -h
如果文件有误 1、输入root密码
2、修改文件内容
/dev/sdc5:SCSI接口的硬盘,第三块第五个分区 也表示
SCSI接口的硬盘,第三块第1个逻辑分区
GPT(最多支持128个主分区,最大支持18EB容量)
全局唯一标识分区表
parted(进率1000) #分区命令
mkpart #新建分区
起始点 0 -5G单位默认字节
5G -10G
15G --100%
unit GB #显示单位
交换空间
2G以上---16G以下 虚拟内存的范围
虚拟内存是内存的2倍
swapon #查看当前交换空间、启用
free -m # 查看交换空间多大
swap 交换空间独有文件系统
mkswap 格式化文件系统
swapoff 停用交换空间
swapon -a 检测交换空间书写
开机自动启用交换分区
vim /etc/fstab
/dev/sdc2 swap defaults 0 0
swapoff # 停用
dd if=数据的源头 of=生成的文件 bs=每次读写数据的大小 count=次数
/dev/zero:拥有无限的数据
逻辑卷作用
1.整合分散的空间
2.空间支持扩大
逻辑卷制作过程:将众多的物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)
建立卷组(VG)
格式:vgcreate 卷组名 设备路径…….
Successfully:成功
[root@localhost ~]# vgcreate systemvg /dev/sdb[1-2]
[root@localhost ~]# pvs #查看系统所有物理卷信息
[root@localhost ~]# vgs #查看系统卷组信息
建立逻辑卷(LV)
格式: lvcreate -L 大小G -n 逻辑卷名字 卷组名
lvcreate -L 16G -n vo systemvg
vgs #查看卷组
lvs #查看逻辑卷
使用逻辑卷(LV)
ls /dev/dc/vo
ls -l /dev/dc/vo
mkfs.xfs /dev/dc/vo #格式化xfs文件系统
blkid /dev/dc/vo #查看文件系统类型
vim /etc/fstab
/dev/systemvg/vo /mylv xfs defaults 0 0
mkdir /mylv
mount -a #检测fstab文件内容书写是否正确
df -h #查看
扩展逻辑卷空间
df -h |grep vo
vgs
lvextend -L 18G /dev/dc/vo
vgs
lvs
扩展文件系统
xfs_growfs:刷新xfs文件系统
resize2fs:刷新ext4文件系统
xfs_growfs /dev/dc/vo
df -h |grep vo
lvs
卷组扩展,当卷组没有足够空间时
vgextend dc /dev/sdd3 /dev/sdd5
vgs
lvextend -L 25G /dev/dc/vo
vgs
df -h | grep vo
xfs_growfs /dev/dc/vo
df -h |grep vo
df -Th #T 显示类型 lsblk#查看
逻辑卷支持缩减
xfs 文件系统---不支持
ext4文件系统--支持
卷组划分空间单位 PE
vgdispaly systemvg 显示卷组详细信息
PE Size 4.00MiB
vgchange -s 1M dc 修改PE大小
vgdisplay systemvg 查看卷组详细信息
lvcreate -L 250M -n lvredhat dc
lvs
指定PE个数
lvcreate -l PE个数 -n 逻辑卷名 卷组名
逻辑卷删除
基于此卷组创建的所有逻辑卷,要全部删除
不能删除正在挂载使用的逻辑卷
umount /mylv # 卸载
lvremove /dev/dc/vo #删除
Do you really want to remove active logical volume dc/vo? [y/n]: y
Logical volume "vo" successfully removed
vim /etc/fstab #删除开机自动挂载
lvs #查看
删除卷组
vgremove 卷组名
vgs
RAID磁盘阵列
廉价冗余磁盘阵列
RAID0 条带模式--同一个文档分散存放在不同磁盘(两块磁盘)没有容错
提高效率
RAID1镜像模式 拷贝 提高可靠性 效率低
RAID5 三块盘 奇偶校验
RAID6 四块盘 两份独立效验方案
RAID 0+1 RAID1+0 (RAID10)
进程管理
程序 静态没有执行的代码 硬盘空间
进程 动态 CPU与内存资源
进程编号 :PID
树型结构
查看进程 pstree [选项 ] [用户]
-p 显示PID
-a 具体运行的命令
systemd #所有进程父进程
'/'存放所有目录
PS 查看进程快照
-aux 列出正在运行的进程
-elf
top 动态刷新
系统时间 开机运行的时间 当前几个用户登录 CPU(一五十五平均负载量)
pgrep -l #检索进程 (名称)
-lu 检索指定用户进程
-x #严格匹配
前后台调度 & 放入后台
Ctrl+z 暂停并转入后台
fg 编号 #恢复前台
jods #查看后台程序
bg 编号 后台停止的继续运行
杀死进程
ctrl+c 中断当前进程
kill [-9] PID 强制
killall [-9] 强制进程名.....
pkill 查找条件(包含)
VDO(虚拟数据优化器)
重复数据删除
虚拟大小
制作需要2G以上的内存
4.14
配置linux网络
静态主机名 /etc/hostname不影响当前 下次开机生效
hostname svr7.tedu.cn
echo svr7.tedu.cn > /etc/hostname
cat /etc/hostname
svr7.tedu.cn
hostname #查看主机名
网卡命名规则
/etc/default/grub #grub内核引导程序
GRUB_CMDLINE_LINUX=".....quiet net.ifnames=0 biosdevname=0'
grub2-mkconfig -o /boot/grub2/grub.cfg #网卡命名规则生效
配置IP
nmcli connection show #查看
nmcli connection delete #删除
添加网卡命名 nmcli connection 添加 类型 以太网设备
nmcli connection add type ethernet ifname eth0 con-name eth0
nmcli connection 修改 网卡名
IPv4.方法 手工配置
ipv4.地址 192.168.4.7/24
ipv4.网关 192.168.4.254
每次开机自动启用以上所有参数
nmcli connection modify eth0 ipv4.method manual
ipv4.addresses 192.168.4.7/24
ipv4.gateway 192.168.4.254
connection.autoconnect yes
[root@svr7 ~]# nmcli connection up eth0 #激活
ifconfig |head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.7 netmask 255.255.255.0 broadcast 192.168.4.255
网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
route -n #查看网卡(查看路由表信息)
DNS 将域名解析为IP地址
/etc/resolv.conf 配置文件
echo nameserver 8.8.8.8 > /etc/resolv.conf
[root@svr7 ~]# cat /etc/resolv.conf
nameserver 8.8.8.8
为了远程管理方便
> /etc/resolv.conf #删除文件内容
cat /etc/resolv.conf
模板机器克隆
vim /etc/fstab
修改 UUID 为 /dev/sda1
克隆必须关机
克隆机
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.207/24 connection.autoconnect yes
[root@pc207 ~]# nmcli connection up eth0
ifconfig | head -2
ping 192.168.4.7
远程管理
SSH协议
默认端口 TCP22
服务名称 sshd
主程序 /usr/sbin/sshd /usr/bin/sshd
配置文件 /etc/ssh/sshd_config
ssh root@192.168.4.207 #远程登录
scp=ssh+cp
scp -r 用户名@服务器:路径 本地路径(将文件传输给对方)
scp -r 本地路径 用户名@服务器:路径(复制对方文件到本地)
ssh-keygen #生成公钥 authorized_keys #其他机器传输的公钥文件
ls /root/.ssh/
id_rsa(私钥) id_rsa.pub(公钥) known_hosts
ssh-copy-id root@192.168.4.207 #将公钥传给虚拟机B
ssh root@192.168.4.207 #测试
4 .15
ping -c 个数 IP :#指定ping包的个数
ip 命令
ip address(ip a s) #查看网卡IP
ip address add IP地址 dev eth0 # 临时IP(ifconfig查看不到)
IP a s #查看
ip address del #删除临时IP
日志管理
/var/log
tailf 实时跟踪
pts 图形命令行终端
:0 图形登录没打卡终端
last 登录成功
lastb 登录失败
users(粗略) who(用最多) w (详细对字体有要求)
日志优先级0-7 8中 数值越小,事件越重要(0 1 2 系统)
SElinux安全机制
enforcing(强制)
permissive(宽松)
disabled (彻底禁用)切换需要重启
临时切换 : setenforce 1(强制)| 0(宽松)
固定配置 :/etc/selinux/config 不影响当前
getenforce #查看
系统故障修复
遗忘root密码
重启系统 进入救援模式(恢复模式)按e键
输入rd.break console=tty0 ctrl+x启动
进入 switch_root:/# 救援模式
输入mount -o remount,rw /sysroot
chroot /sysroot
切换模式 sh-4.2#
设置root密码 echo 1 | passwd --stdin root
如果SELinux是强制模式,需要重设SELinux策略
vim /etc/selinux/config #查看SELinux开机运行模式
touch /.autorelable #让强制模式的SELinux失忆(二选一)
reboot -f #强制重启
防火墙
作用 隔离 严格过滤入站 放行出站
系统服务:firewalld
管理工具:firewall-cmd firewall-config
public :仅允许访问本机的ssh,dhcp,ping服务
trusted :允许任何访问
block :拒绝任何来访
drop :丢弃任何来访
防火墙判定规则
查看源IP地址,查看自己所有区域中规则,那个区域中有该源IP地址规则,那个区域中有该IP地址原则,则进入该区域
firewall-cmd --zone=public --add-service=ftp 添加协议
success 成功
firewall-cmd --zone=public --list-all 查看
curl ftp://192.168.4.7 验证
永久规则
firewall-cmd --reload 加载防火墙
success
firewall-cmd --zone=public --list-all 查看
firewall-cmd --permanent --zone=public --add-service=http 添加
success
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload 加载防火墙
success
firewall-cmd --zone=public --list-all 查看
单独拒绝B所有访问
思路: 默认区域为trusted,单独将B的IP放入block区域,如下:
firewall-cmd --set-default-zone=trusted
success
firewall-cmd --get-default-zone
trusted
firewall-cmd --zone=block --add-source=192.168.4.207
success
firewall-cmd --zone=block --list-all
真机测试
curl http://192.168.4.7
构建web服务
提供页面内容 软件httpd, Nginx, tomcat
http协议 超文本传输协议
/usr/sbin/httpd #运行httpd
/var/www/html/index.html #编写网页文件
curl http://192.168.4.7 #命令访问
ftp:文本传输协议
软件 vsftpd
共享数据主目录 /var/ftp
yum -y install vsftpd
rpm -qi vsftpd
/usr/sbinvsftpd
ls /var/ftp
pub
curl ftp://192.168.4.7
4.16
ststemed上帝近程 系統服务管理器(与手动启动有冲突)
PID=1 开机服务并行启动
服务配置文件/lib/systemd/system/httpd.service
配置目录 /etc/systemd/system/
主要管理工具 systemctl restart 重启
start 开启
stop 停止
status 查看状态
enable 开机自起
disable 禁止开机自起
is-enabled 查看是否开机自起
rpm -q httpd 查看
> /etc/resolv.conf 清空文件
killall httpd 杀死手动启动服务
systemctl restart httpd 重启服务
systemctl status httpd查看服务状态
systemctl enable httpd 设置开机自启
systemctl is-enabled httpd 查看是否开机自启
systemctl disable httpd 关闭开机自启
systemctl is-enabled httpd 查看是否开机自启
web服务
首先把SELinux变为宽松模式
getenforce
Permissive 临时
vim /etc/selinux/config
SElinux=permissive # 永久
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 关闭开机自启
B/S 网页服务 服务端提供网页
HTML 超文本标记语言 http 超文本传输协议
服务三步 装包,配置,启服务
mkdir /var/www/myweb
echo wo shi myweb > /var/www/myweb/index.html
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/myweb" 修改路径
systemctl restart httpd 重启
curl http://192.168.4.7 访问
wo shi myweb
默认网页文件只能放在/var/www/下可以允许所有人访问
mkdir /webroot
echo wo shi webroot > /webroot/index.html 在此文件写入内容
vim /etc/httpd/conf/httpd.conf
<Directory "/webroot"> 对于此目录允许所有
Require all granted
</Directory>
systemctl restart httpd重启
curl http://192.168.4.7验证
网络路径与实际路径
网:浏览器中输入的路径 http://192.168.4.7
实:服务端网页文件,实际存放位置 /webroot
mkdir /webroot/abc
echo wo shi ABC > /webroot/abc/index.html
curl http://192.168.4.7/abc/
端口:数字起到标识作用,标识协议
http默认:80 自定义端口大于1024,端口极限65535
ftp 默认: 21
ssh默认: 22
虚拟web主机
一旦使用虚拟web主机功能,所有网站都要用虚拟主机实现
区分方式 基于域名
基于端口
基于IP
vim /etc/httpd/conf.d/haha.conf
cat /etc/httpd/conf.d/haha.conf
<VirtualHost *:80> #所有IP地址监听80
ServerName www.qq.com #网站域名
DocumentRoot /var/www/qq #网页文件路径
</virtualHost>
<VirtualHost *:80>
ServerName www.lol.com
DocumentRoot /var/www/lol
</virtualHost>
mkdir /var/www/qq /var/www/lol 创建目录
echo wo shi qq > /var/www/qq/index.html
echo wo shi lol > /var/www/qq/index.html
systemctl restart httpd 重启服务
/etc/hosts 此文件可充当DNS服务器,此文件只能为本机解析域名
vim /etc/hosts
192.168.4.7 www.qq.com www.lol.com
ping www.lol.com
curl http://www.lol.com
使用虚拟web主机功能,所有网站都要用虚拟主机实现
vim /etc/httpd/conf.d/haha.conf
systemctl restart httpd
vim /etc/hosts
curl http://www.xixi.com 测试
wo shi webroot
vim /etc/httpd/conf.d/haha.conf(基于端口)
Listen 8080
<VirtualHost *:8080>
ServerName www.qq.com
DocumentRoot /var/www/lol
</virtualHost>
systemctl restart httpd
curl http://www.qq.com
wo shi lol
curl http://www.qq.com:8080
wo shi lol
***********端口优先级最高
4.20
echo nameserver 192.168.4.7 > /etc/resolv.conf
cat /etc/resolv.conf
nameserver 192.168.4.7
nslookup www.lol.com
NFS配置文件
/etc/exports
systemctl restart rpcbind
systemctl restart nfs-server
showmount -e 192.168.4.7
mkdir /mnt/mynfs
[# mount 192.168.4.7:/public /mnt/mynfs
[root@pc207 ~]# ls /mnt/mynfs
h.txt x.txt
[root@pc207 ~]# df -h
1、自定义yum仓库
首先把tar包复制到root下,解压
ls /root
tar -tf /root/tools.tar.gz
tar -xf /root/tools.tar.gz -C /
2、查看解压的文件
ls /tools
inotify-tools-3.13.tar.gz other
ls /tools/other
boxes-1.1.1-4.el7.x86_64.rpm
cmatrix-1.2a-1.i386.rpm
ntfs-3g-2014.2.15-6.el6.x86_64.rpm
oneko-1.2-19.fc24.x86_64.rpm
sl-5.02-1.el7.x86_64.rpm
3、createrepo /tools/other #生成仓库数据文件
4、写yum的配置文件
[rpm] #唯一标识
name=myrpm
baseurl=file:///tools/other #指定Yum仓库的路径
enabled=1
gpgcheck=0
5、yum repolist #查看yum是否生效
yum -y install sl #验证
4.21
装机服务
1、部署DHCP服务器 DHCP分配IP、定位引导程序
动态主机配置协议,简化主机地址分配管理
广播的形式进行 DISCOVERY---->OFFER--->REQUEST-->ACK
yum -y install dhcp 下载
/etc/dhcp/dhcpd.conf 配置文件
末行模式下 :r /usr/share/doc/dchp*/dhcpd.conf.example
保留原来文件注释
subnet 192.168.4.0 netmask 255.255.255.0 { #分配网段
range 192.168.4.100 192.168.4.200; #IP范围
option domain-name-servers 192.168.4.7; #DNS
option routers 192.168.4.254; #网关地址
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7 下一个服务器IP
filename "pxelinux.0"; 网卡引导文件名称
}
2、TFTP(默认端口69),提供引导程序下载
默认共享主目录 /var/lib/tftpboot
yum -y install tftp-server
systemctl restart tftp
yum provides */pxelinux.0 #查询那个包产生该文件
yum -y install syslinux
rpm -ql syslinux | grep pxelinux.0
引导程序
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
ls /var/lib/tftpboot/
部署菜单文件
ls /mydvd/isolinux 查看光盘内容
mkdir /var/lib/tftpboot/pxelinux.cfg
ls /var/lib/tftpboot/
cp /mydvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
ls /var/lib/tftpboot/pxelinux.cfg/
default
部署图形模块和背景图片
cp /mydvd/isolinux/vesamenu.c32 /mydvd/isolinux/splash.png /var/lib/tftpboot
ls /var/lib/tftpboot
部署启动内核和驱动程序
cp /mydvd/isolinux/vmlinuz /mydvd/isolinux/initrd.img /var/lib/tftpboot/
ls /var/lib/tftpboot/
3、应答文件(图形)
ks.cfg
修改菜单文件
/var/lib/pxelinux.cfg/default
写入
ks=ftp://192.168.4.7/ks.cfg
3、FTP 提供yum安装源
搭建ftp服务yum -y install vsftpd
systemctl restart vsftpd
mkdir /var/ftp/centos
mount /dev/cdrom /var/ftp/centos
ls /var/ftp/centos
curl ftp://192.168.4.7/centos/
4.22
源码编译安装
./(当前路径)---运行脚本 相当于当前路径双击
。。。。gcc。。。no
error # 错误原因---gcc工具未安装
Makefile #大纲
步骤(5)
1、安装开发工具gcc与make
2、tar解包
3、./configure配置
4、make编译
5、make install 安装
rsync同步操作
-rsync [选项...] 源目录 目标目录
-a 归档模式
-av 显示详细操作信息
-z 自动压缩、解压
源目录有 "/" 同步的是内容 不加同步的是目录作为目标目录的子目录
rsync -av --delete #删除重复数据
ssh+rsync -av
下行 rsync [选项...] user@host:远程目录 本地目录
上行 rsync [选项...] 本地目录 user@host:远程目录
同步 只传输变化的过程
复制 完全拷贝
私钥权限600*******
chmod 600 /root/.ssh/id_rsa
inotifywait
-m 持续监控
-r 递归
-q 减少输出消息
-e 指定监控
脚本 : 可以运行的文件,实现某种功能
循环:重复性
for循环(有次数)
while 循环(不定次数)
while 条件
do
重复执行的事情
done
vim /etc/rsync.sh
while /opt/myrpm/bin/inotifywait -rqq /mydir/
do
rsync -a --delete /mydir/ root@192.168.4.207:/root
done
chmod a+x /etc/rsync.sh &
[1] 11995
jobs -l
[1]+ 11995 完成 chmod a+x /etc/rsync.sh
kill 11995
-bash: kill: (11995) - 没有那个进程
数据库
分号结尾
不能tab
Linux系统的管理指令不能使用
create database nsd01; #创建nsd01数据库
> show databases; #查看所有数据库
> drop database nsd01; #删除数据库nsd01
> show databases; #查看所有数据库
–增(insert) 删(delete) 改(update) 查(select)
4.23
容器: 类似于虚拟机
容器可以直接利用真实物理硬件
优点 简洁高效
不需要操作系统
使用共享公共库和程序
三大概念
仓库
镜像(cow写时复制)
容器
导入镜像
podman load -i
查看镜像
podman images
删除镜像
podman rmi
生成容器
podman run
-i 交互式
-t 终端
-d 后台运行
--name 容器名字
touch /etc/resolv.conf
[root@dc ~]# podman run -it localhost/myos:latest /bin/bash
创建容器
[root@765df3fcc0da /]# useradd zs
[root@765df3fcc0da /]# idzs
bash: idzs: command not found
[root@765df3fcc0da /]# id zs
uid=1000(zs) gid=1000(zs) groups=1000(zs)
[root@765df3fcc0da /]# exit
exit
podman ps -a #查看容器
podman start 7 开启容器
podman exec -it 7 /bin/bash 进入容器
[root@765df3fcc0da /]# id zs
uid=1000(zs) gid=1000(zs) groups=1000(zs)
[root@765df3fcc0da /]# exit 退出
exit
podman stop 停止
podman rm 删除
[root@dc ~]# podman run -itd --name abc01 localhost/myos:latest /bin/bash 放到后台
podman ps -a 查看
podman exec -it abc01 /bin/bash 进入