Linux第三课 Makefile GDB Shell

来源:互联网 发布:unity3d工程师薪资 编辑:程序博客网 时间:2024/06/18 06:04

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 PATHechoHOME

打印花括号 { }
在终端上改变属性: chmod +x shell.sh
直接执行 shell.sh: ./shell.sh
未改变属性: /bin/bash shell
/bin/sh
改变IP ifconfig eth0 192.168.1.1

原创粉丝点击