一、Linux
1. 常见命令
ls:查看文件 (+文件夹)
pwd:查看文件所在位置
cd:切换目录
touch:创建文件
mkdir:创建文件夹
rm:删除文件
mv:移动文件
cp:复制文件
cat:查看文件中内容
grep:文本搜索工具
ps:查看进程
tar:压缩文件
|:左侧命令传递给右侧
head:head-5查看文件前5行
Tail -5 查看文件后5行
tail -f:命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
lsof -i:查看端口(+端口号)
netstat-anptu:查看端口号
kill-9 + PID:结束端口号程序
vi:修改文件内容
head:
i:insert :wq 退出
2. 常见场景
1)查看进程
ps-aux
2)查看端口号
netstat-anptu(root用户)
lsof -i:端口号
3)查看某个进程号
ps -ef|grep PID
4) tail -f 动态查看日志文件
查看程序运行的记录,如果失败,可以从日志信息中定位问题
5) 把文件夹打包成tar.gz命令,以及解压
tar zcvf xxx.tar.gz file tar zxvf xxx.tar.gz
6) find和grep
grep 是查找匹配条件的行, find 是搜索匹配条件的文件。
6)清空日志
echo " ">/logs/file.log 使用 echo命令将空字符串的内容重定向到文件中。
cat /dev/null > my_access.log
7) 查看占用CPU最高的进程
二、数据库
连接服务器:地址、用户名、密码
1.主键、外键、索引
主键:表中的一个或多个字段,唯一标识
外键:两个关系之间的相互联系
索引:物理标识这些这些值的逻辑指针清单
2. 增删改查语句
INSERT INTO student VALUES (2,'lisi') (id,name)
DELETE FROM student WHERE id=7
UPDATE 表名 SET 字段名1=值1,[ 字段名2=值2,…]
[ WHERE 条件表达式 ]
SELECT * from 表名
增:insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
删:delete from 数据表 where 条件表达式
改:update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式
查:select * from 数据表 where 字段名=字段值 order by 字段名 [desc]
3. 关联子查询
交叉连接 (得到笛卡尔积)
select * from student,score where student.sno = score.sn
(有无意义的组合数据,其中通过where后语句进行筛选其中student.sno表示为表中一列)
4. 索引和视图
索引
可以提升查询速度,会影响where条件查询(where xxx=''),order by(order byyyy)排序
索引是针对字段的,需要添加到字段上
索引在大量数据场景下效果明显
索引的优点:
1. 大大的提高查询速度 2. 可以显著的减少查询和排序的时间。
索引的缺点:
当对表中的数据进行增加,修改,删除的时候,索引要同时进行维护,数据量越大维护时间越长。
主键索引(标识表中唯一的数据)、唯一索引(索引值只能出现一次)、普通索引(加快对数据的访问)
视图
视图是一种虚拟表。
MySQL 视图(View)是一种虚拟存在的表
4. 聚合树
三、有意思的bug
1. 输入表情符、报错
2. 不单击查询,鼠标捕捉到焦点就执行操作
3. 网址显示问题
4. 错误提示比较多一直提示