当前位置: 首页 > news >正文

【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.lryc.cn/news/347267.html

相关文章:

  • Docker需要代理下载镜像
  • Debian操作系统简史
  • 课堂练习——路由策略
  • Agent AI智能体:未来社会的角色、发展与挑战
  • mybatis-plus使用指南(1)
  • python自定义x坐标名称
  • 图论专题训练
  • 持续总结中!2024年面试必问 100 道 Java基础面试题(四十二)
  • Linux 之 tail 命令
  • 【Android学习】简单的登录页面和业务逻辑实现
  • Mysql数据库的基础学习
  • CentOS7 安装 Kamailio
  • Tomcat启动闪退问题解决办法
  • 单元测试之JUnit5知识点总结及代码示例
  • 什么是数据平台——企业构建Data+AI的基础数据底座需要的决策参考
  • Oracle 流stream数据的复制
  • 「 安全设计 」68家国内外科技巨头和安全巨头参与了CISA发起的安全设计承诺,包含MFA、默认密码、CVE、VDP等七大承诺目标
  • 【K8S】pod无限重启,报错Back-off restarting failed container
  • 摸鱼文章1
  • 【设计模式】之适配器模式
  • Python轻量级Web框架Flask(13)—— Flask个人博客项目
  • 电商技术揭秘营销相关系列文章合集(4)
  • LeetCode-2391. 收集垃圾的最少总时间【数组 字符串 前缀和】
  • 再有人说数字孪生大屏没有用,用这8条怼回去。
  • 蓝桥杯练习系统(算法训练)ALGO-946 Q神的足球赛
  • 【Android】Kotlin学习之Kotlin方法的声明和传参
  • 微信小程序 17:小程序使用 npm 包和组件应用
  • 【mysql篇】执行delete删除大量数据后,磁盘未清空,为什么?
  • 【Qt 学习笔记】Qt常用控件 | 多元素控件 | Tree Widget的说明及介绍
  • 在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点