今日课程学习目标
1、了解Linux操作系统发展介绍、安装配置
2、掌握SSH原理机制、Linux文件上传下载
3、掌握Linux常见文件系统操作命令使用
4、掌握Vim编辑器基础使用
今日课程内容大纲
#操作系统概述
#linux系统概述
#vmware虚拟机
虚拟网络+网络模式
Centos7系统安装
SSH免密登录 非对称加密(私钥 公钥)
文件下载
虚拟机的快照
#Linux常用的基础命令
文件系统的操作 目录树
搜索操作、解压缩
管道
#vi|vim编辑器
打开新建、异常处理
常用命令操作
插入模式编辑、保存退出
一、操作系统概述
1.1、计算机原理
- 当前绝大多数计算机是根据冯·诺依曼结构设计的
- 将程序储存在存储器上, 根据程序的首地址依次向下执行
- 由5大部分组成:运算器,控制器,存储器,输入,输出
- 计算机接收和执行的是二进制指令
- 计算机由硬件系统和软件系统组成
- 硬件:CPU(运算器,控制器), GPU(运算器), 内存,硬盘(存储器), 显示器,音箱(输出), 键盘鼠标(输入)
- 软件
- 系统软件
- 应用软件
1.2、操作系统与分类
- 操作系统是计算机软件与硬件沟通的桥梁
- 其他系统软件和应用软件接收用户指令,将其发送给操作系统,操作系统将指令编译为二进制命令发送给硬件,执行该指令,并对硬件的执行结果进行反馈
- 没有操作系统的计算机叫做裸机,普通用户无法使用
- 操作系统的分类
- 桌面操作系统:
- windows
- macOS
- linux
- 嵌入式操作系统
- μClinux
- winCE
- RTOS
- 服务器操作系统
- Linux
- unix
- windows server
- 移动端操作系统
- Android
- iOS
- 塞班
- 桌面操作系统:
二、Linux操作系统
2.1、Linux发展史
http://linuxfederation.com/complete-historical-timeline-linux-evolution/
2.2、Linux内核
- 创始人:林纳斯·托瓦兹
- 吉祥物:企鹅
- linux内核是开源免费的
- 稳定版
- 开发版
- linux操作系统 = linux 内核+ GNU软件及系统软件+其他应用程序
2.3、Linux发行版本
- 桌面版
- ubuntu
- deepin
- 服务器版
- 企业版redhat
- ubuntu
- centos
三、VMware虚拟机
3.1、虚拟组件
- 所谓的虚拟指的是物理上不存在,但是逻辑上存在,功能跟物理实体一样的。
#1、网卡、网络适配器
就是计算机上网的一个身份证,能够让互联网定位到唯一的一台主机
#2、交换机
将多台网络进行数据通信,搭配网线或者无限网络可以组成局域网
#3、网桥
将两个局域网络进行连接,一般用于扩展局域网范围
#4、DHCP 动态主机配置协议设备
给局域网中的主机动态的分配IP地址,集中管理局域网中的服务器
#5、NAT服务器
将局域网中不能路由的IP变为可路由的IP,不能上网的IP变为可上网的IP
-
Q:如何去组建一个局域网?
网卡,交换机,无线网络或者网线
3.2、VMware 3种网络模式
- 桥接模式
- 将主机和虚拟机构建一个局域网,此时,主机和虚拟机号段相同,并且更换网络环境后,号段同时发生变化,主机和虚拟机都可以链接互联网
- NAT模式
- 将虚拟机组成一个局域网,有DHCP动态分配IP地址,主机和虚拟机可以通过VMnet8交换机进行通讯,主机和虚拟机不是同一号段,主机可以通过网卡上网,虚拟机通过NAT服务器将IP转换后可以上网,更换网络环境,虚拟机网段不变,主机变化
- 仅主机模式
- 和NAT模式基本相同,但是没有NAT服务器,所以虚拟机不能上网,或者可以借用主机网卡上网
注意:为了方便你学习,我们使用NAT模式。
3.3、SSH安全外壳协议
- ssh加密是非对称加密:公钥加密,私钥解密
- 使用密码验证(ssh链接工具,或者git管理工具等)
- 请求服务端,服务端生成一对密钥
- 服务端发送一个公钥给客户端
- 用公钥对密码进行加密,发送给服务端
- 服务端使用私钥解密
- 验证是否密码正确,如果正确,则登录成功
- 使用密钥验证(服务器之间的)
- 客户端生成公钥和私钥
- 将公钥拷贝给服务端
- 服务端生成随机字符串,将其用公钥加密,发送给客户端
- 客户端使用私钥解密,将数据返回给服务端
- 服务端验证
- ssh加密的用途:可以仅使用一次账号密码验证,之后随意登录不用重新输入密码
3.4 从0开始搭建一个linux系统
- 安装VMware
- 配置网络服务信息
- VMware:
- 子网ip:192.168.88.0 子网掩码:255.255.255.0
- DHCP:设置了自动分配IP的范围 100-254
- NAT:网关:192.168.88.1
- 主机:
- VMnet8上进行设置,找到ipv4协议进行设置
- ip地址:不能是1或者0
- 网关:192.168.88.1
- 子网掩码:255.255.255.0
- DNS服务器地址:8.8.8.8
- VMnet8上进行设置,找到ipv4协议进行设置
- VMware:
- 创建一个新的虚拟机
- 根据导航创建
- centos 7 64位
- 分配内存(建议2G以上)和硬盘(建议60G)
- 绑定iso镜像
- 进行centos安装
- 打开虚拟机,根据导航进行安装
- 网卡(设置固定ip)和主机设置(主机名)
- 等待安装完成后重启
- 根据导航创建
3.5、Linux文件上传与下载
- sftp
- 使用快捷键进行开启:crtl + p
- ls :查看服务工作目录结构
- lls:查看本地(local)工作目录结构
- pwd:查看服务器工作目录的绝对路径
- lpwd: 查看本地工作目录的绝对路径
- cd:将服务器工作目录切换到指定目录下
- lcd:将本地工作目录切换到指定目录下
- put 本地目标文件路径: 将本地目标文件上传到服务器工作目录中
- get 服务器目标文件路径:将服务器目标文件下载到本地工作目录中
- lrzsz
- rz
- sz 输入目标文件路径
- 可以拖拽文件到ctr进行上传
3.6 linux 系统快照
- 相当于游戏中的存档
- 拍摄快照不宜太多,会占用资源
四、Linux常见基础命令
4.1、文件系统基本概念
- linux是树状结构目录 (windows 是森系结构目录)
- 常用目录
- root
- home
- etc
- sbin
4.2、常见的操作命令
-
帮助命令
# --help 展示全部的帮助信息 ls --help # man 分页展示全部的帮助信息 man ls # 快捷键 空格 向下一页 enter 向下一行 f 下一页 b 上一页 q 退出 /str 查询字符 n 查询下一个 N 查询上一个
-
基础指令作命令
#1、history命令 # 查看之前输入的终端命令, 不包含输出结果 #2、查看指定目录下内容 ls tree ls - 查看指定目录结构 -a -l -h tree 以树状结构查看当前目录 tree /etc 指定以树状结构查看etc目录内容 #3、切换工作目录 cd #如何查看自己当前的所在目录 pwd #4、文件的创建与删除 touch rm mkdir rmdir touch 创建新文件或者更新创建修改时间 rm 删除文件或目录 mkdir 创建空目录 rmdir 删除空目录 #5、移动与复制 cp mv cp 拷贝文件或目录到指定目录下 mv 移动文件或目录到指定目录下
-
文件内容查看命令
#1、cat 在终端展示所有文件内容 #2、less 在终端分页展示内容,可以进行字符查询 #3、more 在终端分页展示内容 #4、head 默认获取文件开头的10行数据 head -行数 文件名 获取指定前n行数据 #5、tail 默认获取文件结尾的10行数据 tail -行数 文件名 获取指定的后n行数据
-
管道命令 |
# 命令 1 | 命令 2 前一个命令的输出,就是下一个命令的输入
-
echo 输出命令
# 类似于Python中的print 输出文本信息,到终端窗口 echo hello world echo “hello world”
-
重定向
# 就是将输出的内容写入文件中 # > 覆盖 echo hello word > 1.txt # >>追加 echo hello word >> 2.txt
-
&&
- 命令1 &&命令2
- 如果命令1执行成功,则命令2执行,否则不执行
-
||
- 命令1 || 命令2
- 如果命令1执行不成功,则命令2执行,否则不执行
-
链接
# 软连接,就相当于创建了快捷方式,用于快速启动文件,源文件被删除,该链接无法使用 ln -s 源文件路径 目标链接路径 # 硬链接,相当于将文件复制了一份, 用于快速启动文件,源文件删除,该链接不受影响 ln 源文件路径 目标文件路径
-
Linux搜索文件
-
find
# 查找文件的命令 # 根据名称查找文件 find -name “*.txt” # 根据文件大小查找文件 find -size +10M # 查找大于10M的所有文件 # 根据文件的类型查找文件 find -type l # 有三种文件类型 f 普通文件 d 目录 l 链接
-
grep
# grep 要查询的字符 指定查询数据 ps -ef | grep ssh # grep 可以根据指定的文件内的信息进行查询 ps -ef | grep -f b.txt # grep 可以根据正则表达式进行查询 ps -ef | grep ^a
-
locate
# he find -name 作用相同,但是查询效率极高 # locate 查询的内容不是实时更新的,每天更新一次数据库,如果不手动更新,则查询的数据时前一天的内容 # 手动更新数据 updatedb # 查询数据 locate 文件名称
-
which
# 查询可执行命令的绝对路径 which 命令 which ls
-
-
解压缩命令
-
打包、解包
tar 打包 -v 显示执行过程 -c 创建包文件 -f 打包为文件 tar 解包 - x 解包 - C 指定解压路径
-
压缩、解压缩
# 压缩文件 tar -zcvf 压缩包存放路径 被压缩的文件 # 解压文件 tar -zxvf 压缩包名称 -C 被解压的路径(如果不指定路径,默认解压到当前工作目录) # j 使用bzip2格式解压和压缩 # z 使用gzip格式解压和压缩 # 注意:使用什么形式压缩,就要使用什么形式解压
-
五、vi|vim文本编辑器
5.1、介绍
Vim 是一个编辑器,从vi编辑器发展而来,可以进行代码提示,高亮等功能
核心思想:让程序员你的手指始终放在键盘的核心区域就可以完成编程
vim编辑器:没有菜单,只能使用键盘完成操作,不能使用鼠标
异常处理: 删除.swp格式的文件即可,该文件为隐藏文件
5.2、3种工作模式
命令模式:所有输入的内容都会判定为命令
末行模式:是vim编辑器的一个出口
插入模式:可以插入文字,但是不能使用命令
5.3、打开、新建
vim 文件名
vim 文件名 +行数 就是进入文件,光标定位在指定行
5.4、vim基本操作命令
-
光标的移动
上下左右
j k h l
-
复制粘贴
yy 复制光标所在行
nyy 复制光标所在行以下的n行
p 粘贴
-
搜索替换
/word 查询文本
n 向下查询一个
N向上查询一个
:n1.n2s/word1/word2 将n1行到n2行所有内容中的word1替换为Word2
:%s/word1/word2 将文本中所有内容中的word1替换为word2
-
删除、撤销
dd 删除一行
ndd 删除多行
u 撤销
ctrl + r 重做
5.5、插入模式、末行模式(重要)
- 进入插入的命令:i I o O a A
- 进入末行模式::