首页 > 系统相关 >Linux网络编程4——系统编程

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

时间:2025-01-13 23:33:09浏览次数:3  
标签:分区 编程 网络 dev 扇区 gdb 分区表 Linux 磁盘

一.电脑知识

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限制。

调试一个运行的程序:

在这里插入图片描述

标签:分区,编程,网络,dev,扇区,gdb,分区表,Linux,磁盘
From: https://blog.csdn.net/weixin_51496226/article/details/145126108

相关文章

  • nvidia gpu结构简介和cuda编程入门
    0.前言最近本人在写硕士大论文,需要写一些GPU相关的内容作为引言,所以在此总结一下。1.NVIDIAGPU线程管理CUDA的线程模型如上图,在调用一个CUDA函数时,需要定义grid和block的形状:func<<<grid,block>>>();在程序里定义的grid和block都是dim3类型的变量。当调用一个函数时,该函......
  • Linux系统中解决端口占用问题
    在日常的Linux系统管理和开发过程中,端口占用是一个常见且令人头疼的问题。无论是部署新服务、调试应用程序,还是进行系统维护,遇到端口被占用都可能导致服务无法正常启动或运行。本文将详细介绍在Linux系统中如何识别和解决端口占用问题,帮助你高效地管理系统资源。一、常见的......
  • Windows 与 Linux 程序员的区别
    如果一个程序员从来没有在Linux,Unix下开发过程序,一直在Windows下面开发程序,同样是工作10年,大部分情况下与在Linux,unix下面开发10年的程序员水平会差别很大。这篇文章并不是想贬低Windows下面开发的人,做Windows开发的人看了可能会感觉不舒服,我并不是这个意思,我只是说说我自己的......
  • 《Java核心技术II》网络使用telnet
    使用telnettelnet是一种用于网络编程的非常强大的调试工具,可以在命令shell中输入telnet来启动它。注释:在Windows中需要激活它,控制面板->程序->打开/关闭Windows特性->Telnet客户端。连接当日时间服务连接到当日时间服务,由美国国家标准与技术研究所运维,提......
  • c语言——【linux】多线程编程 (内附练习及代码)
    1:开启一个线程主线程中:使用标准IO,向一个文件中写入任意数据分支线程:使用标准IO,读取该文件中的数据#include<stdio.h>#include<string.h>#include<unistd.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<p......
  • Linux操作命令之网络管理
    一、网络基础命令1、查看网络信息[root@controller~]#ipaddrshow1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet127.0.0.1/8scopehostlo......
  • Linux基础
    Linux常见命令:    ls命令:        ls功能:查看当前目录下的所有文件            蓝色文件:目录文件(文件夹)             白色文件:普通文件(文本文件)        ls-a功能:查看当前目录......
  • STM32之LWIP网络通讯设计-下(十五)
    STM32F407系列文章-ETH-LWIP(十五)目录前言一、软件设计二、CubeMX实现1.配置前准备2.CubeMX配置1.ETH模块配置2.时钟模块配置3.中断模块配置4.RCC及SYS配置5.LWIP模块配置3.生成代码1.main文件2.用户层源文件3.用户层头文件4.效果演示三、移植实现总结......
  • linux服务器: Shell文件,注释,变量
    Shell文件Shell是一个用户跟操作系统之间的一个命令解释器创建shell文件编写内容#!/bin/bash:这是一个shebang行,告诉系统这个脚本应该使用bashshell来执行。#是一个注释字符,用于说明这行的作用。echo命令,用于在终端输出文本执行脚本1.给文件执行......
  • 初学者常犯:编程等号与数学等号划等号
    初学者常犯:编程等号与数学等号划等号一、编程=vs数学=1.1意义不同1.1.1等号的意义1.1.2案例展示1.1.3变量和等号1.2用法不同1.2.1类据类型转换1.2.2连等vs链式赋值二、C语言真正的等号三、避免出错的好习惯刚学编程的娃,非常容易在一个地方栽跟头,就是等号......