计算机系统涉及了太多分支和商业纠葛, 这节课我们不纠结正统的问题, 只从涉及的概念上进行分类
Unix和linux
-
Unix
最古老的现代计算机系统, 始于60年代. 从商业上来讲, 只有unix认证的系统才是unix系统.
-
linux
linux和unix不是单纯的继承关系, linux只是继承了unix的设计理念. 但是底层实现不同, 所以不完全兼容.
linux不同的发行版, 只是侧重点不同. 本质是包管理不同.
- ubuntu
- 使用apt包管理工具
- 对图形界面支持更加友好
- 社区活跃, 更新更加积极
- 更加侧重个人用户
- centos
- 使用yum包管理工具
- 对底层硬件的兼容性更好
- 使用yum包管理工具
- ubuntu
-
mac os
mac os可以看作和unix是继承关系, 完全符合unix规范.
-
-
Windows
始于80年代, 强大的图形界面操作逻辑. 对用户更加友好.
win10安装linux
/article/
为什么使用linux做服务器
- linux使用费用低
- linux兼容性更好
- linux是开源的
- linux社区活跃
- 很多新技术都是优先适配linux, 之后再移植到windows和mac os.
- linux管理员拥有实际意义上的最高权限, windows和mac os很多时候没有办法修改
远程连接linux服务器
-
SSH连接
-
什么是SSH
SSH是一种网络协议, 用于计算机之间的加密登录
// 使用ssh登录 ssh user@host ssh ubuntu@121.5.18.188
-
ssh管理工具
-
windows
mobaXterm
-
Mac OS
shellcraft
-
Linux
推荐公钥登录
-
-
ssh原理
利用了非对称加密, 客户端和服务端互相发送了对方的公钥. 在传输的过程中用公钥对数据进行加密, 得到加密后的数据再通过私钥进行解密.
-
ssh是绝对安全的吗?
是也不是, 通过ssh建立的连接一定是安全的. 但是有一个前提, 那就是第一次连接的时候需要确认连接服务器是安全的, 这个风险是由用户自己承担.
-
-
公钥登录
实际上就是对发送的公钥进行持久化, 这样就不用每一次都互相交换公钥
-
生成私钥和公钥
ssh-keygen # 查看当前公钥和私钥 root@DESKTOP-PUHRNUT:~/.ssh# cd /root/.ssh root@DESKTOP-PUHRNUT:~/.ssh# ls
-
将公钥发送到服务端
ssh-copy-id user@host # 第一次发送公钥需要输入验证码验证
-
取消公钥登录
实际上就是再服务端删除持久化的公钥
cd /home/用户/.ssh # 删除对应客户端的公钥 vim .ssh/authorized_keys
-
linux目录树
linux没有像windows盘符这样的概念, 对于windows来说, 当前的根目录就是盘符. 而linux是/
在linux中, 一切皆文件, 访问硬盘和访问文件夹对linux来说没有任何区别.
-
/
-
bin
我们执行的命令其实都是运行的可执行文件. 系统的基础可执行文件都在该目录下.
-
sbin
跟/bin一致, 但是只有管理员权限才能执行
-
boot
引导程序所在目录, 引导程序就是用来开机的时候引导进入系统, 多个系统就会有多个引导程序.
-
dev
设备文件目录, 将对设备文件的访问转变为对设备的访问.
-
etc
系统和程序配置文件存放的目录.
-
home
一台机器可以有多个用户, 该用户配置和文件都存在home目录下
一般我们代码会存在/home/用户/自定义目录 下
-
lib
存放系统共享库的目录
-
sys
存放内核文件的目录
-
var
存放增量数据的目录
日志一般都在/var/log 目录下
-
usr(unix shared resources)
-
bin
-
sbin
-
lib
-
local
用户级别的程序目录, 用户自己编译的程序会默认安装到当前目录### Unix和Linux
-
-
-
Unix
Unix是现代计算机系统中最古老的系统之一,起源于1960年代。严格来说,只有通过Unix认证的操作系统才能被称为Unix系统。
-
Linux
Linux并不是Unix的直接继承者,它继承了Unix的设计理念,但底层实现不同,因此不完全兼容。Linux的不同发行版在包管理方式上有所区别,但核心系统保持一致。
-
Ubuntu
- 使用
apt
包管理工具 - 对图形界面支持更加友好
- 社区活跃,更新更频繁
- 更加侧重个人用户的体验
- 使用
-
CentOS
- 使用
yum
包管理工具 - 对底层硬件的兼容性较好
- 主要面向企业级用户
- 使用
-
-
Mac OS
Mac OS可以被看作是Unix的直接继承者,完全符合Unix规范,且在其基础上进一步增强了图形界面和硬件支持。
-
Windows
-
Windows
Windows始于1980年代,以其强大的图形界面和用户友好性著称。相比Unix和Linux,Windows的使用更为广泛,特别是在个人用户和企业用户中。
Win10安装Linux
可以通过Windows子系统(WSL)在Windows 10上运行Linux。详细安装步骤可参考百度经验。
为什么使用Linux做服务器
- 低成本:Linux开源免费,减少了使用费用。
- 兼容性强:支持各种硬件和软件环境,兼容性更好。
- 开源:用户可以根据需求修改内核和配置。
- 活跃社区:全球有大量开发者和社区贡献者。
- 技术支持:许多新技术首先在Linux上实现,随后再移植到其他操作系统。
- 高权限控制:Linux管理员拥有真正的最高权限,可以进行深度配置,而Windows和Mac OS在很多情况下权限受到限制。
远程连接Linux服务器
-
SSH连接
-
SSH是什么?
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地登录计算机并执行命令。通过SSH,用户可以加密登录远程服务器。
# 使用ssh命令连接到远程服务器 ssh user@host ssh ubuntu@121.5.18.188
-
SSH管理工具
- Windows:MobaXterm
- Mac OS:Shellcraft
- Linux:推荐使用公钥登录进行管理
-
SSH的工作原理
SSH使用非对称加密。在连接过程中,客户端和服务端交换彼此的公钥,传输的数据使用公钥加密,接收方使用私钥解密。
-
SSH是否绝对安全?
虽然SSH连接本身是安全的,但第一次连接时需要确认服务器的身份安全性,这个风险需要用户自行承担。
-
-
公钥登录
公钥登录是指在客户端和服务器之间的通信中持久化保存公钥,从而避免每次连接时都需要输入密码。
-
生成公钥和私钥
ssh-keygen # 查看生成的密钥文件 cd ~/.ssh ls
-
将公钥传送到服务器
ssh-copy-id user@host # 第一次需要输入密码验证
-
取消公钥登录
在服务器上删除已存储的公钥即可取消公钥登录。
cd /home/用户/.ssh vim authorized_keys # 删除对应的公钥
-
Linux目录树
与Windows的盘符不同,Linux只有一个根目录
/
,在Linux中,一切皆文件。硬盘、设备、文件夹等都被视为文件。
-
根目录
/
- bin:存放系统基本命令的可执行文件目录。
- sbin:存放系统管理命令的可执行文件目录,仅管理员可执行。
- boot:存放引导程序的目录,用于系统启动时引导操作系统。
- dev:设备文件目录,通过访问设备文件来与设备进行交互。
- etc:存放系统和程序配置文件。
- home:用户主目录,每个用户都有独立的文件夹。
- lib:存放系统共享库。
- sys:存放内核相关文件。
- var:存放增量数据,如日志文件。
- usr:用户共享资源目录,包括用户级别的二进制文件和库。