linux云计算第3周笔记

前12天课程回顾1:

· CPU 运算/控制 大脑
· 内存 存储数据(临时) 肠道
用户(浏览器-域名 看个图片) 10M -->解析--> 网站IP地址 --> 互联网 --> 缓存中 网站服务器(nginx/httpd/tomcat/python)
· 磁盘 存储数据(永久) 胃 磁盘中(存储数据)
· 网卡 网络通讯 嘴巴
· 电源 供电设备 心脏
· 主板 将所有硬件串联 神经
· 风扇 硬件散热
· 阵列卡 将多个硬盘整合
· 远程管理卡 控制远程开机/安装系统
============================================================================

3) 硬件重要组成说明
· CPU信息 型号至强Xeon 核数(并行处理任务能力) 路数(颗数) 主频 缓存(L1/L2/L3)
· 内存信息 进程信息(程序运行起来) 缓冲区(加快存储数据) 缓存区(加快读取数据)
ps - report a snapshot of the current processes.
报告目前进程一个快照信息, 不能实时查看
top - display Linux processes
显示linux系统进程信息
· 磁盘信息 磁盘容量(单位 Byte --> KByte --> MB --> GB ---> TB ---> PB)
磁盘接口(SATA --> SCSI --> SAS --> PCI-E)
磁盘转速(10krpm 15krpm)
· 电源 冗余能力(双路电源 UPS 发电机)
· 阵列卡 将多块硬盘逻辑整合一块
1) 提升单块硬盘容量
2) 提升硬盘安全性 RAID 1
RAID1
优势: 提高数据存储安全性
缺点: 存储效率低 存储容量有损失
3) 提升硬盘存储效率
RAID0
优势: 提升存储数据效率
缺点: 安全性低
RAID5/RAID10 ???
阵列配置: https://www.cnblogs.com/passzhang/articles/8672029.html
· 远程管理卡 网卡网口(管理IP地址) DELL iDRAC : 192.168.10.1
IBM IMM: 192.168.70.125
HP iLO2:
========================================================================================
5) 企业存储数据方案
高并发:
存储数据 --> 内存中(缓冲区) (UPS 发电机 专用电)--> 磁盘中
读取数据 --> 内存中(缓存区) --> 磁盘中
低并发:
存储数据 --> 磁盘中
读取数据 --> 内存中(缓存区) --> 磁盘中
==============================================================================
5) 企业存储数据方案
高并发:
存储数据 --> 内存中(缓冲区) (UPS 发电机 专用电)--> 磁盘中
读取数据 --> 内存中(缓存区) --> 磁盘中
低并发:
存储数据 --> 磁盘中
读取数据 --> 内存中(缓存区) --> 磁盘中
===============================================================================
02. 系统安装部署阶段回顾
1) 操作系统概念介绍
操作系统: 人 (中介 操作系统) 管理硬件
系统组成: 内核 <--- 解释器 <--- 外围软件程序
系统特点: 开源 多用户 安全性 服务器常用操作系统
2) 操作系统发展历史 GNU/GPL
unix : 贝尔实验室
minix: 谭邦宁 教学
GNU : 斯托曼 开发出一个类似unix系统
FSF GNU GPL
内核 : 托瓦兹 学生 内核+GNU=linux
3) 操作系统版本选择
centos 7
redhat 7
debian
ubuntu
4) 操作系统安装部署 (掌握 *****)
虚拟软件概念: 虚拟多个真实系统环境 共用硬件资源 --- 共享单车
虚拟软件部署:
1) 创建虚拟主机 如何进行虚拟主机迁移
2) 配置虚拟网络
PS:
a 系统虚拟化功能是否开启 bios
b 虚拟软件服务是否开启 ctrl+r --> services.msc --> 服务 vmware
c 无法运行虚拟主机 虚拟主机进程开启多个了 清理虚拟主机存储目录
操作系统安装:
1) 如何下载获取系统镜像 xxx.iso
2) 将镜像文件加载到光驱
3) 启动虚拟主机安装系统
centos install 7 ---> 修改网卡: net.ifnames=0 biosdevname=0
修改网卡和主机名 ---> IP地址 10.0.0.200 掩码(规划地址范围) 网关地址(从一个网络到其他网络必经之路)
操作系统分区过程 ---> /dev/sda1-/boot /dev/sda2-swap 8G /dev/sda3-/
系统预装软件选择 ---> 最小化安装 1236
系统用户设置密码 ---> root

前12天课程回顾2:

4) 掌握远程连接排错思路
a 确认链路是否通畅
ping 10.0.0.200
b 确认是否有阻止策略
c 确认远程服务是否开启
telnet 10.0.0.200 22
systemctl status sshd
ps -ef|grep sshd
================================================
强制停止进程方法: 三个杀手
方法一:
kill 进程号码 --- 杀死进程, 反复执行命令会有提示
kill -9 进程号码 --- 强行杀死(千万慎用)
方法二:
killall 进程名 --- 杀死进程, 反复执行命令会有提示
方法三:
pkill 信息 --- 模糊杀进程
================================================
netstat -ltunp|grep 22
===================================================================
3) 掌握系统目录相关命令
· 创建目录: mkdir -p 目录信息
· 查看目录: ls -d 目录信息
· 使用目录: cd ~ cd ../ . cd - cd (绝对路径/相对路径)
· 所在路径: pwd
· 删除目录: rm -rf /目录信息 rm -rf /目录/*
===================================================================
批量编辑多行信息
添加注释信息:
第一个历程: 先将光标移动到要编辑内容的第一行
第二个历程: 进入视图块模式
ctrl+v
第三个历程: 移动光标选中多行信息
第四个历程: 进入编辑模式
shift+i --- 编辑信息
第五个历程: 退出编辑模式
esc
=====================================================================
批量编辑多行信息 vim
添加注释信息:
第一个历程: 先将光标移动到要编辑内容的第一行
第二个历程: 进入视图块模式
ctrl+v
第三个历程: 移动光标选中多行信息
第四个历程: 进入编辑模式
shift+i --- 编辑信息
第五个历程: 退出编辑模式
esc

取消注释信息:
第一个历程: 先将光标移动到要编辑内容的第一行
第二个历程: 进入视图块模式
ctrl+v
第三个历程: 移动光标选中多行信息
第四个历程: 删除选中的信息
d 或者 x
========================================================================

前12天课程回顾3:

2) 操作系统目录结构
/bin -> /usr/bin 保存系统命令文件信息
/sbin -> /usr/sbin
/boot 负责引导系统启动 (批量安装系统 cobbler kickstart)
/dev 设备文件保存目录
光驱设备: /dev/cdrom --> /dev/sr0
磁盘设备: /dev/sda1
字符流文件: 生成随机数 /dev/urandom
=====================================================================
补充: 如何在系统中生成随机数(类似验证码)
利用tr命令:
-c, -C, --complement use the complement of SET1
-d, --delete delete characters in SET1, do not translate
删除指定字符,不做替换
tr -cd 'a-zA-Z0-9' </dev/urandom |head -c 6

echo $RANDOM
=====================================================================
/etc 保存系统或者软件服务配置文件信息
/home 用户家目录路
/root
/lib -> usr/lib 存放库文件目录
/lib64 -> usr/lib64
/mnt 临时挂载点目录
/opt 存储第三方软件程序信息
/usr 存储第三方软件
/proc 存储内核 进程 硬件信息 (存储在内存中)
/tmp 临时回收站
/var 存放经常变化数据文件信息目录(日志文件)
=============================================================================
/etc/
1. 网卡配置文件
文件路径信息: /etc/sysconfig/network-scripts/ifcfg-eth0
文件内容信息: 地址信息
文件配置生效: 重启网络服务
2. DNS服务配置文件:
文件路径信息: /etc/resolv.conf
文件内容信息: nameserver xxxxxx
文件配置生效: 即时生效
3. 本地解析文件:
文件路径信息: /etc/hosts
文件内容信息: IP地址信息 域名名称
文件配置生效: 即时生效
4. 主机名称配置文件:
文件路径信息: /etc/hostname
文件内容信息: 主机名称
文件配置生效: 重启系统 永久配置
配置临时生效: hostnamectl set-hostname 名称信息
5. 系统自动挂载文件:
文件路径信息: /etc/fstab
文件内容信息: 存储设备信息(文件 UUID) 挂载点信息 文件系统类型(存储数据方式) 挂载参数 是否备份磁盘数据 是否进行磁盘自检
文件配置生效: 重启系统 / mount -a
6. 自动执行命令文件:
文件路径信息: /etc/rc.local --> /etc/rc.d/rc.local
文件内容信息: 命令信息
文件配置生效: 设置文件权限具有执行权限 chmod +x /etc/rc.d/rc.local
文件作用说明: 1. 让服务开机自动运行
2. 数据自动备份
7. 配置系统变量/别名文件:
文件路径信息: /etc/profile
文件内容信息: 环境变量(export PATH="环境变量内容信息") 别名设置(alias 别名='命令信息')
环境变量: 对有些特殊变量统称 PATH LANG PS1
文件配置生效: 重新连接 source
8. 系统运行级别文件:
文件路径信息: /etc/inittab
文件内容信息: 设置系统运行级别
运行级别: 系统不同运行启动方式
0 关机运行方式
1 单用户运行方式 修复系统/破解系统密码 (不需要登录/没有网络) windows PE
2 多用户运行方式 没有网络
3 多用户运行方式 具有网络
4 未使用运行方式
5 图形运行方式
6 重启运行方式
运行模式设置: systemctl set-default xxx.target
systemctl get-default
init 级别信息 runlevel
9. 系统提示信息文件:
文件路径信息: /etc/motd /etc/issue /etc/issue.net
需求: 每天看见不同小动物说话
/etc/profile.d --- 存放脚本文件信息, 每次连接登录系统,都会加载此目录中的脚本文件
=============================================================================================
4) 操作系统软件安装
1. 利用yum方式安装软件
安装命令: yum install -y tree
特点说明: 可以解决依赖 所有软件包可以直接下载
缺点说明: 依赖网络

yum list --- 显示yum仓库中所有可用的软件包
yum search/provides --- 搜索每个包里面是否有指定命令文件
yum remove/erase --- 卸载软件包(慎用)
yum reinstall --- 重新安装修复程序
yum localinstall --- 本地安装软件程序 并解决软件安装依赖问题

2. 利用rpm方式安装软件
安装命令: rpm -ivh tree.rpm
特点说明: 不依赖网络
缺点说明: 不能解决依赖

rpm -qa --- 查看确认软件是否安装成功
rpm -ql --- 查看软件安装生成数据信息保存路径

3. 编译安装
4. 二进制包
==============================================================================================

day4新内容部分:

今日内容:

今天作业:
1. (选做) 如何批量创建用户
情况一: 创建 oldboy01 oldboy02 oldboy03 .. oldboy10 并且每个用户密码都是123456
for循环 : 语句格式
for 变量 in {鸡蛋,香肠,馅饼,油条,包子}
do
买早点 $变量
done

扫描二维码关注公众号,回复: 8190293 查看本文章

useradd oldboy01
useradd oldboy02
useradd oldboy03
...
useradd oldboy10

for username in oldboy{01..10}
do
useradd $username && echo 123456|passwd --stdin $username
done


情况二: 创建 oldboy oldgirl olddog oldbaby 并且用户密码是随机密码 6位
思路一: 解决随机密码问题:
tr -cd 'a-zA-Z0-9' </dev/urandom | head -c 6

思路二: 批量创建用户
分析情况一: 批量创建用户较多
# cat user.txt
oldboy
oldgirl
olddog
oldbaby
olda
oldb
oldc
oldd
olde

for username in `cat /server/scripts/user.txt`
do
useradd $username
done

----------------------------------------------------------------------------------
分析情况二: 批量创建用户较少
for username in {oldboy,oldgirl,olddog,oldbaby}
do
useradd $username
done

思路三: 创建用户和密码信息
for username in {oldboy,oldgirl,olddog,oldbaby}
do
password_info=`tr -cd 'a-zA-Z0-9' </dev/urandom | head -c 6`
useradd $username
echo $password_info | passwd --stdin $username
echo $username $password_info >> /tmp/user_info.txt
done
==============================================================================

回顾:
1) 操作系统用户优化
创建用户信息: useradd oldboy
用户设置密码: passwd 用户信息 / echo 123456|passwd --stdin oldboy
切换使用用户: su - oldboy 将用户环境变量信息做彻底改变
删除用户信息: userdel -r oldboy
查看用户信息: id oldboy
================================================================================
2) 操作系统下载优化
阿里云下载优化:
base源优化:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
epel源优化:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

确认是否更新好了base和epel源
yum repolist

清华源下载优化:
base源优化:
https://mirrors.tuna.tsinghua.edu.cn/help/centos/

epel源优化:
https://mirrors.tuna.tsinghua.edu.cn/help/epel/

yum clean all --- 做yum刷新重置

=============================================================================
3) 操作系统安全优化
关闭安全服务程序: firewalld
临时关闭: systemctl stop firewalld
永久关闭: systemctl disable firewalld

关闭安全服务程序: selinux
临时关闭: setenforce 0
永久关闭: sed -i '7s#enforcing#disabled#g' /etc/selinux/config

sed命令语法: sed 参数 '' 文件信息
sed 's#enforcing#disabled#g' /etc/selinux/config
=============================================================================
4) 操作系统时间优化
熟悉时间调整命令: timedatectl
1) 手动调整时间信息: timedatectl set-time 时间信息
2) 自动同步时间信息:
方法一:
第一步: 环境准备
yum install -y chrony
systemctl start chronyd
timedatectl set-timezone Asia/Shanghai
第二步: 开启时间同步功能
timedatectl set-ntp 1

方法二:
ntpdate ntp1.aliyun.com
=================================================================================
5) 操作系统字符优化
LANG=XXX --- 影响字符信息环境变量
临时设置: export LANG=zh_CN.utf8
永久设置: vim /etc/locale.conf
localectl set-locale LANG=zh_CN.utf8
==================================================================================
03. 操作系统文件属性知识
# ls -il /etc/hosts
67674863 - rw-r--r-- 1 root root 184 Dec 11 10:06 /etc/hosts
① ② ③ ④ ⑤ ⑥ ⑦ ⑧
1) 文件属性 inode索引信息
简述: inode -> index node 索引节点 类似目录
2) 文件属性 文件类型信息
简述: 不同文件类型,操作处理方式不同
3) 文件属性 文件权限信息
简述: 对文件有什么操作能力 read/write/execute
4) 文件属性 文件硬链接信息
简述: 硬链接类似于查看文件数据信息多个入口
5) 文件属性 文件属主信息
简述: 文件创造者 父母 文件数据最高权限
6) 文件属性 文件属组信息
简述: 文件管理者 亲人 文件数据权限需要设置
其它用户 隔壁老王 文件数据权限最低 read
7) 文件属性 文件大小信息
简述: 文件占用了多少磁盘资源
8) 文件属性 文件时间信息
简述: 文件修改时间信息 (访问时间 改变时间)

=============================================================================
普通文件 -
目录文件 d
链接文件 l
设备文件 b block 存储设备文件 /dev/sda1
c charset 字符流设备文件 /dev/urandom
s socket 网络套接字文件 ???
=============================================================================
搜索的条件:
1) 根据文件类型搜索数据 -type
find /oldboy -type f/d/l/c/b/s
2) 根据文件名称搜索数据 -name
find /oldboy -name "*dog*"
find /oldboy -iname "oldboy.txt"

方法二: 根据文件名称查找到所在路径
locate --> 前提: 更新或者创建数据库文件 updatedb


=============================================================================

补充: `` 用法说明 : 将反引号里面命令先执行, 将结果信息被反引号外面命令进行调用
# which ssh
/usr/bin/ssh
# rpm -qf /usr/bin/ssh
openssh-clients-7.4p1-16.el7.x86_64
将两条命令整合为一条:
# rpm -qf `which ssh`
openssh-clients-7.4p1-16.el7.x86_64
=============================================================================

 

 ===================================================================================================================

day5新内容部分:

3) 根据文件大小搜索数据
find /oldboy -size +10k --- 寻找大于10k文件
find /oldboy -size -1G --- 寻找小于1G文件
find /oldboy -size 10 --- 寻找大小正好是10字节文件
======================================================================
补充: find命令根据大小查找数据单位信息
`b' for 512-byte blocks (this is the default if no suffix(角标/下标) is used)
1个块=512字节 +1 > 512字节 ok -2 <1024 (小于一整块) 1 = 512字节 ok
`c' for bytes
最小尺寸单位
`w' for two-byte words
以两个字节作为一个单词找出不同尺寸文件
`k' for Kilobytes (units of 1024 bytes)
依据kb尺寸寻找数据
`M' for Megabytes (units of 1048576 bytes) ****
依据Mb尺寸寻找数据
`G' for Gigabytes (units of 1073741824 bytes)
依据Mb尺寸寻找数据
======================================================================
4) 根据文件路径深度查找
# find /oldboy -maxdepth 1 -name "oldboy01.txt"
/oldboy/oldboy01.txt

-maxdepth --- 查找数据最深深度
# find /oldboy -mindepth 2 -name "oldboy01.txt"
/oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy01.txt
/oldboy/oldboy01/oldboy02/oldboy03/oldboy01.txt
/oldboy/oldboy01/oldboy02/oldboy01.txt
/oldboy/oldboy01/oldboy01.txt
-mindepth --- 查找数据最小深度, 从最小深度继续向下查找
======================================================================================
需求:
1) 请找出文件大小是大于6k 并且 还要找出文件名称是有oldboy开头的文件
2) 请找出文件名称是oldboy开头的文件 和 .txt结尾的文件
find /oldboy01 size +6k -name "oldboy*"
find /oldboy01 -name "oldboy*" -o -name "*.txt"

=====================================================================================
5) 根据条件逻辑查找数据
1) 请找出文件大小是大于6k 并且 还要找出文件名称是有oldboy开头的文件
并且逻辑关系 -a
find /oldboy -size +6k -a -name "oldboy*"
find /oldboy -size +6k -name "oldboy*"

2) 请找出文件名称是oldboy开头的文件 和 oldgirl开头的文件
find /oldboy -name "oldboy*" -o -name "oldgirl*"
----------------------------------------------------------
find -size +6 | find /oldboy -name "oldboy*"
------------------------------------------------------------
=====================================================================================
利用find命令实现批量处理数据
环境准备:
touch oldboy{01..10}.txt
touch oldgirl{01..10}.jpg
touch olddog{01..10}.avi

1. 批量删除指定数据
将oldboy开头的数据全部删除
---------------------------------------------
方法一: find ./ -name "oldboy*"|xargs rm -f
find ./ -path "./cache" -prune -o -name "oldboy*" -print
----------------------------------------------
方法二: find ./ -type f -name "oldboy*" -delete
----------------------------------------------
方法三: find / -type f -name "*name" -exec rm {} \;
----------------------------------------------
方法四: find / -type f -name "*oldboy"|xargs rm -rf
----------------------------------------------
方法五: rm -rf `find ./ -name "oldboy*"`
----------------------------------------------
方法六: rm -rf $(find ./ -name "oldboy*")
----------------------------------------------

===============================================================
tree命令用法:

2) 查看目录文件结构信息
tree
tree -L 3 --- 指定查看目录层级信息
tree -d --- 只查看完整目录结构信息
===============================================================

tar命令用法:

3) 如何压缩数据信息
tar --- 压缩数据/解压数据
将数据进行压缩:
命令语法: tar zcvf 生成压缩包路径/压缩包.tar.gz 需要进行压缩数据01 需要进行压缩数据02 ..
参数说明:
z --- 数据压缩方式 gzip
c --- 创建一个压缩文件
v --- 显示压缩过程
f --- 指定压缩包路径信息
将链接文件进行压缩处理时:
tar zcvhf 生成压缩包路径/压缩包.tar.gz 需要进行压缩链接文件
h --- 指定压缩链接文件所指定源文件

将数据进行解压:
命令语法: tar xvf 压缩包路径/压缩包.tar.gz (默认解压, 会将数据解压到当前路径)
参数说明:
x --- 提取压缩包中的数据(解压)
指定解压数据路径信息:
tar xf ./sys_backup.tar.gz -C /oldboy

对压缩包中的数据进行查看
tar tf sys_backup_2019-12-13.tar.gz
t --- 查看列表显示压缩包中的数据信息

tar czvf oldboy1.tar.gz /beifen/oldboy/ --exclude=oldboy{01..02}

=================================================================
A 数据重要文件 conf配置文件 第一阶段配置信息 压缩保留 第一阶段压缩包 数据找出来
A 数据重要文件 conf配置文件 第二阶段配置信息 压缩保留 第二阶段压缩包
A 数据重要文件 conf配置文件 第三阶段配置信息 压缩保留 第三阶段压缩包

当前 不小心将第一阶段信息改错了
====================================================================

3) 如何压缩数据信息
tar --- 压缩数据/解压数据
将数据进行压缩:
命令语法: tar zcvf 生成压缩包路径/压缩包.tar.gz 需要进行压缩数据01 需要进行压缩数据02 ..
参数说明:
z --- 数据压缩方式 gzip
c --- 创建一个压缩文件
v --- 显示压缩过程
f --- 指定压缩包路径信息
将链接文件进行压缩处理时:
tar zcvhf 生成压缩包路径/压缩包.tar.gz 需要进行压缩链接文件
h --- 指定压缩链接文件所指定源文件

将数据进行解压:
命令语法: tar xvf 压缩包路径/压缩包.tar.gz (默认解压, 会将数据解压到当前路径)
参数说明:
x --- 提取压缩包中的数据(解压)
指定解压数据路径信息:
tar xf ./sys_backup.tar.gz -C /oldboy

对压缩包中的数据进行查看
tar tf sys_backup_2019-12-13.tar.gz
t --- 查看列表显示压缩包中的数据信息

===================================================================
补充: 提示信息作用:tar: Removing leading `/' from member names
解释: 将绝对路径 / 根目录信息进行移除 , 压缩数据
作用: 对系统数据信息进行保护

不想保护数据, 想解压时将源数据进行覆盖:
压缩时: tar zcvPf ---保留住根目录
解压时: tar xPf ---保留住根目录
===================================================================
扩展的内容:
01: dd if=/dev/zero of=/oldboy/oldboy03.txt bs=150M count=10 什么作用
02: 和find命令有关, 排除指定目录不要进行搜索
[root@oldboy69 oldgirl 00:07:50]# tree
.
├── bin
│   └── oldboy.sh
├── cache --- 排除cache目录不要进行搜索
│   └── oldboy.m
├── conf
│   └── oldboy.conf
└── log
└── oldboy.log

4 directories, 4 files
03: 压缩/oldboy目录, 生成一个oldboy.tar.gz压缩包, 将压缩包报文在/backup
需要排除/oldboy/oldboy01目录 /oldboy/oldboy02目录不要被压缩打包


作业:
01. 如何利用find命令将数据找出来, 进行批量复制或移动操作(三种方法)
02. 将目录中以oldboy开头的文件信息, 进行批量压缩

 

==================================================================================================================

 

=====================================================================================================

猜你喜欢

转载自www.cnblogs.com/jwl123/p/12041148.html
今日推荐