云计算的概念
云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。
云计算(Cloud Computing)是网格计算(Grid Computing )、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
长定义是:云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。
短定义是:云计算是通过网络按需提供可动态伸缩的廉价计算服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
云计算基础知识汇总
一、系统部署
获取Linux 常用发行版的方式: 选择centos-linux-x86-DVD-ios
改变路径:cd /etc/dir1
删除文件:rm -rf 文件名 ( -f --force(强制) -r --recursive递归)
改名文件:mv file1.txt file2.txt
关机:init 0
重启:init 6
pwd:查看当前所在的目录
快捷命令集锦
ctrl+c (强制中断程序的执行,杀死程序的进程)
ctrl+z (将任务中断,挂起的状态,进程还存在,任务还没有结束) sleep
exit(退出)= ctrl+D
ctrl+A(命令行最前面)
ctrl+E(命令行最后)
Ctrl+l(清屏)
Ctrl+u(删除光标后的字符)
Ctrl+k(删除光标后的字符)
二、文件和用户管理
1、文件管理
touch file1.txt touch file{1..1000}.txt
mkdir /home/dir1 mkdir -p -m 777 dir1/dir2/dir3(嵌套式) mkdir dir{1..1000}
// -p --parents 需要创建的迭代目录即使已经存在不报错 -m---mode 在创建目录的时候设置权限
cp 源文件 目标文件夹 cp /etc /dev/sdb1 cp file 1.txt file2.txt file3.txt dir(多个文件复制一个文件夹)
mv 参数1 参数2 mv /etc /home/dir1 mv aa bb dir/(多个文件移动一个文件夹)
rm -rf 文件或目录的路径 rm -rf /file1.txt rm -rf dir1/dir2/dir3/(只删除dir3)
vim /vi /home/file1.txt
文本编辑
yy 复制
dd 删除
p 粘贴
u---- undo撤销
/every 在文件中查找every
set nu 设置行号
set nonu 取消设置行号
查找 / 加查找内容
cd /etc/ //任意目录cd回到家目录
./(当前目录)../(上一级目录)
查看命令小结
cat /home/file1.txt tail -3 /home/file1.txt head -3 /home/file1.txt tail -f file1.txt (锁定屏幕)
grep 12323 /dev/file.txt(过滤file.txt的12323信息,更多的时候充当辅助的作用) 如: ps aux | grep sleep
ls:查列出有关文件的信息 // -l --list 长列表显示ls -l = ll // -a ---all查询目录下的所有文件包括隐藏文件//-s---size 按文件大小排序 // -i----inode显示文件索引号 //-d----directory显示当前目录的目录文件
2、用户管理
用户基本信息
useradd user1
useradd user1 -u 1500:创建用户user02,指定uid
useradd user03 -d /user03:创建用户user03 指定用户登入时的启始目录
useradd user04 -g xiaozu1 -G xiaozu2 // -g---选择默认组 -G---添加到额外组
gpasswd -d user02 hr:将用户移出扩展组 d---delete
userdel -r user1 r---recursive:递归
passwd user1 创建user1密码
id user1(查询用户ID,组ID,和用户所在的组)
cat /etc/passwd(查看七列字段-- 用户名:密码占位符:用户id 0(超管)0-999(内置用户):组id 0(超管)0-999(内置用户):描述:家目录(超管目录):登录shell(壳---应用程序)
cat /etc/shadow(查看用户密码信息由九字段组成)
组基本信息
groupadd hr
groupadd net01 -g 1007
groupdel hr
cat /etc/group:组名:组密码:组ID:组成员
tail -3 /etc/group
su - user1 :切换用户 exit= ctrl+D----退出用户返回root
小结
touch /home/file1.txt(有一个默认属主属组),建一个user1、组hr,使得文件的属主属组是所建的,用户和组-------chown user1.hr /home/file1.txt
三、用户的权限
1、基本权限UGO
修改权限
使用符号:u(user)用户 g(group)组 o(other)其他 r(read)读 w(write)写x执行
chmod u+x (w/r) file1
chmod a=rwx file1 //所有人等于读写执行
chmod a=- file1 //所有人没有权限
chmod ug=rw,o=r file1 //属主属组等于读写,其他人只读
/root/file.txt (运行相应文件里面的程序)
ll file1:查看文件的权限等
使用数字修改权限
4读 2写 1执行
chmod 644 file1
ll file1:查看文件的权限等
更改属主、属组
chown alice.hr file1:改属主、属组
chown alice file1 :只改属主
chown .hr file1:只改属组
-R针对目录中所有的文件。chown -R test.test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组 变更属主和属组需要事先创建好。
2、基本权限 ACL
setfacl -m u:alice:rw /home/test.txt m--- 更改文件或者目录的acl规则
命令 设置 用户或组:用户名:权限 文件对象
setfacl -m u:alice:- /home/test.txt
setfacl -m o::rw /home/test.txt
删除ACL权限
setfacl -x g:hr /home/test.txt: x---删除文件或者目录指定的acl规则
setfacl -b /home/test.txt: b---删除文件或者目录所有的acl规则
查看
getfacl /home/test.txt----------查看文件的属主、属组,以及属主属组权限
lsattr file. txt(查看文件是否有特殊属性)
四、进程管理
ps aux | head -2 ps (precess status)
ps a: 显示现行终端机下的所有程序
ps u:以用户为主的格式来显示程序状况
ps x:不以终端机来区分
静态显示USER,PID,%CPU,%MEM,VSZ,TTY,STAT,START,TIME,COMMAND
查看进程的CPU占比降序排列情况(-是降序) [root@localhost ~]# ps aux --sort -%cpu [root@localhost ~]# ps aux --sort %cpu
查看进程的父子关系。 请观察PID和PPID [root@localhost ~]# ps -ef
top:动态查看进程 top -d 1 -p 10126 查看指定进程的动态信息 ,每秒刷新一次 d--- p--- process
kill -15 4326(进程号) 15:正常终止信号 9:强制终止 1:重新加载配置
kill -l :列出所有支持的信号 l---list
ps axo pid,command,nice --sort=-nice:查看进程的nice(优先级)级别
启动具有不同nice级别的进程:nice -n -5 sleep 6000 & nice -n -10 sleep 7000 &
更改现有进程的nice级别:renice -20 2669 (2669旧的级别是0)
sleep 3000 &(&:表示后台运行) jobs:查看后台进程--[1]+ Running sleep 3000 &--调回前台只需 fg 1
虚拟文件系统 proc
五、重定向管道
1、重定向
(1)FD
file descriptors = FD:文件描述
标准输入 0 —> 键盘
标准输出 1 —> 显示器
标准错误输出 2 —> 显示器 2+可读写文件
通常在 /proc/PID/fd 就能看到文件的FD调用情况
打开一个进程如:vim
ps aux | grep vim ---找到vim进程号
ll /proc/43544/fd-------就可以了解相应打开文件的FD
(2)案例
正确输出:1> = > :再输入内容会覆盖掉 1>> = >> :再输入内容是一种续写的操作,不会覆盖
错误输出:2> = > :再输入内容会覆盖掉 2>> = >> :再输入内容是一种续写的操作,不会覆盖
ls /home/ > file1.txt :因为执行此命令会有正确输出,故file1.txt会有信息,ls /home/ 2> file1.txt
file.txt不会有内容
ls /home/123221334 > file1.txt :因为执行此命令会有错误输出,故file1.txt不会有信息,
ls /home/ 244216534634 2> file1.txt :file.txt有信息
ls /home/ /aaaaaaaaa &> file1.txt.txt &:1/2, file1.txt一定会有信息
2、管道
语法:command1 | command2 |command3 |...
cat /etc/passwd | tail -3
ps aux | grep 'sshd'
tee管道
cat /etc/passwd |tee 88.txt | tail -1 如同T
一些特殊命令不服从管道
如rm - rf
解决:使用xargs命令 如:cat files.txt |xargs rm -rvf
六、存储管理1
1、基本分区
管理磁盘
fdisk /dev/sdb partprobe /dev/sdb :刷新分区列表
mkfs -t ext4 /dev/sdb1
mkdir /mnt/dir1 mount /dev/sdb1 /mnt/dir1
查看磁盘信息
ll /dev/sd*----显示各个磁盘及权限
lsblk----显示各个磁盘及磁盘大小
查看挂载信息
df -hT (hT查询已经装载磁盘的空间容纳情况)
mount
自启动文件(防止重启后挂载失败)
vim /root/.bashrc
mount -t ext4 /dev/sdb1 /mnt/disk1
2、逻辑卷LVM:Logical Volume Manager
创建LVM
pvcreate /dev/sdb pvs pvdisplay:查看详细信息
vgcreate vg1 /dev/sdb vgs vgdisplay
lvcreate -L 100M -n lv1 vg1 lvs lvdisplay L--long 逻辑卷大小 n--name
mkfs - t ext4 /dev/vg1/lv1
mkdir /mnt/dir1
mount /dev/vg1/lv1 /mnt/dir1 df -HT
扩展VG
pvcreate /dev/sdc
vgextend vg1 /dev/sdc
LV扩容
lvextend -L +200M /dev/vg1/lv1
resize2fs /dev/vg1/lv1:刷新LV
3、交换分区管理swap
fdisk /dev/sdf t---L-----82:修改为交换分区
partprobe /dev/sdf1 :刷新sdf盘
mkswap /dev/sdf1
swapon /dev/sdf1
free -m :查看分区情况 -m 参数就是用 M显示内容使用情况
七、存储管理2
1、文件系统详解
EXT4文件系统
inode(index node 索引节点):ll -i file.txt 查询文件的索引节点 i---inode
block(块 文件内容)
inode决定了文件系统中文件的数量:touch file{1..30000}
block存储空间:可以向文件对应的各个块中存储数据
磁盘空间的限制:inode+block两方面
df -hT :可以查询已经装载磁盘的空间容纳情况
2、文件链接
软连接
ln -s 真实存在文件 以软连接形式存在的文件 s--
echo 123 > /file1.txt
ln -s /file1.txt /home/file11.txt
查看: ll /file1.txt /home/file11.txt
rm -rf /file1.txt
总结:软连接像快捷方式,可以对文件和目录做软连接。软连接记录的只是指向源文件的路径,软连接失去源文件不可用。
硬链接
echo 123 > /file2.txt
ln /file2.txt /home/file22.txt
硬链接删除源文件,依然可以用(硬链接本质:相当于为源文件的数据块多了一个索引节点)不允许将硬链接指向目录,硬链接只能针对文件、同分区使用,不能对目录使用。
3、RAID
mdadm -C /dev/md0 (只是一个名字可任意) -l5 -n3 -x1 /dev/sd{d,e,f,g} C--create
n--number l--level x-热备磁盘数量
mkfs -t ext4 /dev/md0
mkdir /mnt/raid5
mount /dev/md0 /mnt/raid5
cp -rf /etc /mnt/raid5/etc1-----(让已经搭建的RAID存储数据 )
mdadm -D /dev/md0 D--detail:查看详细信息
模拟一块硬盘损坏,并移除
watch -n 0.5 'mdadm -D /dev/md0 | tail' //watch----持续查看,实现动态显示。
watch:默认 watch 会以 2s 的间隔重复运行命令,也可以用 -n 参数指定时间间隔,还有一个实用的参数是 d,这样 watch 会帮你高亮显示变化的区域,这样更加一目了然了,Ctrl+c 就可以退出。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。
-d, --differences[=cumulative] 高亮显示变动
-n, --interval= 周期(秒)
mdadm /dev/md0 -f /dev/sde -r /dev/sde //模拟坏了并移除 -f --fail-------force(强制) -r --remove
八、文件查找
命令查找:which 相应的命令 which vim which ls 类似的:wherels 相应的命令
任意文件查找
local file1.txt ----新建的文件系统需要刷新之后才能查找:updatedb
find [path...] [options] [expression] [action] 命令 路径 选项 表达式 动作
按文件名:find /etc -iname "hosts" i----表示不区分大小写
按文件大小: find /etc -size +/-/=5M
指定查找的目录深度: find / -maxdepth 4 -a -name "ifcfg-en*" -a(and)
按文件属主、属组找: find /home -user jack 、 find /home -group hr
按文件类型:find /tmp -type f // f普通文件,b块设备文件,d目录,p管道,l连接
按文件权限: find . -perm 644 -ls ls:查找的文件已ls的显示方式展现 .(包含隐藏文件)
找到后默认是显示文件: find . -perm 644 -ls
找到后删除:find /etc -name "775*" -delete
找到后复制:find /etc -name "ifcfg*" -ok cp -rvf {} /tmp \;
占位符
文件打包及压缩
tar -xvf etc2.tar.bz2 -C /tmp -C重定向到/tmp目录 v--vision f--file x--解压
九、软件管理
1、RPM管理
RPM:Red Hat Package Manage 无法实现个性化 软件包示例(注意后缀)
mysql-community-common-5.7.12-1.el7.x86_64.rpm
Yum:Yellow dog Updater, Modified:可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
配置yum仓库 /部署163yum源
yum install wget
mv /etc/yum.repos.d/* /tmp
wgethttp://mirrors.aliyun.com/repo/Centos-7.repo-O /etc/yum.repos.d/CentOS-Base.repo
更新YUM源: yum repolist yum makecache
配置EPEL文件
EPEL (Extra Packages for Enterprise Linux
下载epel配置文件:wget -O /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repo
重建缓存:yum makecache
Nginx:(配置文件)
第一步:通过官网查找Nginx
第二步:根据提示创建配置文件
第三步: 查看服务器是否已经具备软件官方源
yum repolist yum list | grep Nginx
使用YUM管理RPM包
pinghttp://www.baidu.com:网络测试
yum -y install httpd vsftpd -y (yes自动确认)
systemctl start httpd
systemctl stop firewalld
查询YUM源:yum repolist
查询HTTP程序:yum list httpd
卸载程序:yum -y remove httpd
当一个程序需要安装并使用时:
yum provides ifconfig 查询一下所要安装的程序是否为已知的名字
查询出不匹配,使用查询的结果来安装:yum install -y net-tools-2.0-0.25.20131004git.el7.x86_64
2、源码包
源码包:可以实现个性化功能 软件包示例:nginx-1.8.1.tar.gz
从相应的官网获得源码包
Apache:http://www.apache.org
Nginx:http://www.nginx.org
Tengine:http://tengine.taobao.org
部署tengine
wgethttp://tengine.taobao.org/download/tengine-2.2.0.tar.g
tar -xvf tengine-2.2.0.tar.gz
cd tengine-2.2.0
useradd www
./configure --user=www --group=www --prefix=/usr/local/nginx //配置
make:编译
make install
systemctl stop httpd:确保关闭httpd
测试:/usr/local/nginx/sbin/nginx systemctl stop firewalld 使用浏览器访问本机的IP
十、计划任务
一次性调度执行 at
语法格式:at 如:now +5min teatime tomorrow noon +4 days
一次性任务计划
at now +1min
at> useradd uuuu
CTRL+D输入完毕,提交任务
atq:查询-----得到任务号
at -d 任务号 / at -d 文件名:删除任务
循环调度执行 cron
crontab是一个命令,存在于“/etc/crontab”文件中
systemctl status crond.service ps aux |grep crond :查看cron循环任务
创建计划:crontab -e e---editor
查询计划:crontab -l l--list
删除计划:crontab -r r---remove
systemctl start crond //启动服务
systemctl stop crond //关闭服务
systemctl restart crond //重启服务
systemctl reload crond //重新载入配置
systemctl status crond //查看服务状态
循环任务计划
循环任务内容存放在:/var/spool/cron/
ls:实现查看循环任务内容
循环任务内容: *** //分时日月周:设置循环任务执行时间 *** + command
示例
准备创建脚本文件:vim /root/1.sh----/usr/bin/touch /root/date +%F-%H-%M-%S.txt(在已建文件中编辑)
给文件执行权限:chmod +x /root/1.sh
编写任务计划:crontab -e---- * * * * * /root/1.sh
十一、日志管理
1、rsyslog 系统日志管理
观察 rsyslog进程:ps aux |grep rsyslogd
常见的日志文件(系统、进程、应用程序)及存放位置
tail -f /var/log/messages 显示系统主日志文件 f---锁定在屏幕上
tailf /var/log/secure
tail /var/log/yum.log
tail /var/log/maillog
tail /var/log/cron
tail /var/log/dmesg
rsyslog
yum install rsyslog --- 一般已经默认安装
systemctl start rsyslog.service
rpm -qc rsyslog ----查询软件包安装路径和各配置文档的具体路径 /etc/rsyslog.conf -q--query -c----config
rpm -qa 查看所有软件包 -a--all
vim /etc/rsyslog.conf---对主配置文件进行编辑 :RULES 包含设备、级别、日志存储位置
如:authpriv.* /var/log/secure(SSH信息)
如果对某一种程序(ssh)日志有特定的需要(修改设备类型),需要将日志放到特定位置记录,方便查看
vim /etc/ssh/sshd_config SyslogFacility AUTHPRIV -- SyslogFacility LOCAL5:自定义程序的设备类型
vim /etc/rsyslog.conf local5.* /var/log/serverzz(任意添加的一个日志存放位置)
systemctl start rsyslog----自定义修改之后需要重新加载才能起作用
vim /etc/rsyslog.conf ------ 可以修改相应设备日志存放位置
产生日志的程序 rsyslog 其他应用程序(后续安装)
2、logrotate日志轮转
按照配置进行轮转
主配置文件:vim /etc/logrotate.conf: (适用于所有日志文件轮转,优先级低于子配置文件的要求)
子配置文件夹:vim /etc/logrotate.d/* (自定义配置)如;/etc/logrotate.d/yum --- 实现对yum命令日志的个性化配置
观察主文件和子文件: ls /etc/logrotate.conf /etc/logrotate.d/
查看yum日志 ls /var/log/yum.log
配置轮转规则
missingok //丢失不执行
notifempty //空文件不论转
maxsize 30k //达到30k轮转
yearly //或者一年一轮转
daily //1天轮转
rotate 3 //轮转保留3次
create 0777 root root
十二、网络管理1
查看网络管理程序的状态:systemctl status NetworkManager
查看网络子管理程序的状态:systemctl status network
使用vim命令配置网络:vim /etc/sysconfig/network-scripts/ifcfg-ens33 . ----root目录
ONBOOT=yes//是否启用该设备
BOOTPROTO=none //手动(none/static)还是自动获取IP(dhcp)
IPADDR=192.168.142.131 IP a
NETMASK=255.255.255.0
GATEWAY=192.168.142.2 ip r
DNS1=192.168.142.2 cat /etc/resolv.conf
boot:启动 protocol:协议 获得ip地址有三种:dhcp--自动 none---手动 static—静态
ping 192.168.1.1 测试网络
注意事项
ls /etc/sysconfig/network-scripts/ifcfg-ens33 -a 查看所有文件包含隐藏文件(在你编辑文件时由于没有保存编辑文件,系统默认保存并以隐藏文件的形式存在,由此产生一系列错误)解决方法就是删除:rm -rf ()
cp /etc/sysconfig/network-scripts/ifcfg-ens33 . (防止修改之后产生不可挽回的错误)
配置完后需要重启:systemctl restart network
查看主机名:hosname
修改主机名:vim /etc/hostname
端口号(后续学习继续补充)
网站服务器端口号:80/tcp(http) 443/tcp(https)
远程连接端口号:22
控制端口 command :21
数据端口 data :20
查端口号: ss -tnl ss--网络连接命令 t---tcp n---number l---list:列举
装最小化centos系统的注意事项
配置YUM 源
关防火墙:systemctl stop firewalld 开机禁用防火墙:systemctl disable firewalld 查看防火墙状态:systemctl status firewalld
selinux : vim /etc/sysconfig/selinux 改为SELINUX=disabled 查看:getenforce
6.安装常用程序:yum install -y lrzsz sysstat elinks wget net-tools bash-completion vim
拍快照
十三、网络管理实战1
OSI:Open System Interconnection 开放系统互联模型
OSI:7层次结构/功能:推出较早,只有理论,没有实践
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
TCP/IP(Transmission Control Protocol/Internet Protocol):5层结构/功能:美国军方制定,当今通信标准
TCP/IP = 应用层+表示层+会话层:用户信息转换为数据,以便在网络上传输,为了实现这一功能,需要在应用层数据的前端附加一个 TCP 首部
传输层:数据转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接
网络层:数据段转换为数据包或数据报,并在报头中放上逻辑地址,这样每一个数据包都可以通过互联网络进行传输
数据链路层:数据包或数据报转换为帧,以便在本地网络中传输。在本地网段上,使用硬件地址MAC,唯一标识每一台主机。(功能:链路创建,维护,管理,帧封装,传输,同步,差错校验)
物理层:帧转换为比特流,并采用数字编码和时钟方案,通过某种传输介质发送数去。
5层模型协议分类
应用层:HTTP/超文本传输协议/网站 FTP/文件传输协议 SSH/远程连接协议/远程控制 DNS/域名服务/WWW
传输层:TCP/传输控制协议/可靠 UDP/用户数据报协议/不可靠
网络层:IP/互联网协议/寻址 ICMP/网络消息管理协议/测试
数据链路层:MAC(媒体访问控制地址)Media Access Control Address
物理层:光纤,网线
各进制关系和转化
十进制:由0-9十个数字组成,满十进一
二进制:由0-1两个数字组成,满二进一
十六进制:由0-9,A,B,C,D,E,F十六个字符组成,满十六进一
二进制转换为八进制 例如:1111000010.01101 以小数点为界,分为三三一组,然后读出该数 例如:001 111 000 010 . 011 010 1 ----7----0----2—.---3—2 所以这个数转为八进制数就是1702.32
二进制转换为十六进制 还是这个数 以小数点为界,分为四四一组,然后读出该数 例如;0011 1100 0010 . 0110 1000 —3-------C-----2----.—6------8 所以这个数转为八进制数就是3C2.68
八进制转换为二进制:上述的方法反向操作就可以了,把每一个数用二进制读出来,并分三个位的位置
十六进制转换为二进制:把每一个数用二进制读出来,并分四个位的位置
头条 22-05-25
头条 22-05-25
头条 22-05-25
头条 22-05-25
头条 22-05-25
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-23
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-22
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-21
头条 22-05-17
头条 22-05-17
头条 22-05-17
头条 22-05-17
头条 22-05-17
头条 22-05-17
头条 22-05-17
头条 22-05-17
头条 22-05-17