Linux第三課 Makefile GDB Shell

Makefile: 工程管理器 優化編譯效率 核心:一系列規則
Makefile是特殊的shell
一個Makefile包含五個方面的內容:
1具體規則
2隱含規則:make能按照文件名的後綴,決定所採用的規則
3定義變量
4指令
5註釋
先打開Makefile : vim Makefile
內部指令
target: dependency
(Tab字符)command
目標:依賴(可多個)
Tab 命令
例如:
hello : hello.o add.o
gcc –o hello hello.o add.o (多文件系統)
上下相同
obj = hello.o add.o
CC = gcc
hello : (obj) (CC) -o hello $(obj)
總結:
1、 依賴爲 .o 文件
2、 僞目標:
. PHONY : clean
clean: 無需依賴
rm –f *.o

 . PHONY : add
    add:  hello.o  add.o
        gcc –o  add  hello.o  add.o

3、 隱含規則
gcc –o hello hello.o add.o 會自動生成.o 文件
4、註釋爲 # , 變量 用 ${ obj} 代替
GDB 調試工具
gcc -g –o hello hello.c add.c
命令 : gdb hello

Shell

環境變量 常用工具的安裝路徑

PATH——決定了shell將到哪些目錄中尋找命令或程序
HOME——當前用戶主目錄
HISTSIZE——歷史記錄數
LOGNAME——當前用戶的登錄名
HOSTNAME——指主機的名稱
SHELL——當前用戶Shell類型
使用示例:
echo PATH                   # 查看PATH環境變量  
export PATH=“/usr/local/bin”:
PATH # 設置PATH環境變量
echo $SHELL 查自己的shell類型
通配符
? 用於匹配一個字符
* 用於匹配任意長度的字符串。
使用舉例:
echo * 顯示當前目錄下所有文件的名稱
rm test? 刪除當前目錄下所有名稱爲test加一個字符的文件

Shell 腳本 解釋語言(高級) 需解釋器 如 bash
相對的 C語言 爲 編譯語言
1、可以事先寫在一個文件中,使用時Shell讀取文件中的命令逐條解釋,這種文件被稱爲腳本.
2、 #!/bin/sh
Shell將符號#後面的部分認爲是註釋,但這一行是有實際作用的。感嘆號!後面的部分指明瞭要使用sh作爲執行腳本的解釋器。
腳本中的每一行是一條命令,多條命令也可以寫在同一行,用分號;隔開

例如:

!/bin/bash

ls –l
echo PATHecho HOME

打印花括號 { }
在終端上改變屬性: chmod +x shell.sh
直接執行 shell.sh: ./shell.sh
未改變屬性: /bin/bash shell
/bin/sh
改變IP ifconfig eth0 192.168.1.1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章