【linux】linux工具使用

这一章完全可以和前两篇文件归类在一起,可以选择放一起看哦

 http://t.csdnimg.cn/aNaAg

 http://t.csdnimg.cn/gkJx7


 

 拖更好久了,抱歉,让我偷了会懒


1. 自动化构建工具 make , makefile

make 是一个命令,makefile 是一个文件(在当前目录下)

make 和 makefile 搭配使用可以实现自动化构建

 

a. 依赖关系

test 依赖于 test.c

b. 依赖方法

$@ : 指的是依赖关系的左边

$^ : 指的是依赖关系的右边

也可以直接写成: gcc -o test test.c

c. 原理

make是如何工作的 ?

  1. 在默认的方式下,也就是我们只输入make命令。那么, make会在当前目录下找名字叫“Makefile”或“makefile”的文件 (前提是依赖关系第一个必须和要编译文件有关)
  2. 如果找到,它会找文件中的第一个目标文件(target),并把这个文件作为最终的目标文件
  3. 如果文件不存在,或是这个文件所依赖的后面的文件修改时间要比前面这个文件老(可

以用 touch 测试,如: test 修改时间比test.c更加新),那么,他就会执行后面所定义的命令来生成前面这个文件

  1. make会一层又一层地去找文件的依赖关系,直到最终编译出第一个目标文件
  2. 在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,

而对于所定义的命令的错误,或是编译不成功,make根本不理

d. make 判断是否需要重新编译

  1. 判断源文件的修改时间和可执行文件的修改时间(如果源文件没有修改:其修改时间比可执行文件早;如果源文件右修改:其修改时间比可执行文件晚)
  1. 如果源文件没有修改,则再使用 make 是不会编译的 ; 如果源文件有修改,则可以使用 make 重新编译

三种时间:

  1. Access:

最近一次进入文件时间,包括进入文件,或者修改文件内容

  1. Modify:

最近一次修改文件内容的时间

注:

touch + 没有创建的文件名

新创一个文件

touch + 有创建的文件名

更新时间

所以 touch 对 Modify 有影响

  1. Change:

最近一次修改文件属性的时间

回车换行:

回车( \r ):光标回到这一行的最开始处

换行( \n ):光标跳到下一行的最开始处

e. 文件清理

  • make clean

清理文件

注意:

我们将它设置为伪目标,用 .PHONY 修饰,伪目标的特性是,总是可以被

执行

2. git 工具

  • git + clone + 仓库里链接

与远程仓库链接

  • git + add + 路径 / git + add + 文件名

添加该路径下的文件(没有被添加过的)

  • git + commit + -m + "标注信息"

提交改动到本地

注:

第一次使用git,可能会出现一些问题:

注:名字和邮箱换成自己的就好了

  • git + push

提交到远程仓库里面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/10890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】变量类型

类变量:独立于方法之外的变量,用static修饰实例变量:独立于方法之外的变量,不过没有static修饰局部变量:类的方法中的变量 示例1: public class test_A {static int a;//类变量(静态变量)String b;//实例…

Mysql 日志(redolog, binlog, undoLog)

重做日志-redolog 是什么 innoDB存储引擎层面的日志,它的作用是当 数据更新过程中数据库发生异常导致提交的记录丢失 为什么 mysql的基本存储结构是页(记录都在页里面),所以更新语句时,mysql需要先把要更新的语句找…

Softing工业推出的edgeConnector将Allen-Bradley控制器集成到工业边缘应用中

2024年4月17日(哈尔),Softing宣布扩展其基于Docker的edgeConnector产品系列,推出了新软件模块edgeConnector Allen Bradley PLC,可方便用户访问来自ControlLogix和CompactLogix控制器数据。 (edgeConnector…

Linux提权--定时任务--打包配合 SUID(本地)文件权限配置不当(WEB+本地)

免责声明:本文仅做技术交流与学习... 目录 定时任务 打包配合 SUID-本地 原理: 背景: 操作演示: 分析: 实战发现: 定时任务 文件权限配置不当-WEB&本地 操作演示: 定时任务 打包配合 SUID-本地 原理: 提权通过获取计划任务执行文件信息进行提权 . 1、相对路径和…

在vue3中,如何优雅的使用echarts之实现大屏项目

前置知识 效果图 使用技术 Vue3 Echarts Gasp Gasp:是一个 JavaScript动画库,它支持快速开发高性能的 Web 动画。在本项目中,主要是用于做轨迹运动 所需安装的插件 npm i echarts npm i countup.js 数字滚动特效 npm i gsap javascript动画库 np…

宝塔面板怎么解决nginx跨域问题

1.找到宝塔的nginx配置文件 宝塔有一点不同,nginx配置文件不在nginx的安装目录中,应当去/www/server/panel/vhost/nginx找到 2.添加你要跨域的地址 location /api {proxy_pass http://localhost:8080;proxy_set_header Host $host;proxy_set_header X-…

维护祖传项目Tomcat部署war包

文章目录 1. 安装tomcat2. 解决Tomcat启动日志乱码3. idea配置启动war包 1. 安装tomcat 选择免安装版本,只需要在系统变量里面配置一下。 新增系统变量 CATALINA_HOME D:\Users\common\tomcat\apache-tomcat-8.5.97-windows-x64\apache-tomcat-8.5.97 编辑追加Path…

FPGA SDRAM读写控制器

感谢邓堪文大佬 ! SDRAM 同步动态随机存取内存(synchronousdynamic randon-access menory,简称SDRAM)是有一个同步接口的动态随机存取内存(DRAM)。通常DRAM是有一个异步接口的,这样它可以随时响…

Node.js基础:从入门到实战

初识 Node.js 与内置模块 (初识) 1、知道什么是node.js 2、知道node.js可以做什么 3、node.js 中js的组成部分 (内置模块) 4、用 fs 模块读写操作文件 5、使用 path 模块处理路径 6、使用http 模块写一个基本的web服务器 初识 N…

设计模式——模板设计模式(Template Method)

模板设计-base 什么是模板? 举个简单的例子,以AABB的格式,写出一个词语,你可能会想到,明明白白,干干净净等, 这个AABB就是一个模板,对模板心中有了一个清晰的概念之后,…

环境变量(全)

概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:我们在编写C/C代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执…

今日arXiv最热NLP大模型论文:揭露大语言模型短板,北京大学提出事件推理测试基准

人工智能领域又一里程碑时刻!北京大学、北京智源人工智能研究院等机构联合推出大型事件推理评测基准 。这是首个同时在知识和推理层面全面评估大模型事件推理能力的数据集。 总所周知,事件推理需要丰富的事件知识和强大的推理能力,涉及多种推…

consul启动Error_server_rejoin_age_max (168h0m0s) - consider wiping your data dir

consul 启动报错: consul[11880]: 2024-05-12T08:37:51.095-0400 [ERROR] agent: startup error: error"refusing to rejoin cluster because server has been offline for more than the configured server_rejoin_age_max (168h0m0s) - consider wiping you…

【GD32】02-ADC模拟数字转换器

ADC 在电子和通信技术中,ADC(模拟数字转换器)是一种将模拟信号转换为数字信号的电子设备。这种转换是电子系统中非常关键的一个环节,因为数字信号更易于处理、存储和传输。ADC的工作原理通常包括采样、保持、量化和编码等步骤。采…

http协议 tomcat如何访问资源 servlet理论介绍

tomcat介绍 bin是启动命令; conf是配置,可以修改端口号; lib是依赖的jar包; logs是日志 webapps是重点,在这里新建我们自己的javaWeb项目 tomcat如何访问资源 tomcat通过统一资源定位符(URL)来…

乡村振兴与农村基础设施建设:加大农村基础设施建设投入,提升农村公共服务水平,改善农民生产生活条件,构建宜居宜业的美丽乡村

一、引言 乡村振兴是我国现代化进程中的重要战略,而农村基础设施建设则是乡村振兴的基石。随着城市化进程的加快,农村基础设施建设滞后的问题日益凸显,成为制约乡村发展的瓶颈。因此,加大农村基础设施建设投入,提升农…

AI大模型探索之路-训练篇21:Llama2微调实战-LoRA技术微调步骤详解

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

华为OD机试 - 执行任务赚积分 - 动态规划(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷+C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。 一、题目描述 现有 N 个任…

Gradle基础学习(六) 认识任务Task

理解Gradle中的任务 Gradle的构建过程基于任务(Task)的概念,而每个任务都可以包含一个或多个动作(Action)。 任务是构建中执行的一些独立的工作单元,例如编译类、创建JAR、生成Javadoc或将存档发布到仓库…

4.5网安学习第四阶段第五周回顾(个人学习记录使用)

本周重点 ①部署域环境(Win2008) ②域组策略 ③域内信息收集 ④(重点)哈希传递攻击PTH ⑤MS14-068 提权漏洞 ⑥黄金票据伪造 ⑦白银票据伪造 ⑧ZeroLogon (CVE-2020-1472) 漏洞复现 本周主要内容 ①部署域环境(Win2008)…