大一上自学笔记
大一上学期自学的笔记,主要包括Crash Course : Computer Science和MIT Missing Semester。
一、Crash Course : Computer Science
- 计算机底层
- 晶体管
- 逻辑门
- 半加器、寄存器
- $\mathrm{ALU}$、$\mathrm{RAM}$
- 二进制编程
- $\mathrm{CPU}$
- 汇编语言
- 操作系统
- 文件系统
- 编译型语言
- 解释型语言
- 计算机硬件
- 存储器:延迟线 $\Rightarrow$ 磁芯 $\Rightarrow$ 磁带 $\Rightarrow$ 磁盘 $\Rightarrow$ 光盘 $\Rightarrow$ 固态硬盘
- $\mathrm{IO}$
- 电传打字机 $\Rightarrow$ 阴极射线管 $\Rightarrow \mathrm{LCD}$
- 矢量扫描、光栅扫描
- $\mathrm{3D}$
- 正交投影、透视投影
- 多边形渲染、扫描线、抗锯齿
- 画家算法、深度缓冲
- 表面法线、纹理映射
- 计算机软件
- 网络
- 物理层
- 数据链路层:$\mathrm{MAC}$、载波侦听多路访问、指数退避
- 网络层:交换机、路由、跳数限制
- 传输层:报文、数据包、$\mathrm{IP}$、$\mathrm{UDP}$、$\mathrm{TCP}$
- 会话层:$\mathrm{URL}$、$\mathrm{DNS}$、$\mathrm{HTTP}$、$\mathrm{HTML}$
- 信息安全
- $\mathrm{Bell-LaPadula}$ 模型
- 攻击方式:社会工程学、钓鱼、假托、木马、暴力、$\mathrm{NAND}$ 镜像
- 漏洞利用:缓存区溢出(边界检查、金丝雀)、$\mathrm{SQL}$ 注入、蠕虫、僵尸网络
- 加密:$\mathrm{Diffie-Hellman}$ 密钥交换(模幂)、非对称加密
- 人工智能
- 分类:决策边界、混淆矩阵 $\Rightarrow$ 决策树 $\Rightarrow$ 森林 $\Rightarrow$ 支持向量机
- 神经网络:加权、求和、偏置、激活
- $\mathrm{CV}$:颜色跟踪 $\Rightarrow$ 特征检测(核、卷积)$\Rightarrow$ 卷积神经网络
- $\mathrm{NLP}$:分析树、知识图谱、语音识别($\mathrm{FFT}$)、语音合成
- 网络
二、MIT Missing Semester
- Shell
- 以
/
或盘符开头的是绝对路径,否则是相对路径;Linux,MacOS 用/
,Windows 用\
- 命令:
which
,sudo su
,cat
,curl
,grep
,tee
cd
需要权限x
;ls
需要权限r
'
不转义变量,"
转义变量$0
脚本名,$1-$9
脚本参数,$@
所有参数,$#
参数个数,$?
返回值,$$
PID,!!
上一个命令,$_
最后一个参数- 标准错误流
2>
;不等于-ne
;比较时用[[ ]]
- 通配符:
*
任意字符,?
单个字符,[]
字符集,{}
多个字符 find
:-name
文件名,-type
文件类型,-size
文件大小,-exec
执行命令,path
路径,-mtime
修改时间- 正则表达式:
^
开头,$
结尾,.
任意字符,*
0-多次,+
1-多次,?
0-1次,[]
字符集,()
分组,|
或,\1,\2
捕获组 - 数据整理:
awk
,sed
,sort
,uniq
,paste
,wc
,head
,tail
- 终止:
^C
=SIGINT
,^D
=EOF
,^\
=SIGQUIT
,kill
=SIGTERM
,^Z
=SIGTSTP
,SIGKILL
立刻结束 - 进程管理:
fg
前台继续,bg
后台继续,jobs
查看,pgrep
查找,$!
最后一个进程,nohup
后台运行 - 常用参数:
--verbose
,-v
,-vvv
,--quiet
,-
,-r
,-- -r
- 常见目录:
/etc
,/var
,/tmp
,/dev
,/bin
,/sbin
,/opt
,/lib
- 以
- VIM
- 切模式:
i
插入,v
可视,V
行可视,^V
块可视,R
替换,:
命令,a
插入 - 移动:
hjkl
,w
,b
,e
,0
,^
,$
,gg
,G
,H
,M
,L
,^U
,^D
- 搜索:
%
找配对括号,f
,t
,F
,T
查找,/
搜索,,
,;
,n
,N
导航匹配 - 编辑:
o
,O
,r
,d
,x
,s
,y
,p
,u
,~
,.
,i
内部,a
周围,ci[
- 切模式:
- GIT
- 命令:
init
,status
,add
,commit
,log
,diff
,checkout
,branch
,merge
- 远程:
remote add
,push
,pull
,clone
,fetch
- 命令:
- tmux:
tmux
,tmux ls
,tmux a
,^A
+d
,c
,1
,n
,p
,,
,w
,"
,%
,x
,y
,z
- ssh:
ssh
,scp
,ssh-keygen
,ssh-copy-id
- 配置文件:
~/.bashrc
,~/.gitconfig
,~/.vimrc
,~/.tmux.conf
,~/.ssh/config
- 版本管理:主版本号.次版本号.补丁号
- 元编程:Makefile,CMake,CI,GitHub Pages,Jekyll
- 密码学:Hash 函数,盐,对称加密,密钥交换,非对称加密,加密邮件,数字签名
- 杂项:VM,Docker,Jupyter Notebook
大一上自学笔记
https://sqzr2319.github.io/CSDIY-24Winter/