【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.pswp.cn/web/10890.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10890.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10890.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jdk安裝使用(Linux)

文章目錄 JDK在Linux的安裝Linux運行打包好的springboot項目停止在Linux服務器上運行的Spring Boot應用程序 JDK在Linux的安裝 在Linux上安裝JDK(Java Development Kit)可以通過以下步驟完成: 下載JDK安裝包: 訪問Oracle官方網站…

【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、相對路徑和…

Rust中忽略JSON反序列化時的不必要字段

在Rust中處理JSON數據時,經常會遇到JSON數據中包含一些在目標數據結構中不存在的字段的情況。如果你使用的是serde和serde_json這兩個流行的庫來處理JSON,那么有一些簡單的方法可以忽略這些不必要的字段。 默認行為:忽略未知字段 在Rust中&…

人工智能專業(科普)

Ⅰ 簡介 人工智能(Artificial Intelligence)是中國普通高等學校本科專業。人工智能,是一個以計算機科學為基礎,由計算機、心理學、哲學等多學科交叉融合的交叉學科、新興學科,研究、開發用于模擬、延伸和擴展人的智能…

在vue3中,如何優雅的使用echarts之實現大屏項目

前置知識 效果圖 使用技術 Vue3 Echarts Gasp Gasp:是一個 JavaScript動畫庫,它支持快速開發高性能的 Web 動畫。在本項目中,主要是用于做軌跡運動 所需安裝的插件 npm i echarts npm i countup.js 數字滾動特效 npm i gsap javascript動畫庫 np…

MogDBopenGauss查詢重寫規則lazyagg

在MogDB&openGauss中,參數rewrite_rule用于控制查詢重寫,本文介紹查詢重寫規則lazyagg 在未設置rewrite_rulelazyagg的情況下,子查詢中有GROUP BY會先進行GROUP BY lazyagg表示延遲聚合運算,目的是消除子查詢中的聚合運算&…

寶塔面板怎么解決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…

第1章 信息系統綜合知識 1.4 IT戰略

第1章 信息系統綜合知識 1.4 IT戰略 1.4.1 IT戰略的內涵 IT戰略,是在診斷和評估企業信息化現狀的基礎上,制定和調整企業信息化的指導綱領,爭取企業以最合適的成本,去做最合適的信息化工作。 IT戰略制定步驟: 定方向:明確遠景…

設計模式——模板設計模式(Template Method)

模板設計-base 什么是模板? 舉個簡單的例子,以AABB的格式,寫出一個詞語,你可能會想到,明明白白,干干凈凈等, 這個AABB就是一個模板,對模板心中有了一個清晰的概念之后,…

docker————docker的安裝

目錄 docker的安裝 1、安裝yum-utils工具 2、安裝yum倉庫 3、安裝docker引擎 4、設置開機啟動,并立即啟動 5、測試 docker的安裝 docker的官網Docker Docs 我才用的linux版本是rocky,使用的是最小安裝 1、安裝yum-utils工具 [rootbogon yum.rep…

環境變量(全)

概念 環境變量(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的工作原理通常包括采樣、保持、量化和編碼等步驟。采…