计算机基础
计算机发展历史
第一代计算机1946诞生,由电子管时代90(1946-1957)体管时代(1957-1964),集成电路时代(1965-1970)到大规模集成电路时代(1970)以后
冯诺依曼体系
1946年美籍匈牙利数学家冯诺依曼提出提出储存程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。
- 计算机的数制采用二进制,bit(一个比特) byte字节 一个byte=8bit
二进制
计算机底层表达用 0, 1 (高,低电频)也就是计算机自身的语言,二进制是计算机中储存和运算的所有数据都要转换为二进制,包括数字,字符,图片,声音,视频等。
逢二进一
-
- 0,1 2(逢二进一就是10)
- 也可以用取余法 3 %2 余1 结果也为1 那么二进制表达就是 11
- 0,1 2(逢二进一就是10)
十进制
- 0,1,2,9 逢十进一
- 二进制转十进制(求和法)
- 0000 1101
- 1 1 0 1
- 12^3 + 1* * 22+0*****21 +12^0*
- 13
- 0000 1101
八进制
- 0,1,2,7
十六进制
- 0,1,2,9,,,a,b,f
0,1 逢二进一 bit一个数字一个比特 byte字节 1byte= 8bit
-
十进制
-
二进制转十进制 (求和)
- 十进制转二进制(取余)
-
八进制
十六进制 0,9,A,B,C,F
- 取四合一
- 取一分四
计算机应该按照程序顺序执行
由程序员预选规定运行的过程,然后用程序按照过程逻辑来运行
计算机的五大组成部分
- 运算器:指挥系统
- 控制器:数学和逻辑运算
- 储存器:存储信息
- 输入设备:接收外部信息
- 输出设备:输出计算机内部信息到外部设备
计算机分类
按规模划分
- 超大型计算机:用于国防尖端技术和现代科学计算,运算速度可达每秒百万亿次以上
- 大型计算机:每秒可执行上千万条指令,有较大的储存空间用于科学计算,数据处理或网络服务使用
- 小型计算机:采用精简指令集处理器,性能价格介于pc和大型主机之间的64位计算机 unix服务器
- 微型计算机:采用X86架构的pc服务器,用于商业,服务,工厂
按功能和角色划分
服务器server和客户机client
- 服务器:server,计算机的一种 对外提供服务的服务器
- 客户机:client,向服务器提出请求
服务器按应用功能可分为:
web服务器,数据库,文件,中间件应用等等
按外形分类
- 塔式
- 刀片
- 机架式服务器
服务器硬件组成
-
电源
-
cpu
cpu指令集fenl
cisc:复杂指令集(X86)
risc:精简指令集(大部分都用)
-
网卡
-
内存
-
风扇
-
硬盘
-
pci
CPU
- CPU主频:是CPU时钟频率(HZ),主频越高,cpu速度越快
主板
安装在机箱内,是计算机最基本也最重要的部件之一,一般为矩形电路板
内存
介于CPU和外部存储之间,内存速度远远高于硬盘速度
断电重启可能会导致数据丢失
硬盘
- 机械硬盘(价格便宜)
- 固态硬盘(比机械硬盘性能好,m.2nvme)
网卡
一般在主板上集成了网卡,传输率一般为1Gbps,即千兆网卡
特殊应用需要高端网卡,如光纤 能达到10Gbps
远程管理卡
统称IPMI
阵列卡
热插拔技术
热交换技术,允许在不关机的状态下更换故障热插拔设备(硬盘,电源,pci设备,风扇灯)在和RAID技术配合可以可以使服务器在不关机的状态下恢复故障硬盘的数据,同时不影响网络用户对数据的使用
Linux安装
Linux的哲学思想
- 一切都是一个文件
- 小型,单一用途的程序
- 链接程序,共同完成复杂的任务(shell脚本)
- 避免令人困惑的用户界面
- 配置数据存储在文件中
Linux安装教程
vmware安装教程
进入官方下载地址:https://customerconnect.vmware.com/en/downloads/info/
进入官方网站,如下图所示:
win10推荐wmware16版本 wen7推荐wmware15版本
在下图页面中选择更详细的版本
在下载奥VMware安装包之后双击运行
接受VMware的安装条款
更改VMware的默认安装路径
关闭VMware的自动更新
勾选VMware的自动创建快捷方式
安装VMware
安装完成,选择输入许可证
可以百度最新的许可证,百度有很多
安装完成
若是出现下图情况,重启电脑即可
打开桌面的VMware图标出现下图情况说明安装成功
rocky8.5安装教程
百度rocky linux,进入官网
选择x86 64位 点击DVD安装
下载太慢可以选择镜像网站下载:https://mirrors.aliyun。com/rocky linux/
为虚拟机新建一个文件
新建一个虚拟机
为了方便管理,命名叫rocky8.5和ubuntu20.04
选择点击典型,然后下一步
稍后安装系统,然后下一步
选择安装的版本 与你所下载的版本一样 ,Ubuntu20.4选择Ubuntu 64位 rocky8.5选择centos8(两个版本可兼容)
找到刚才所建好的文件夹
选择第一个选项单一文件,最大磁盘内容选择200G 因为是模拟所以并不会第一时间占用200G
下一步完成
完成后,右键调整配置。 内存改为2G 处理器内核改为2 硬盘不要选择mwe删了重新选择scsi 不要点击立即分配200G 选择单一文件 然后DVD选择改为使用ISO印象文件 找到下载的系统位置
点击开启虚拟机
- 进入界面以后默认选择第二项 测试光盘和安装
选择英文 点击contonue
选择时区
选择中国
选择系统软件
选择默认安装
磁盘分区
默认自动分区、
网卡和主机名设置
启动网卡,设置主机名
配置完成,安装系统
设置你的root管理员密码,也可以多设置一个普通用户和密码
**ubuntu20.04版本下
点击重启安装
进入下图说明安装完成
输入用户名和密码登录 密码非明文显示
出现下图说明安装完成了
下载链接:http://mirrors.aliyun.com/ubuntu-releases/
Ubuntu虚拟机与rocky同理一样的操作
进入界面,选择语言
键盘,网络地址 通过代理全部回车
更改网路下载地址:https://mirrors.aliyun.com/ubuntu
后面硬盘地址等全部默认,然后开始安装
名字,密码 昵称自取
远程链接选项 按空格确定 否则不能进行远程链接
通过xshell连接虚拟IP
点击左上角新建
名称修改为要连接的虚拟IP地址,主机名自己修改
然后输入用户名和密码
连接Ubuntu也同理,只是要注意连接Ubuntu不要用root用户 因为Ubuntu安全 设置连接不了root 只能连接另一个创建的用户
Linux常用命令用法,已即查看帮助文档的方法
help
查看内部命令的帮助用法
例如:echo
echo -e 表示清屏
help history
查看历史命令,如帮助里hisory -c 表示清除历史命令
cmd + --help
查看外部命令的帮助用法
man
不仅可以查看内部和外部命令,还可以其他一些Linux系统的信息的帮助,把不同类型的帮助分成了九大类别
man date
date 的帮助用法
date -u:是否以格林威治时间显示
man echo
查看echo的帮助用法
-n 不输出末尾的换行符
-e 启用反斜杠转义的解释
-E 禁用反斜杠转义的解释 (默认)
--help display this help and exit #显示此帮助并退出
\a alert (BEL) #发出警告声
\f form feed #换行但光标仍旧停留在原来的位置
man uname
-a 查看当前版本所有信息
-r 打印内核版本
-s 打印内核mingc
-v 打印内核版本
-n 打印主机名
文件系统 的目录结构
- 文件和目录被组织成一个单根倒置树结构
- 文件系统从根目录下开始,用"/"表示
- 根文件系统(rootfs):root fllesystem
- 标准Linux文件系统(如ext4),文件名称大小写敏感,例如:MAiL Mail,mail,mAil
- 以 . 开头的文件为隐藏文件
- 路径分隔的 /
- 文件名最长255个字节
- 包括路径在内文件名称最长4095个字节
- 蓝色——>目录,绿色——>可执行文件,红色——>压缩文件,浅蓝色——>链接文件,灰色——>其他文件
- 除了斜杠和NUL,所有字符都有效,但使用特殊字符的目录名和文件不推荐使用,有些需要用引号来引用
文件的常用操作
Linux下的文件类型
- -普通文件
- d 目录文件directory
- l 符号链接文件 link
- b 块设备block
- c 字符设备charactar
- p 管道文件 (fist input fistoutput )
- s 套接字文件(socket) 实现两个程序互相通讯
cd
- 绝对路径
是指从根目录开始的完整路径,包括所有父目录的路径,直到目标文件或者目录 以/开头
-
相对路径
相对于当前目录的路径,当前工作目录是指用户当前正在工作的目录。如果目前在/etc/sysconfig下,想进入/network-scripts 那么cd /nrteotk-dcriptd 直接进入当前子目录 不以/开头 适用于项目内部的文件相互访问
如果要回到/sysconfig 可以cd. .
(. .回到上级目录 . ./. .回到上级目录的上级目录)
- cd - 回到刚才执行的目录(只能回一次 不能叠加)
ls
可以列出当前目录内容或者指定目录
-a 包含隐藏文件
-r目录接口
-l显示额外信息
stat
显示文件更为详细的属性,文件的元数据
- 内容修改时间mtime
- 读时间 atime
- 属性更改时间 ctime
file
Linux里对文件后缀没有严格要求,只是更改后缀后会让人感到困惑
file可以看到判断文件类型
文件通配符
ls a* 查找a开头的文件
ls *a* 包含a的文件
匹配任意长度的任意字符序列,但不匹配"."开头的文件即隐藏文件
【】
匹配指定范围内的字符,可以使用单个字符或字符范围。【a b c】匹配的就是 a或 b或 c 【0-9】就是0至9
【^】
匹配不在指定范围内的字符,例如[^abc] 那么匹配除了 abc内的所有字符
?
匹配任何单个字符,一个汉字也是一个字符
~
当前用户家目录
touch
创建空文件,也会刷新文件时间
cp
拷贝文件 但是可能会更改文件属性
cp -a 保留文件的所有包括属性
cp只能拷贝文件不能拷贝文件夹
cp -r 将指定目录下的文件与子目录一并处理
cp -b 先备份后拷贝
cp -a
可以保留文件的所有包括属性,如果只用cp的话文件拷贝以后会更改文件时间 和一些属性 比如 cp /dev/zero 这是一个块文件
但是拷贝完以后原本只有1.5mb 拷贝后337mb 文件属性就变了不是以前的/zero 所以拷贝一些文件最好用cp -a
mv
移动剪切文件,也可以改文件名,只能移动一次 或者改一次一次名
但是可以用rename 例如把所有的.txt文件改名为.txt.dak
rename .txt .txt.dak *.txt
删除文件 目录
rm
删除多个文件 可能会有多个提示 可以\rm+文件名 因为rm是一个别名 或者rm -f
删除文件夹 rm -r
删除多个文件夹 rm -rf
注意:慎重使用,建议先mv代替rm
Linux安全模型
资源分派:(俗称3A)
Authentication:认证,验证用户身份
Authonrization授权,不同的用户设置不同权限
Accouing|Audition:审计
当用户登录成功时,系统会自动返回分配令牌token,包括:用户唯一标识,组成员等等 注意登录以后没法改权限信息了。
用户
Linux中每个用户是通过 User id (UID)来唯一标识的
管理员root账号标识是:0
普通用户是:1-6000 ( 但是其中1-999给是程序用的 1000以后是普通用户)
用户组
用户的主要组:用户必须属于一个且只有一个主要组,默认创建用户时会自动创建和用户名同名的组作为用户的主要组
用户的辅助组,一个用户可以有零个或者多个辅助组
安全上下文
Linux安全上下文:运行中的程序,即进程(process),以进程发起者的身份运行,进程所能够访问资源权限取决于进程的运行者的身份,资源能否被访问,是由运行者的身份所决定的,非程序本身
用户和组的配置文件
用户和组的主要配置文件
- /etc/passwd:用户及其属性信息(名称,uid,主组id等)
- /etc/shadow:用户密码及其相关属性
- /etc/group:组及其属性文件
- /etc/gshadow:组密码及其相关属性
用户和组管理命令
用户管理命令
-
useradd 创建用户
-
usermod 更改用户
-g -G 更改用户组,拉组
- userdel 删除用户
组账号维护命令
- groupadd 创建组
- groupmod 更改用户
- groupdel 删除组
文件权限
文件的权限主要针对三类对象定义
owner 属主 u
group 属组 q
othen 其他 o
每个文件针对每类访问都定义了三种权限
r readable 4 读
w writable 2 写
x excutable 1 执行
chown
更改所有者和所属组
chown -R 可以同时更改所有者和所属组,因为所有者和所属组是他的所以加满了权限
chmod
更改文件权限
-模式法:chmod who +opt(赋予什么权限)per(权限) file
-who:u 所属人 g 所有组 o 其他人 a 所有 的人
-opt :+ — =
-per : r w x
-数字法:
u:rwx
g:rw
o:-
转换成数字
rwx rw- ---
111 110 000
7 6 0
组成760
--- =0
--x =1
-w- =2
r-- =4
常用:rwxrwxrwx 777
-------- 000
rw 6
r-- 4
r-x 5
示例:
文件系统的特殊权限
suid
可以让程序临时拥有root权限,任何用户使用该程序时可以继承root权限,必须二进制程序
sticky
具有此权限的目录下删除文件只能删除自己的文件
sgid
二进制的可执行文件上的sgid权限功能:
-任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否有执行权限
-启动为进程之后,其进程的属组为原程序文件的属组
目录上的sgid权限功能:
当一个用户在具有此权限的目录下创建新文件将自动继承目录的所属组
ACL
setfacl -m u:name:opt file
acl -m 加上用户名 加上权限 文件名,可以设置该用户对该文件的一些权限
setfacl -m g:name:opt file
对组设置权限
setfacl -x u:name file
取消acl设置
sefacl -b file
取消文件下所有的acl设置
vim
三种主要模式和转换
- 命令或普通模式:默认模式,可以实现移动光标,剪切粘贴文本
- 插入模式:用于修改文本
- 扩展命令或命令(末)行模式:保存退出等
打开文件并在打开文件(命令模式)之后退出文件
我们现在vim打开 f1.txt 文件 进入到了命令模式
现在进入到扩展模式退出文件,shift+: 输入wq 保存并退出 文件
打开文件进入插入模式,并在插入模式中如何回到打开文件的状态(命令模式),并在命令模式后如何退出文件
在命令模式下,按下快捷键 i 进入到插入模式 下方会出现“insert” 表示进入到了插入模式
小i 进入到插入模式 光标不动
大写 I 进入到插入模式 并且光标移动到行首
小o 进入插入模式并且往下隔行
大写 O 往上隔行
a 光标往后移一格
A 光标退到行尾
回到命令模式 按下Esc键,然后shift+: 进入到扩展模式,再输入wq 保存并退出文件
打开文件进入到插入模式,编辑内容并在命令模式下退出文件
然后Esc 退出编辑模式,输入shift+:wq 保存并退出文件
文件编辑成功
ile
对组设置权限
setfacl -x u:name file
取消acl设置
sefacl -b file
取消文件下所有的acl设置
### vim
**三种主要模式和转换**
- 命令或普通模式:默认模式,可以实现移动光标,剪切粘贴文本
- 插入模式:用于修改文本
- 扩展命令或命令(末)行模式:保存退出等
**打开文件并在打开文件(命令模式)之后退出文件**
我们现在vim打开 f1.txt 文件 进入到了命令模式
[外链图片转存中...(img-lOsBIHw3-1713019254691)]
现在进入到扩展模式退出文件,shift+: 输入wq 保存并退出 文件
[外链图片转存中...(img-a8AvgDuG-1713019254692)]
**打开文件进入插入模式,并在插入模式中如何回到打开文件的状态(命令模式),并在命令模式后如何退出文件**
在命令模式下,按下快捷键 i 进入到插入模式 下方会出现“insert” 表示进入到了插入模式
小i 进入到插入模式 光标不动
大写 I 进入到插入模式 并且光标移动到行首
小o 进入插入模式并且往下隔行
大写 O 往上隔行
a 光标往后移一格
A 光标退到行尾
[外链图片转存中...(img-KnLp0tOS-1713019254693)]
回到命令模式 按下Esc键,然后shift+: 进入到扩展模式,再输入wq 保存并退出文件
**打开文件进入到插入模式,编辑内容并在命令模式下退出文件**
[外链图片转存中...(img-POM7hSii-1713019254693)]
然后Esc 退出编辑模式,输入shift+:wq 保存并退出文件
[外链图片转存中...(img-kQ70ItZ1-1713019254694)]
文件编辑成功
命令模式下,光标在单词句子上进行前后,上下跳跃除了 方向键 还有 H 光标向左 J 光标向下 K 光标向上 L 光标向右