【linux】linux工具使用

news2024/11/28 8:47:29

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

 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.coloradmin.cn/o/1668518.html

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

相关文章

【RAG 论文】FiD:一种将 retrieved docs 合并输入给 LM 的方法

论文: Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering ⭐⭐⭐⭐ EACL 2021, Facebook AI Research 论文速读 在 RAG 中,如何将检索出的 passages 做聚合并输入到生成模型是一个问题,本文提出了一…

VMware虚拟机故障:“显示指定的文件不是虚拟磁盘“,处理办法

一、故障现象 由于虚拟机宕机,强制重新启动虚拟机后显示错误,没有办法启动虚拟机。 虚拟机有快照,执行快照还原,结果也不行,反复操作,在虚拟机文件目录出现很多莫名文件 二、故障原因 根据故障提示&#…

浅谈@Controller注解和其他四大注解的区别

各位大佬光临寒舍,希望各位能赏脸给个三连,谢谢各位大佬了!!! 目录 1.Spring五大注解的使用约定 2.Controller注解的特别之处 3.总结 1.Spring五大注解的使用约定 Spring的五大注解(Controller&#x…

flutter自定义日期选择器按日、按月、自定义开始、结束时间

导入包flutter_datetime_picker: 1.5.0 封装 import package:atui/jade/utils/JadeColors.dart; import package:flutter/cupertino.dart; import package:flutter/material.dart; import package:flutter_datetime_picker/flutter_datetime_picker.dart; import package:flut…

040——移植数据库sqlite3到i.mx6ull

目录 一、下载 二、移植数据库 三、测试sqlite3 一、下载 SQLite Download Page 暂时先下载最新版的试试,我们以前其实在ubuntu上直接使用过 嵌入式数据库sqlite3_常见的嵌入式数据库-CSDN博客 当时我把常用的操作和怎么使用记录下来了 现在把他移植到开发板…

SamFirm Reborn 0.3.6.8三星固件下载器 汉化版

介绍 在三星手机的维护和升级过程中,固件的获取往往成为了一个难题。幸运的是,有一群热爱技术的开发者们,他们开发了各种工具以简化这个过程。今天,我们要介绍的是一款名为SamFirm Reborn 0.3.6.8的三星固件下载器的汉化版。它旨在…

Java8 ConcurrentHashMap 存储、扩容源码阅读

文章目录 1. 概述2. 入门实例3. 属性4. 核心方法4.1 put4.2 initTable4.3 transfer4.4 sizeCtl4.5 sizeCtl bug 1. 概述 ConcurrentHashMap 是线程安全且高效的 HashMap。 HashMap 可以看下我这篇 传送门 。 2. 入门实例 public class MyStudy {public static void main(St…

什么是数据平台——企业构建Data+AI的基础数据底座需要的决策参考

什么是数据平台 标准的解释是这样的 Wikipedia A data platform usually refers to a software platform used for collecting and managing data, and acting as a data delivery point for application and reporting software. 数据平台是指将各类数据进行整合、存储、处…

实现字符串比较函数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int i, result;char s1[100], s2[100];//填充数组&#xff1b;printf("请输入数组s1的…

Docker 直接运行一个 Alpine 镜像

由于镜像很小&#xff0c;下载时间往往很短&#xff0c;读者可以直接使用 docker run 指令直接运行一个 Alpine 容器&#xff0c;并指定运行的 Linux 指令&#xff0c;例如&#xff1a; PS C:\Users\yhu> docker run alpine echo 123 Unable to find image alpine:latest lo…

docker八大架构之应用数据分离架构

数据分离架构 什么是数据分离架构&#xff1f; 数据分离架构是指应用服务&#xff08;应用层&#xff09;和数据库服务&#xff08;数据层&#xff09;使用不同的服务器来进行操作&#xff0c;如下边的两个图所示。当访问到应用层后&#xff0c;如果需要获取数据会进行访问另…

【Qt 学习笔记】Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout 文章编号&…

基于STM32的风量控制器的Proteus仿真

文章目录 一、风量控制器1.题目要求2.思路3.仿真图4.仿真程序4.1 程序说明4.2 主函数4.2 OLED显示函数4.3 按键函数 三、总结 一、风量控制器 1.题目要求 设计一个可以风量控制器进行通信的控制板&#xff0c;该控制板由1块OLED显示屏和8个物理按键组成&#xff0c;其中显示屏…

落雪音乐 超好用的桌面端音乐播放器

之前一直都是充某Q音乐的会员&#xff0c;突然不想氪金了&#xff0c;终于找到一个开源的音乐播放器&#xff0c;在此先给落雪无痕大佬跪了 太爱了 简直白嫖怪的福音 话不多说&#xff0c;直接上操作&#xff1a;解压密码&#xff1a;www.1234f.com下载地址&#xff1a;极速云…

B/S模式的web通信(高并发服务器)

这里写目录标题 目标实现的目标 服务器代码&#xff08;采用epoll实现服务器&#xff09;整体框架main函数init_listen_fd函数&#xff08;负责对lfd初始化的那一系列操作&#xff09;epoll_run函数do_accept函数do_read函数内容补充&#xff1a;http中的getline函数 详解do_re…

DE2-115开发板基于verilog和nioⅡ的流水灯实现

目录 一、 内容概要二、 实现2.1 基于Nios II软核的流水灯2.1.1 准备工作2.1.2 工程搭建2.1.3 硬件代码设计Ⅰ 连接IP核Ⅱ 编写代码Ⅲ 各种配置 2.1.4 软件代码设计Ⅰ 环境构建Ⅱ 编写代码 2.1.5 代码下载Ⅰ 硬件下载Ⅱ 软件下载 2.1.6 运行结果 2.2 Verilog流水灯 三、 心得体…

LORA学习笔记2——训练集处理

前言 对于ai训练来说&#xff0c;处理训练集是模型训练的重要环节。训练集的质量对最终模型的质量影响巨大。这里以二次元角色为例&#xff0c;记录下训练集处理的流程和一些心得。 素材准备 素材准备有以下几个需要注意的点&#xff1a; 通常训练二次元角色需要30张以上的…

栈和队列(栈的详解)

目录 栈栈的实现栈的结构栈的初始化栈的销毁入栈出栈获取栈顶元素栈的判空获取栈的数据个数test.c(测试)总结 栈 栈也是线性表&#xff08;在逻辑上是顺序存储&#xff09;的一种&#xff0c;栈只允许其在固定的一端进行插入和删除&#xff0c;栈中的元素遵循后进先出&#xf…

Linux-笔记 开发板Uboot命令使用

将之前自学的知识整理了一下笔记&#xff0c;以便回忆 信息查询命令 1、help/?&#xff1a;查看所支持命令 > ? md md - memory displayUsage: md [.b, .w, .l] address [# of objects]2、bdinfo&#xff1a;查询板子信息 > bdinfo arch_number 0x00000000 boot_p…

多商户Docker Supervisor进程管理器部署

Dockerfile 根目录下没有Dockerfile的可以复制下面的命令 # 使用基础镜像 FROM leekay0218/crmeb-mer## 复制代码 ## 在本地调试注释掉&#xff0c;使用映射把文件映射进去 #ADD ./ /var/www# 设置工作目录 WORKDIR /var/www# 设置时区为上海 ENV TZAsia/Shanghai RUN ln -sn…