Linux Day04
目录
一、文件压缩与解压命令
1.1 tar cvf 文件名 ---打包命令生成.tar
1.2 tar xvf 文件名 ----解开包 生成文件
1.3 gzip +.tar 压缩 生成.tar.gz压缩包
1.4 gzip -d +.tar.gz 解压成包
1.5 直接把压缩包解压成文件 tar zxf +.tar.gz
二、Linux 系统上 C 程序的编译与调试
2.1 c程序执行需要经过四个步骤
2.2 多个文件的编译
2.3 Makefile 文件使用
2.3.1多个步骤
2.3.2一次生成
2.4 gdb调试
一、文件压缩与解压命令
tar将文件打包或者解包◼ c 创建包文件◼ f 指定目标为文件而不是设备◼ v 显示详细过程◼ t 显示包中的内容而不释放◼ x 释放包中的内容◼ z GNU 版本新加的,使得 tar 有压缩和解压的功能
1.1 tar cvf 文件名 ---打包命令生成.tar

1.2 tar xvf 文件名 ----解开包 生成文件

1.3 gzip +.tar 压缩 生成.tar.gz压缩包

1.4 gzip -d +.tar.gz 解压成包
然后+1.2的命令就能将压缩包解成两个文件


1.5 直接把压缩包解压成文件 tar zxf +.tar.gz

二、Linux 系统上 C 程序的编译与调试
2.1 c程序执行需要经过四个步骤

使用gcc编译程序分为四步:
预编译:gcc -E hello.c -o hello.i
编译:gcc -S hello.i -o hello.s
汇编:gcc -c hello.s -o hello.o
链接:gcc hello.o -o hello

也可以是一步:gcc -o hello hello.c 然后./hello
2.2 多个文件的编译
方法一:

方法二:gcc -o 可执行程序 文件.c

2.3 Makefile 文件使用
2.3.1多个步骤

2.3.2一次生成

当我们没有改变代码或者删除可执行文件还有.o文件时继续输入make会显示

删除可执行文件还有.o文件
rm -rf *.o main这行命令在makefile文件中

2.4 gdb调试
转换至debug
gcc -o main main.c -g
-g很重要
1. l //显示 main 函数所在的文件的源代码2. list 文件名:num //显示 filename 文件 num 行上下的源代码3. b 行号 //给指定行添加断点4. b 函数名 //给指点函数的第一有效行添加一个断点5. info break //显示断点信息6. delete 断点号 //删除指定断点7. disable 断点号 //将断点设定为无效的,不加断点号,将所有断点设置为无效8. enable 断点号 //将断点设定为有效的,不加断点号,将所有断点设置为有效9. r(run) //运行程序10. n(next) //单步执行11. c ( continue ) //继续执行,直接执行到下一个断点处12. s //进入将要被调用的函数中执行13. finish //跳出函数 图论科技14. q //退出调试15. p val //打印变量 val 的值16. p &val //打印变量 val 的地址17. p a+b //打印表达式的值18. p arr(数组名) //打印数组所有元素的值19. p *parr@len //用指向数组的指针打印数组所有元素的值20. finish //退出函数21 bt //函数调用栈关系
以死循环输入字符串判断是否相等为例:
vi test01.c

使用不同的命令发现debug比release要大,说明debug当中有调试信息

开始调试 输入gdb+可执行文件

加断点:b +行号
![]()
查看断点信息 info break

运行程序:r

下一步:n
打印:p

退出:q

找到问题,修改程序:
相关文章:
Linux Day04
目录 一、文件压缩与解压命令 1.1 tar cvf 文件名 ---打包命令生成.tar 1.2 tar xvf 文件名 ----解开包 生成文件 1.3 gzip .tar 压缩 生成.tar.gz压缩包 1.4 gzip -d .tar.gz 解压成包 1.5 直接把压缩包解压成文件 tar zxf .tar.gz 二、Linux 系统上 C 程序的…...
上海亚商投顾:沪指冲高回落 两市成交重回万亿
上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日冲高回落,盘初一度集体涨超1%,随后涨幅明显回落,上证50午后一度翻…...
2023最新版本~十分钟零基础搭建EMQX服务器
购买服务器 已知服务器大厂商 1 阿里云 点击直接访问 2 华为云点击直接访问 3 腾讯云 点击直接访问 还是比较推荐大公司 不会跑路 这里我购买的是一年的华为云服务器(新用户 64一年) 镜像推荐乌班图18 登陆服务器(需要重置密码!!&…...
SpringBoot2.5.6整合Elasticsearch7.12.1
SpringBoot2.5.6整合Elasticsearch7.12.1 下面将通过SpringBoot整合Elasticseach,SpringBoot的版本是2.5.6,Elasticsearch的版本是7.12.1。 SpringBoot整合Elasticsearch主要有三种方式,一种是通过elasticsearch-rest-high-level-client&am…...
准大一信息安全/网络空间安全专业学习规划
如何规划? 学习需要一个良好的学习习惯,建议刚开始一定要精通一项程序语言,学习其他的就会一通百通。过程中是按步骤学习,绝不半途看见苹果丢了梨,一定要强迫自己抵制新鲜技术的诱惑。 网络安全其实是个广而深的领域…...
WEB:php_rce
背景知识 Linux命令 thinkPHPv5漏洞 题目 打开页面,页面显示为thinkphp v5的界面,可以判断框架为thinkPHP,可以去网上查找相关的漏洞 由题目可知,php rec是一个通过远程代码执行漏洞来攻击php程序的一种方式 因为不知道是php版…...
问题:idea启动项目错误提示【command line is too long. shorten command line】
问题:idea启动项目错误提示【command line is too long. shorten command line】 参考博客 问题描述 启动参数过长,启动项目,错误提示 原因分析 出现此问题的直接原因是:IDEA集成开发环境运行你的“源码”的时候(…...
xshell连接Windows中通过wsl安装的linux子系统-Ubuntu 22.04
xshell连接Windows中通过wsl安装的linux子系统-Ubuntu 22.04 一、安装linux子系统 1.1、 启动或关闭Windows功能-适用于Linux的Windows子系统 1.2 WSL 官方文档 使用 WSL 在 Windows 上安装 Linux //1-安装 WSL 命令 wsl --install//2-检查正在运行的 WSL 版本:…...
子域名收集工具OneForAll的安装与使用-Win
子域名收集工具OneForAll的安装与使用-Win OneForAll是一款功能强大的子域名收集工具 GitHub地址:https://github.com/shmilylty/OneForAll Gitee地址:https://gitee.com/shmilylty/OneForAll 安装 1、python环境准备 OneForAll基于Python 3.6.0开发和…...
报数游戏、
描述 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。。 输入 初始人数n 输出 最后一人的初始编号 输入样例 1 3 输出样例 1 2 输入样例 …...
规约模式:优雅设计与灵活应用
引言: 规约模式是软件开发中的重要设计原则,它们提供了一种优雅的、灵活的方式来构建高质量的系统。本文将通过实例演示规约模式的具体应用,带你了解这些原则的实战价值。 一、开放封闭原则 // 图形接口 public interface Shape {void dra…...
Ubuntu Server版 之 apache系列 安装、重启、开启,版本查看
安装之前首先要检测是否安装过 apt list --installed | grep tool tool:要检测的名称,如mysql、apache 、ngnix 等 安装 apache sudo apt install apache2 安装apache 默认是开启的 可以通过浏览器 检测一下 service apache stop # apache 停止服务…...
Redis学习路线(4)—— Redis实现项目缓存
一、什么是缓存 (一)概念:缓存就是数据交换的缓冲区(称为Cache),是存储数据的临时区域,一般读写性能较高。 (二)常见缓存: 浏览器缓存,服务器缓…...
【Unity造轮子】实现一个类csgo的武器轮盘功能
文章目录 前言素材导入开始1.放背景和中间的圆圈,调整合适的宽高和位置2.添加选择图像框3.添加一些武器道具选择4.书写脚本RadialMenuManager5.绑定脚本和对象6.运行效果,按tab键开启关闭轮盘7.优化添加显示选中的武器文本8.添加鼠标选中放大的效果9.添加…...
代码随想录算法训练营第三十天 | 单调栈系列复习
单调栈系列复习 每日温度未看解答自己编写的青春版重点题解的代码日后再次复习重新写 下一个更大元素 I未看解答自己编写的青春版重点题解的代码日后再次复习重新写 下一个更大元素II未看解答自己编写的青春版重点题解的代码日后再次复习重新写 接雨水未看解答自己编写的青春版…...
redis数据未到过期时间被删除
1. 问题描述 使用了jeecgboot开发后端代码,代码设置的redis过期时间为24小时,部署使用的宝塔面板,在redis中看到的过期时间也是为24小时,但是并未到过期时间,数据就被删除。 2. 解决办法 观察了一下redis中的数据&a…...
32.选择器
选择器 html部分 <div class"toggle-container"><input type"checkbox" id"good" class"toggle"><label for"good" class"label"><div class"ball"></div></label&…...
Linux--验证命令行上运行的程序的父进程是bash
1.输入以下代码: #include <stdio.h> #include <unistd.h> int main() {printf("hello world: pid: %d, ppid: %d\n",getpid(),getppid());return 0; }2.编译得到可执行程序 3.运行得到ppid 4.输入指令 ps axj | head -1 &&am…...
MySQL数据库关于表的一系列操作
MySQL中的数据类型 varchar 动态字符串类型(最长255位),可以根据实际长度来动态分配空间,例如:varchar(100) char 定长字符串(最长255位),存储空间是固定的,例如&#…...
Spring基于注解管理bean及全注解开发
文章目录 spring概述Spring定义Spring核心Spring Framework的特点 基于注解管理bean依赖开启组件扫描使用注解定义Bean案例:Autowired注入属性注入set注入形参上注入只有一个构造函数,无注解Autowire注解和Qualifier注解联合 Resource注入Spring全注解开发 spring概…...
csp预习day2
set#include<bits/stdc.h> using namespace std;int main(){// ios::sync_with_stdio(0);// cin.tie(0);// cout.tie(0);int n,m; //值域、询问个数scanf("%d%d",&n,&m);int set[n1]; //大小为n的随机序列for (int i 1; i < n; i){scanf(&qu…...
EVA-01应用实战:5个场景教你用Qwen2.5-VL处理工作学习中的图片难题
EVA-01应用实战:5个场景教你用Qwen2.5-VL处理工作学习中的图片难题 1. 引言:当视觉理解遇上机甲美学 想象一下,你正在处理一份满是手写笔记的文档照片,或者需要快速理解一张复杂的数据图表。传统方法可能需要你手动输入文字、反…...
Linux 下 tar 命令归档与压缩完整指南
存档文件是包含多个文件的单个常规文件或设备文件,可用于创建可管理的个人备份,或者在其他方法(如 rsync)不可用时简化通过网络传输文件的任务。在 Linux 系统中,tar 实用程序是用于创建、管理和提取存档的常用命令。存…...
QKeyMapper终极指南:如何在不重启Windows的情况下彻底改变你的按键习惯
QKeyMapper终极指南:如何在不重启Windows的情况下彻底改变你的按键习惯 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射到…...
N_m3u8DL-RE:跨平台流媒体解决方案的全方位技术指南
N_m3u8DL-RE:跨平台流媒体解决方案的全方位技术指南 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE …...
3步攻克m3u8视频下载:零基础解决方案
3步攻克m3u8视频下载:零基础解决方案 【免费下载链接】m3u8_downloader 项目地址: https://gitcode.com/gh_mirrors/m3/m3u8_downloader 在数字化时代,流媒体内容已成为信息传播的主要形式之一。然而,许多在线视频采用m3u8格式并通过…...
基于TMS320F28033的20MHz手持式双踪袖珍示波器设计与实现
一、系统概述 设计实现了一款手持式、双通道、20MHz带宽的数字存储示波器,以TI TMS320F28033 DSP为核心控制器,结合FPGA与高速ADC,构建了集信号调理、高速采集、数据处理与显示于一体的便携式测量仪器。系统采用程控增益放大、DC/AC耦合电子切…...
一站式B站直播录制解决方案:零基础掌握BililiveRecorder高效使用指南
一站式B站直播录制解决方案:零基础掌握BililiveRecorder高效使用指南 【免费下载链接】BililiveRecorder 录播姬 | mikufans 生放送录制 项目地址: https://gitcode.com/gh_mirrors/bi/BililiveRecorder 在数字内容爆炸的时代,如何永久保存喜爱的…...
收藏必备!小白程序员轻松入门大模型,带你理清AI核心概念全框架
AI浪潮已经刮了一年多,身边越来越多人聊AI,张口就是“agent”“skill”,听得人只能点头附和,似懂非懂?其实不是听不懂,而是没有把这些概念串起来,告诉你它们到底是什么、彼此有啥关系。 咱不聊复…...
Mod Loader:重新定义GTA系列模组管理的技术架构与实践指南
Mod Loader:重新定义GTA系列模组管理的技术架构与实践指南 【免费下载链接】modloader Mod Loader for GTA III, Vice City and San Andreas 项目地址: https://gitcode.com/gh_mirrors/mo/modloader 一、核心痛点解析:传统模组管理的三大技术瓶颈…...
