Linux网络编程4——系统编程

devtools/2025/1/14 9:54:01/

一.电脑知识

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的文件系统,缺点是单个文件,不能超过2GB
  • NTFS文件系统:支持文件加密,采用日志形式的文件系统,详细的记录磁盘读写的操作,支持数据恢复,能够提高磁盘数据的安全
    性,突破了单个文件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限制。

调试一个运行的程序:

在这里插入图片描述


http://www.ppmy.cn/devtools/150370.html

相关文章

[免费]微信小程序(高校就业)招聘系统(Springboot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序(高校就业)招聘系统(Springboot后端Vue管理端),分享下哈。 项目视频演示 【免费】微信小程序(高校就业)招聘系统(Springboot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…

macOS 如何修改 PATH 环境变量 ?

对于希望从终端管理命令行工具和脚本的可访问性的用户来说,在 macOS 上编辑 PATH 环境变量是必不可少的。在最近的版本中,macOS 已经从使用 bash shell 作为默认 shell 转变为使用 zsh,因此了解如何在这两个 shell 中编辑 PATH 是很重要的。 …

Kivy App开发之UX控件Popup弹窗

Popup控件用于创建一个弹出式的窗口,弹出的窗口默认覆盖父窗口,需要设置title和content两个属性,弹窗默认大小size_hint=(1,1),当设置该值时,即表示全屏显示,如果想全屏显示,可以修改size_hint参数的值。 常见属性 属性说明title弹窗的标题,默认"No title"t…

Modbus TCP转DeviceNet网关在汽车领域的应用

开疆智能Modbus TCP转DeviceNet网关在汽车领域的应用,不仅是一项技术创新,更是推动汽车制造业向智能化、自动化迈进的重要驱动力。其应用范围广泛,涵盖了生产效率提升、生产流程优化、生产安全性保障等多个方面,为汽车制造的各个环…

[人工智能自学] Python包学习-pandas

紧接上篇numpy的学习教程 本篇参考: Pandas 教程|菜鸟教程 官方教程 - 10分钟入门pandas joyful-pandas pandas中文教程 它建立在 NumPy 库的基础之上,提供了高效的数据结构和数据分析工具,使得在 Python 中进行数据操作变得更加容易和高效。…

ros2笔记-4.6使用launch启动脚本

之前4.3节例子中,需要分别启动turtle_control、patrol_client、turtlesim_node三个节点,每个节点都需要单独的终端和命令。比较麻烦,ros2 提供了简化启动过程的方法。 4.6.1 使用launch启动多个节点 ros2 支持使用python、xml、YAML 三种格…

框架部分面试题学习

IOC容器,AOP IOC :依赖反转,将对象的创建,组装,管理的控制权限从应用程序反转到IOC容器中。由springboot的来实现对象的自动装配和注入。 当某个类使用了Componnet 注解后,标记为一个组件。那么这个类在项…

项目实战--网页五子棋(用户模块)(1)

接下来我将使用Java语言,和Spring框架,实现一个简单的网页五子棋。 主要功能包括用户登录注册,人机对战,在线匹配对局,房间邀请对局,积分排行版等。 这篇文件讲解用户模块的后端代码 1. 用户表与实体类 …