一.电脑知识
1.电脑基础
- CPU:相当于大脑,核心处理器
- 内存条:存放临时数据,相当于人体的临时记忆
- 磁盘:存放长时间数据,相当于人体的长时间记忆
- 显卡:将各种影像输出的装置
- 主板:将所有的零件存储起来
2.磁盘
磁盘要放入计算机且被Linux系统识别,到可以使用磁盘存储数据,过程如下:
1.磁盘要存数据,相当于人盖房子
2.磁盘要分区后才能够存储数据,相当于房子改好了,需要隔断分出卧室,厨房,卫生间等区域
3.磁盘分区完成后,还得格式化后才能使用,且创建文件系统后才可以存储数据,相当于家里得装修后才能开始住人
4.磁盘分区,格式化,创建文件系统后,还得进行挂载到不同的文件夹,才能存放数据,相当于房子还得安装门、窗
二.磁盘管理
1.操作系统基础
扇区大小 512Bytes 0.5kb
硬盘最小的存储单位 ,扇区,sector,大小是 0.5 kb
操作系统文件存取的最小单位是块,是多个连续的扇区,是8个连续的扇区,最小的块单位,0.5*
*8,
磁盘的block,最小是4kb
bit=位
byte = 字节 1 byte =8 bit
kilobyte(kb) 千字节的 1kb =1024 byte
MegaByte =MB 1MB = 1024kb=兆字节
gigabyte= GB 1GB =1024MB= 千兆字节
对于磁盘管理的名词解释:
- 扇区sector 是磁盘中最小的物理存储单元,单位512字节512bytes
- 操作系统无法对数目众多的扇区进行寻址,因此操作系统将相邻的扇区组合在了一起,形成了块block,(8
个扇区,8*0.5kb4kb大小)- 在linux文件系统中多个连续的扇区,被称之为block,块的概念,也是在系统中被认为是最小的存储单位
- 操作系统规定,一个block只能存放一个文件的内容 ,因此文件占用的空间大小,只能是block的整数倍;即使文件大小,小于一个块,也就是小于4k,同样的占用一个block大小
- 在windows文件系统中,多个连续的扇区,被称之为簇
2.磁盘分区
分区编辑器,partiion editor ,在Windows下例如我们使用的傲梅分区助手
Linux下使用fdisk命令 对磁盘进行格式化的命令,以及分区等等,有两种分区方式:
- mbr分区表:
- record,主分区引导记录 master boot
- mbr分区关注的是,硬盘容量受限制,最大2T
- gpt分区表:
- 现在大多的硬盘分区表,都是gpt分区表了
- 优点:
- gpt分区表硬盘容量没有限制
- 分区个数,没有限制
- 自带磁盘保护机制
常见的文件系统:
fat16 fat32
:最早的windows的文件系统,缺点是单个文件,不能超过2GBNTFS
文件系统:支持文件加密,采用日志形式的文件系统,详细的记录磁盘读写的操作,支持数据恢复,能够提高磁盘数据的安全
性,突破了单个文件4G大小的限制eXFAT
文件系统:新式的文件系统,单个文件支持16GB大小,能够在windows和linux,macos中同时识别
3.fdisk
磁盘性能检测 input/output
这个值越大,代表磁盘性能越高
operations per second
- ide硬盘,会被linux识别为/dev/hda /dev/hdb /dev/hdc /dev/hdd
- 硬盘设备,插到linux主机上,会被识别为/dev/sda 第一块硬盘名 /dev/sdb 第二块硬盘名字
- 格式化分区
- 主分区
- 扩展分区
- 逻辑分区:
- /dev/sda1
- /dev/sda2
- /dev/sda3
- /dev/sda4
- 逻辑分区:
partprobe
命令,可以用于重读分区表,当删除文件后,仍然占用磁盘空间,是因为磁盘分区表没更新,需要重启分区表 ,可以使用此命令,不重启电脑,重读分区表
partprobe /dev/sdb #重读磁盘/dev/sdb的分区表信息
partx
命令:partx命令用于告诉linux内核,新的磁盘分区情况,让内核重读分区表
小于2TB的磁盘都可以用fdisk
分区,但是大于2TB
的磁盘,只能用parted
命令分区,且转换磁盘为GPT格式
4.文件系统
文件系统挂载:
1736780854497)
3.资源管理器
top
命令:
三.GDB
1.认识
GDB 调试器 可以运行你在程序运行的时候检查里面到底发生了什么?
- 开始并设置参数
- 打断点,在特殊情况下停止
- 当你程序停止,检查发生了什么
2.快速了解
- GDB安装
sudo apt-get update
sudo apt-get install gdb
安装完后可以利用gdb --version
查看gdb版本信息
要使用GDB,那么使用gcc编译的时候,一定要带上
-g
选项
简单命令:
(gdb) r
:run命令,让程序跑起来(gdb) quit
:退出gdb调试(gdb) b function
或者gdb b n
:前者表示在某个函数处打断点,后者表示在某一行打断点(gdb) list
:查看执行文件的源代码(gdb) info b
:查看有哪些断点(gdb) next
:调试时往下走一步(gdb) print 变量名
:查看某个变量的值(gdb) step
进入某个函数内部
3.gdb小技巧
(gdb) shell 命令
可以添加shell前缀去调用一些的linux常用命令(gdb) set logging on
开启日志功能,会把调试输出的东西自动保存到一个gdb.txt
的文件中
4.调试其他
调试一个core
文件
- gdb 二进制文件(程序最后的可执行文件) core文件
- 如果core文件没有生成,那么你需要查看你的
ulimit
限制。
调试一个运行的程序: