DAY01
一:关于虚拟机
1.VMware虚拟机:
①:Windows环境下使用
②:虚拟机和真机平分内存(所以要同时开多个虚拟机时把内存调低些)
③:运行时尽量用管理员身份打开
④:笔记本安装时需要进BIOS把vritual technology打开成enabled
⑤:多次安装失败尝试换一下iso镜像文件
⑥:安装Linux系统如果出现未许可,根据提示操作即可(12cc)
2.kvm虚拟机
①:Linux环境下使用
②:kvm中添加cdrom设备是在储存这个选项中选择cdrom设备类型
二:基础理论
1.服务器
能够为其他计算机提供服务的更高级的电脑
典型服务模式
C/S,Client/Server架构
– 由服务器提供资源或某种功能
– 客户机使用资源或功能
2.TCP/IP协议及配置(transmission control protocol 传输控制协议)
TCP/IP是最广泛支持的通信协议
主机与主机之间通信的三个要素
– IP地址(IP address)
– 子网掩码(subnet mask)
网关(gateway):从一个网络连接到另一个网络的“关口”
– 不同网络之间通信
– 不同网络之间通信借助路由器设备
DNS服务器地址:域名的服务器+解析器
将域名解析为对应服务器的ip地址
IP地址的概述
作用:用来标识一个主机的网络地址(居民的×××)
– 一共32个二进制位
– 表示为4个十进制数,以 . 隔开
IP地址的分类(类似中国分了34个省份一样)
– A类: 1 ~ 127 网+主+主+主 (255.0.0.0) (11111111.0.0.0)8位
– B类:128 ~ 191 网+网+主+主 (255.255.0.0) (111111112.0) 16位
– C类:192 ~ 223 网+网+网+主 (255.255.255.0)(111111113.0) 24位
– D类:224 ~ 239 组播
– E类:240 ~ 254 科研
127.0.0.1/8 特殊ip地址:永远代表自己
组成: 网络位 + 主机位
(区号加座机号 0831 5365776 0831代表属于宜宾 后面代表第多少台机子)
网络位: 标识 网络或者区域 (相同网络位的ip才能ping通不然就要借助网关?)
主机位: 标示 在该区域的第几台主机
子网掩码:
用来标识ip地址的网络位与主机位
二进制的1标识网络位 0标识主机位
IP地址的获取:
手动
自动(dhcp配置 前提:网络中必须要自动分配ip地址的服务器)
Mac地址 ipv6地址都是16进制进行表示
3.关于二进制八进制十进制十六进制的转换
二进制:0-1
(最底层计算机语言 它只认识这个“1”开“0”关)
(二进制都是以1开头,开头的0无效所以省略)
八进制:0-7
2的3次方=8 (一位对应二进制三位)226(8)=010 010 110三个分成一坨
十六进制:0-9 a-f (十进制的10-16)
2的4次方=16 (一位对应二进制4位)226(16)=0010 0010 0110 四个分为一坨
①:所有进制转换为十进制的方法:
有n位数就相加n次 几进制就几的n-1次方加到几的0次方!!!
abcd(2)=a23+b22+c21+d2o
abcd (8) =a83+b82+c81+d8o
abcd(16) =a163+b162+c161+d16o
②:十进制转换为所有进制的方法:(不拆分)
都是几进制就除几(二,八,十六)取余直到商为0取最后一个余数
③:八进制十六进制转换二进制:
先拆分(比如226,拆分为2,2,6分别用2,2,6取除2取余直到商为0余1)
(十六进制的a-f先转换为10-16再除2,不足时在最左边补0!)
④:二进制转换八进制十六进制的方法:
-先从右到左补全(三个为一坨,四个为一坨)
-再把每一坨转换为十进制(10-16表示为a-f即可)
⑤:八进制和十六进制相互转换
先转换为二进制或者十进制再相互转换
DAY02
一:基础理论
1.操作系统: 一堆软件的集合,让计算机硬件正常的工作
用户---------->系统内核---------->硬件
UNIX诞生时间默认为1970-1-1 Ken Thompson是C语言之父也是发明人之一
Linux之父,Linus Torwalds 1991-10
– 版本号:主版本.次版本.修订号
完整系统: Linux内核 + 各种应用软件(gnu开源)
Linux文件系统:定义向磁盘介质上存储文档的方法和数据结构,以及读取文档的规则
不同类型的文件系统,其存储/读取方式不一样
格式化操作就是建立新的文件系统(赋予空间一定的规则)
物理硬盘==>分区规划==>格式化==>读/写文档(毛坯--隔断--装修--入住)
文件系统类型: – EXT4,第四代扩展文件系统,RHEL6系列默认
– XFS,高级日志文件系统,RHEL7系列默认
– SWAP,交换空间(虚拟内存)缓解物理内存的压力
二:系统操作基础命令
/ 根目录: 所有数据都在此目录下(Linux系统的起点)
/dev: 所有设备相关的数据 : hd,表示IDE设备
sd,表示SCSI设备
/dev/sdc6:SCSI设备第三块硬盘第6个分区(第二个逻辑分区)
虚拟控制台切换( Ctrl + Alt + Fn 组合键)
#号 管理员 root $号普通用户 "/" 在跟下 "~"在root这个目录下(管理员家目录)
颜色的含义:黑色:文本文件
蓝色:目录
绿色:可以执行的程序文件
青色:快捷方式
红色:压缩文件
命令行的一般格式:每一部分之间都要有一个空格
命令字 [选项]... [参数1] [参数2]...
操作 如何执行该操作 作用对象
打 用什么(怎么) 谁
命令的执行依赖于解释器。
默认解释器:/bin/bash
用户------->解释器------>内核--------->硬件
Ctrl+c :结束正在运行的命令
tab键可补全命令或路径 tab两次显示所有
alt + .: 粘贴上一个命令的参数(按两次是上上个,以此类推)
-ldh 短选项 --help 长选项
基本命令(后面基本不给选项的)
pwd 查看当前工作目录
uname -r 查看系统内核版本
cat /etc/redhat-release 查看系统版本
lscpu 列出CPU处理器信息
cat /proc/meminfo 查看内存情况
hostname 当前系统的主机名称
ifconfig 列出已激活的网卡连接信息
poweroff 关机
reboot 重启
wc 统计文本行数,字节数,字数 (wc=‘wc -lcw’)定义了别名的
du -h 查看文件占用空间大小
cd命令 切换工作目录
cd - 切换到上次的工作目录(类似遥控板上的交换频道)
cd .. 返回上级工作目录
cd ~ 用户名 切换到该用户家目录
cd 后面什么都不给 切换到当前用户家目录
文本查看
cat 查看文本文件内容
less [选项] 文件名... 分屏阅读文本内容 /+关键字可查找
head -n 数字 文件名 查看文件前n行 默认十行
tail -n 数字 文件名 查看文件后n行 默认十行
grep [选项]... '查找条件' 目标文件 输出包含指定字符串的行(文件过滤)
DAY03
一:挂载操作
Linux系统显示光盘内容
光盘文件----->光驱设备------> 目录(访问点)
/dev/hdc IDE接口 /dev/sr0 SCSI接口
1光盘挂载
①查看光驱设备文件 ls /dev/sr0 ls /dev/cdrom
②创建访问点目录,挂载设备,查看设备
(挂载设备尽量挂载到自己创建的目录中,否则原目录会被覆盖且为只读)
mkdir /dvd
mount /dev/cdrom /dvd
ls /dvd
③卸载操作 umount /dvd
(查看所有终端是否在挂载点中工作,跳出后再卸载)
2u盘挂载(NTFS格式) 下载ntfs-3g.rpm的软件包
mkdir /usb
mount -t ntfs-3g /dev/sdb1 /dvd
umount /usb
ls 查看目录文件列表
-l:以长格式显示
-R:递归显示目录下的所有目录
-A:包括名称以 . 开头的隐藏文档
-d:显示目录本身(而不是内容)的属性
这个选项可以过滤查看某个目录是否在某个目录中(与grep区分哈)
-h:提供易读的容量单位(K、M等)
~user表示用户user的家目录
. 表示当前目录
.. 表示父目录
通配符:针对不确定的文档名称,以特殊字符表示
*:任意多个任意字符 ls /dev/tty* 显示以tty开头的所有
?:单个字符 ls /dev/tty? 显示以tty开头且后面只有一个的文件
[a-z]:多个字符或连续范围中的一个,若无则忽略 只能0-9
{a,min,xy}:多组不同的字符串,全匹配
请显示/dev目录下,tty20到tty30 所有的设备文件?
ls /dev/tty{2?,30}
ls /dev/tty{2[0-9],30}
alias 定义别名,简化复杂的命令 (临时定义) 永久别名配置文件是 /root/.bashrc
alias hn='hostname'
unalias #删除别名
ln -s 原文件(长路径) 链接文件路径
相当于创建一个可执行文件的快捷方式来代替某个可执行文件
ln -s /bin/touch /bin/t
t /home/桌面/yanjie.txt 就能touch一个yanjie.txt出来
与alias区别:ln -s 可以修复一些alias的BUG?
文件管理
mkdir -p [/路径/]目录名 创建文档 (连同父目录一同创建)
1.复制、 删除、 移动
移动:mv [选项]... 原文件... 目标路径
mv /mnt/1.txt /mnt/nsd01/2.txt (可以改名)
重命名:路径不变的移动
删除:rm -rf /opt/* -r 目录本身及目录下的所有
复制:cp [选项]... 原文件... 目标路径
支持多个参数:把最后一个参数作为目标,其他作为源
cp -r /boot/ /opt/ 复制目录要递归
\cp -rf /boot/ /opt/ #在本次操作,临时取消别名 强制覆盖
需要注意的细节
前提:
[iyunv@nsd /]# rm -rf /opt/*
[iyunv@nsd /]# ls /opt/
第一次命名操作的意义:复制/home到/opt/ 重命名为test (也就是说cp有重命名功能)
[iyunv@nsd /]# cp -r /home/ /opt/test
第二次命名操作的意义:复制/home到/opt/test目录下
[iyunv@nsd /]# cp -r /home/ /opt/test
2.备份(压缩)与恢复(释放)
①zip(unzip) -d(目标文件夹+创建的包名.zip) 被压缩包名
好处:适用于跨平台的压缩格式Windows Linux都可以使用
②tar备份与恢复
归档和压缩 : 1.方便对零散文件管理 2.减少空间的占用
常见的压缩格式及命令工具:
gzip ----> .gz
bzip2 ---->.bz2
xz ----> .xz
tar 集成备份工具(特殊命令:选项可以不加-)
-c:创建归档
-x:释放归档
-f:指定归档文件名称
-z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
-t:显示归档中的文件清单
-C:指定释放的位置
格式: tar 选项...f /路径/压缩包名字 被归档及压缩的文件
tar -zcf file.tar.gz /home/ /etc/passwd
tar -jcf /root/backup.tar.bz2 /usr/local/
tar -xf /opt/nsd01.tar.gz -C /nsd/
tar -tf /root/backup.tar.bz2
ps:因为该命令选项后面都是给的文件名,所以f必须放在最后
文本管理
创建文本:touch vim > >> (重定向自带touch功能,可以给一个不存在的文件名)
文本编辑:
①vim /opt/haha.txt 如果没有haha.txt这个文件vim会新建一个(自带touch功能)
vim工作模式:命令模式(刚进入时,或者i中按esc之后) 输入模式(i) 末行模式(:)
末行模式下 :wq 保存并退出 :q! 强制不保存并退出
②echo和重定向的组合也可编辑文本(适合为配置文件增加新的功能)
echo abcd >haha.txt
echo abcd >>haha.txt
文本查看
cat 查看文本文件内容
less [选项] 文件名... 分屏阅读文本内容 /+关键字可查找
head -n 数字 文件名 查看文件前n行 默认十行
tail -n 数字 文件名 查看文件后n行 默认十行
grep [选项]... '查找条件' 目标文件 输出包含指定字符串的行(文件过滤)
DAY04
远程管理 ssh -X(可以打开图像界面) 用户名@对方IP地址
(以什么样的用户身份,登陆到那个服务器)
exit 退出
Ctrl + shfit + t 新开一个终端
软件管理
RPM包管理器
– rpm -q 软件名... 查询软件是否安装
– rpm -ivh 软件名-版本信息.rpm...
– rpm -e 软件名... 卸载软件包
# rpm --import /dvd/RPM-GPG-KEY-redhat-release 导入红帽的签名信息
Yum软件包仓库:自动解决依赖关系 (类似应用商店功能)
服务:为客户端 自动解决依赖 安装软件
服务端: classroom虚拟机搭建Web服务,共享光盘所有内容
客户端: Server虚拟机
建立yum软件库:
配置文件的路径:/etc/yum.repos.d/*.repo
错误的配置文件,会影响正确配置文件
①:rm -rf /etc/yum.repos.d/* 清空错误配置文件
②:vim /etc/yum.repos.d/dvd.repo 创建一个repo文件
[rhel7] #仓库标识
name=nsd 1803 #仓库的描述信息
baseurl=http://classroom.example.com/content/rhel7.0/x86_64/dvd/ #指定Yum仓库的位置
enabled=1 #启用该文件
gpgcheck=0 #关闭检测软件包签名功能
③:yum repolist #列出仓库信息(检查是否建立)
Yum的使用
安装: yum -y install 软件名
卸载: yum remove 软件名
yum clean all 清空Yum的缓存
killall xeyes #杀死该程序
wget下载工具 wget 软件包的URL网址 -O /目录路径/新文件名 (默认下载到当前目录)
配置网络
配置永久的主机名,配置文件/etc/hostname
vim /etc/hostname
配置永久IP地址,子网掩码,网关地址 dns服务器地址
1.查询识别的网卡名称
nmcli connection show
2.配置IP地址,子网掩码,网关地址
nmcli connection modify 'System eth0'
ipv4.method manual
ipv4.addresses '172.25.0.100/24'
ipv4.gatrway '172.25.0.254'
onnection.autoconnect yes
nmcli connection 修改网络配置 '网卡名'
ipv4.方法 手工配置
ipv4.地址 'IP地址/子网掩码'
网关地址(没有ipv4.gateway..这个选项时直接在ipv4.addresses中进行配置,且
broadcast是广播地址,不是网关地址,你不要混淆了)
每次开机自动启用配置
3.激活配置
nmcli connection up 'System eth0'
配置DNS服务器地址
作用:将域名解析为对应的IP地址
/etc/resolv.conf DNS服务器地址的配置文件
vim 命令模式下 dd 删除整行内容 10dd 删除10整行内容
方法1:vim /etc/resolv.conf
nameserver 172.25.254.254
方法2:echo nameserver 172.25.254.254 >> /etc/resolv.conf
验证: nslookup server0.example.com(域名)
关闭防火墙:
即时关闭 sentenforce 0
永久关闭 vim /etc/selinux/config SELINUX=disabled
管道 操作 | :
将前面命令的输出结果,交由后面命令在处理一次,最后的输出以最后一条命令为准
cat -n /etc/passwd | head -12 | tail -5
显示了passwd文件找中的8-12序列行
重定向
>:覆盖重定向
>>:追加重定向
将前面命令的输出结果,写入文本文件中
head -3 /etc/passwd > /opt/pass.txt
echo 在屏幕输出用户想输出的内容 (通常与重定向连用来修改或追加配置文件)
echo A.tedu.cn > /etc/hostname 改主机名
echo nameserver 172.25.254.254 >> /etc/resolv.conf (也可以直接覆盖)
改dns服务器地址
echo 123456 > /opt/1.txt 创建一个文本文件
DAY05
用户管理
用户帐号: 1.可以登陆操作系统
2.实现访问控制(不同的用户权限不同)
组帐号: 方便对用户管理(权限方面)
唯一标识: UID GID
管理员的UID:0
一个用户必须至少属于一个组
组分类:基本组(私有组) 附加组(从属组 公共组)
用户基本信息存放在 /etc/passwd 文件
head -1 /etc/passwd
root: x: 0: 0: root: /root:/bin/bash
用户名:密码占位符:UID:基本组的GID:描述信息:家目录:解释器程序
添加用户
useradd [选项]... 用户名
-u 用户id useradd -u 1200 nsd04
-d 家目录路径 useradd -d /opt/test nsd06
-s 登录Shell useradd -s /sbin/nologin nsd09 禁止用户登陆系统
用户 -------> 解释器 ------->内核------->硬件
-g 基本组名 useradd -g tarena nsd07 指定基本组的名字为tarena
-G 附加组 useradd -G tarena nsd07
useradd -u 9928 -g users -G adm,root admin
设置登录密码
用户密码信息存放在 /etc/shadow 文件
head -1 /etc/shadow
用户名:密码加密字符串:上一次修改密码距离1970-1-1的时间
交互式: passwd [用户名]
非交互式:echo '密码' | passwd --stdin(取消交互) 用户名
echo 123456 | passwd --stdin nsd01
su - nsd01 #临时切换用户身份
修改用户属性:
usermod [选项]... 用户名
-u 用户id
-d 家目录路径
-s 登录Shell
-g 基本组名
-G 附加组
usermod -u 1300 -G tarena -d /opt/nsd11 -s /sbin/nologin nsd11
实在记不住:可以利用vim修改/etc/passwd文件内容(直接改配置文件!)
删除用户:
userdel [-r] 用户名 #将该用户的家目录一起删除
组管理
管理组账号
组基本信息存放在 /etc/group 文件
[iyunv@server0 ~]# head -1 /etc/group
root:x:0:
组名:x:GID:组的成员列表
添加组
groupadd [-g 组ID] 组名 groupadd -g 123 stugrp
管理组成员
gpasswd -a 用户名 组名 (添加XX用户到什么组)
gpasswd -a harry stugrp
gpasswd -d 用户名 组名 (删除XX用户从什么组中)
gpasswd -d kenji stugrp
删除组
groupdel 组名
NTP时间同步 (装包,配置,启服务 以后搭建服务器也是这个思想)
建集群时要求所有机器时间一致
如果时间调整成2020年创建了很多文件,
然后时间又调整回来了系统一看,很多文件是来自未来的,容易出出问题。
date 查看系统当前时间
date +%Y #显示年份
date +%m #显示月份
date +%d #显示日期
date +%Y%m%d #显示年月日
date +%Y-%m-%d #显示年月日
date +%F #显示年月日
修改时间
date -s "年-月-日 时:分:秒"
date -s "2008-9-6 12:10:11"
服务:NTP服务器为客户机提供标准时间
服务端:classroom时间同步服务器
客户端:虚拟机Server
1.安装chrony客户端软件,与时间服务端沟通的软件
yum -y install chrony
2.修改配置文件/etc/chrony.conf,指定服务端位置
vim /etc/chrony.conf
server classroom.example.com iburst
3. 启动客户端chronyd服务
daemon: 守护进程,守护程序
systemctl restart chronyd #重起服务
systemctl enable chronyd #设置随机自启动
4.验证
date -s "2000-10-1 10:12:30"
date
systemctl restart chronyd
date
关于查看帮助
help命令
help 命令名 help cd 查看cd命令的帮助
命令名 --help ls --help 查看ls命令的帮助
man手册
man 命令名(文件名) 进入手册后/-h 筛选某个选项的使用规则
man 手册入口 1用户指令 5文件系统 8系统指令
tips:
broadcast是广播地址非网关地址
虚拟机ping不通主机?
是因为虚拟机没网啊!教学环境中能ping通另外的虚拟机是因为已经搭好了服务器
为什么hostname会随ip地址变而改变?
是因为 /etc/hostname这个配置文件为空,是动态主机名,所有IP变了就会变化
在hostname配置文件中写入主机名就会变成静态主机名static hostname。
接下来需要梳理一下linux系统下的目录结构
有些什么目录
放了些什么文件
都是干什么的
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com