cpu读取的指令大部分在内存中(不考虑缓存)
任何程序在运行之前都的加入到内存。
eip->pc指针,指明当前指令在什么位置。
代码大概率是从上往下执行的,基于这样的基本理论。既可以将一部分指令加载到CPU对应的缓存中(局部性原理),所以寻址时会先确定指令是否在缓冲区被命中。命中的话讲指令搬到CPU中执行。否则在去内存中查找。
1.CPU根据寄存器中的pc指针去找对应的指令
2.确认指令或数据是否在缓存中被命中了。
/home/lesson1/
为什么会使用路径的方式定位文件?绝对路径具有唯一性。
相对路径:默认是相对当前路径,不具有唯一性。
show tables;
desc employee;
显示表,显示表中字段。
insert into employee(id, workno, name, gender, age, idcard, entrydate) value (1,'1','zhangsan','男',18,'123456789012345678','2022-09-01');
select * from employee;
在表中插入数据以及查看表。
update employee set name='xiaozhao',gender='女' where id=1;
更新id为1的那一行的信息。
delete from employee where id=2;
删除表中数据。
文件的属性不属于文件的内容。
文件=内容+属性。
属性是数据,即使内容为0,也会占用硬盘空间。(modify文件内容发生更改)
change可以代表文件属性的改变。
mkdir -p dir1/dir2/dir3/
通过mkdir创建一系列目录。
通过tree指令查看时应处于查看目录的上一级目录。
rm -r
可以删目录,以递归的形式删除。
将dir1下的dir2目录删除。
rm -f
强制删除。
执行后Linux系统会被破坏。
mv file.txt.bak file_bak.txt
将file.txt.bak重命名为file_bak.txt
将ls -al重命名为mycmd
cat -n file.txt
显示行号,查看文件内容。
tac -n file.txt
行号逆序显示。
date +%s
查看时间戳。
c语言程序编译时有一个链接过程,链接分两种:动态,静态
动态链接连/lib64/libc-2.17.so
静态链接连/lib64/libc.a
- 标准输入 stdin 代码是0
- 标准错误 stdout 代码是1
- 标准错误输出stderr 代码是2
将正确和错误信息都写入msg.txt
/dev/null:信息黑洞
last | head -5
通过管道过滤前5行信息。
[root@centos lesson1]# last | grep root | wc -l
18
root在历史上登录了18次。
DDL:数据定义语言
select * from employee;
查询整张表
从表中查询name,gender和age
select workno as '工号' from employee;
给workno起别名,在表中按工号进行查询。