0%

打开文件

1
with open('file_name','r',encoding = 'utf-8') as f:

with的作用相当于调用close(),文件会自动关闭

读写文件模式

模式 描述
t 文本模式 (默认)。
x 写模式,新建一个文件,如果该文件已存在则会报错。
b 二进制模式。
+ 打开一个文件进行更新(可读可写)。
U 通用换行模式(不推荐)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于

常用的文件操作方式

1
2
3
4
5
6
7
8
9
10
print(f.readline()) #打印第一行
print(f.readline(6)) #打印前六个字符
print(f.readlines()) #读取所有内容,按行返回list
print(f.tell()) #打印当前指针位置
print(f.read()) #读取文件所有内容
print(f.encoding) #打印当前使用的字符编码
print(f.name) #打印文件名
print(f.flush()) #刷新
f.truncate() #清空文件
f.close() #关闭文件

echo

1
echo [-neE] [ARGUMENTS]
  • 当-n 选项,则取消尾随换行符

  • 如果-e 选项,则将解释以下反斜杠转义字符:

    • \ 显示反斜杠字符

    • \a 警报(BEL)

    • \b 显示退格字符

    • \c 禁止任何进一步的输出

    • \e 显示转义字符

    • \f 显示窗体提要字符

    • \n 显示新行

    • \r 显示回车

    • \t 显示水平标签

    • \v 显示垂直标签

    • 这个-E 项禁用转义字符的解释。这是默认值

dig

查询域名的DNS记录,看域名解析到哪里

1
dig [@dns服务器] <域名> [查询类型]

grep

选项 作用
-i 忽略大小写
-n 显示匹配行的行号
-v 反向匹配(显示不匹配的行)
-r / -R 递归搜索目录下所有文件
-l 只显示文件名,不显示匹配内容
-c 只显示匹配的行数
-o 只输出匹配的字符串,而不是整行
-E 使用扩展正则(等价于 egrep
-w 只匹配整个单词,而不是部分匹配
--color 高亮匹配的关键字

例如:

1
grep "error" /var/log/nginx/error.log

这条命令会输出所有包含error的行

tail

显示文件的最后几行

1
tail /var/log/messages
选项 作用
-n <行数> 显示最后 N 行(默认 10 行)
-c <字节数> 显示最后 N 个字节
-f 持续输出文件新增内容(实时跟踪)
-F 类似 -f,但文件被重命名或替换后会重新打开(更适合看日志)
--pid=<PID> -f 一起用,指定进程退出后自动停止跟踪
-q 静默模式,多文件时不显示文件名
-v 强制显示文件名(多文件时更清晰)

chown

修改文件或目录的所有者和所属组

1
chown [选项] [新属主][:[新属组]] 文件...

例如

1
chown alice:developers myfile.txt

修改所有者为alice,组为developers

1
chown alice myfile.txt

修改所有者

1
chown :developers myfile.txt

所有者不变,只修改组

进入insert模式

1
2
3
4
i: 在光标的位置插入
a: 在光标后的位置插入
o: 在当前的下一行插入
O:在当前的上一行插入

在insert模式下

1
2
3
ctrl + h: 删除光标前面的字符 
ctrl + w: 删除光标前面的单词
ctrl + u: 删除光标前面的本行所有内容

在normal模式下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
w: 移动到下一个单词的开头
e: 移动到下一个单词的结尾
b: 移动到上一个单词的开头
f{char}: 移动到char上
0: 移动到行首
$: 移动到行尾
gg: 移动到文件开头
G: 移动到文件结尾
ctrl + o: 快速返回
ngg: 跳转到第n行
x: 删除光标后的第一个字符
daw: 删除光标所在的单词
dw: 删除光标后面的单词
diw: 删除光标所在的单词
dt{char}: 删除从光标到char的所有内容
1
2
3
gt:在vim不同标签之间切换
ctrl + shift + t:新建终端标签页
alt + 1/2/3/4:切换标签页

dw :删除一个单词,光标直接到下一个单词

de: 单纯删除一个单词

d$: 删除到一行的末尾

dnw :删除n个单词

nw :移动到第n个单词

ne:移动到第n个单词的结尾

u: 撤销上一步操作

x: 删除当前单词

p: 会将上次删除或者复制的东西粘贴

rx: 会将当前字符替换为x

/str: 会找到str所在的位置,输入n找下一个

%: 在[{()}] 上面输入会自动跳转到对应的位置上

:s/new/old/g,用new代替old,g表示全局

!command: 可以在vim中输入shell命令

Table:

1
以按行按列形式组织及展现的数据

数据

1
数据是数据库中存储的基本对象。

Database:

1
相互之间有关联关系的Table的集合

DB:

1
Database

DBMS:

1
数据库管理系统

DBAP:

1
数据库应用

DBA:

1
数据库管理员

DDL:

1
数据库定义语言

DML:

1
数据库操纵语言

DCL:

1
数据库控制语言

模式:

1
2
对数据库中数据所进行的一种结构性的描述
所观察到的数据的结构信息

视图:

1
某一种表现形式下表现出来的数据库中的数据

三级模式:

1
2
3
External Schema(外模式): 某一用户能够看到与处理的数据的结构描述
Conceptual Schema(概念模式):从全局角度理解\管理的结构描述,含相应的关联约束
Internal Schema(内模式 ):存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式 等

两层映像:

1
2
E-C Mapping: 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换
C-I Mapping:将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换

两个独立性:

1
2
逻辑数据独立性:当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序
物理数据独立性:当外部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而不改变外部模式

数据模型:

1
2
规定模式统一描述方式的模式,包括:数据结构、操作和约束
数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象

关系模型:

1
2
3
描述DB各种数据的基本结构形式(Table/Relation)
描述Table与Table之间所可能发生的各种操作(关系运算)
描述这些操作所应遵循的约束 条件(完整性约束)

域(Domain)

1
2
一组值的集合,这组值具有相同的数据类型
集合中元素的个数 成为域的基数

关系模式 :

1
2
3
同一关系模式下,可有很多的关系
关系模式时关系的结构,关系是关系模式在某一时刻的数据
关系模式是稳定的;而关系是 某一时刻的值,是随时间可能变化的

关系的特性:

1
属性不可再分特性

候选码:

1
关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质 了,这样的属性组称作候选码

主码:

1
当有多个候选码时,可以选定一个作为主码

主属性与非主属性:

1
包含在任何一个候选码的属性被称作主属性,而其他属性被称作 非主属性

外码:

1
关系R中的一个属性组,它不是R的候选码,但它与另一个关系 S的候选码相对应,则成这个 属性组为R的外码或外键

实体完整性:

1
关系的主码中的属性值不能为空值

参照完整性:

1
如果关系R1的外码FK与关系R2的主码PK相对应,则R1中的每一个元组 的FK值 或者等于 R2中的某个元组的PK值,或者为空值

用户自定义完整性:

1
用户针对具体的应用环境定义的完整性约束条件

数据模型的概念

1
数据模型是一种模型,它是对现实世界数据特征的抽象

数据模型的作用

1
数据模型是用来描述数据、组织数据和对数据进行操作的

数据模型的三个要素

1
一是能比较真实地模拟现实世界,二是为人所理解,三是便于在计算机上实现

关系

1
一个关系对应通常来说的一张表

属性

1
表中的一列即为一个属性

1
域是一组具有相同数据类型的值的集合

元组

1
表中的一行即为一个元组

1
也称码键。表中的某个属性组,它可以唯一确定一个元组 

分量

1
元组中的一个属性值

关系模式

1
2
对关系的描述,一般表示为
关系名(属性1、属性2、···,属性n)

逻辑独立性

1
当模式改变时,由数据库 管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的 ,从而应用程序不必改变,保证的数据与程序的逻辑 独立性,简称数据的逻辑独立性

物理独立性

1
当数据库的存储结构改变时,由数据库管理员对模式 /内模式 映像作相应 改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性

什么是操作系统

1
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充

操作系统的作用

  1. OS作为用户与计算机硬件系统之间的接口
  2. OS作为计算机系统资源的管理者
  3. OS实现了对计算机资源的抽象

单批道处理系统

1
解决人机矛盾和CPU与I/O设备速度不匹配矛盾,旨在提高系统资源的利用率和系统吞吐量

单批道处理系统的缺点

1
系统中的资源得不到充分的利用。内存中仅有一道程序,每当程序在运行中发出I/O请求,CPU处于等待状态

多批道处理系统

1
用户提交的作业先存放在外存上,排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存 ,使他们共享CPU和系统中的各种资源

第一章

计算机的五大基本部件

1
2
3
4
5
6
7
8
9
输入设备:将编好的程序和原始数据送到计算机中,使它们转换成计算机内部能识别和接受的信息方式
输出设备:将计算机 的处理结果以数字、字符、图形、图像、声音等形式送出计算机
存储器:存放程序和数据的部件,是一个记忆装置,是计算机能够实现“存储 程序控制”的基础
常见的三级存储系统:高速缓冲存储器、主存储器、辅助存储器
主存储器可由CPU直接访问,存取速度快,容量小
辅助存储器设置在主机外部,存储容量大,价格低,存取速度慢
高速缓冲存储器位于主存和CPU之间,存取速度比主存快,容量更小
运算器:对信息机型处理和运算的部件。又称算术逻辑运算部件(ALU)
控制器:按照预先确定的操作步骤,控制整个计算机的各部件有条不紊的自动工作

概述

host

1
与网络相连的计算机常成为主机,也叫端系统

互联网的组成

1
1、边缘部分:由所有连接在互联网上的主机组成,这部分是用户直接使用,用来进行通信(传送数据、音ping)

报错信息

kex_exchange_identification: read: Connection reset by peer Connection reset by ::1 port 3316

使用vscode链接docker后在终端输入以下命令

1
sudo service ssh restart

wsl中出现AddressSanitizer:DEADLYSIGNAL

1
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space