Linux:工程管理工具makefile和文件压缩


1 工程管理工具

makefile——make:

make  #使用make执行makefile文档中的命令,代替繁琐的分步手动生成
  • make:在当前目录下找makefile或Makefile
    寻找makefile开头定义的最终目标文件,如果文件不存在,或者生成目标文件所依赖的文件的最后修改时间比目标文件新,执行下面的命令。
  • 层次递进寻找依赖文件(类似递归),根据文件的修改时间决定是否执行命令
  • make可以自动推导文件及其依赖文件的关系命令

1.1 makefile:

1.1.1 显示规则:明确

1.1.2 隐晦规则:make自动推导,简写

makefile默认cc 命令,可省略makefile中的gcc -c命令

1.1.3 变量定义:类似宏

1.1.4 文件指示:引用另一个makefile,指定文件有效位置

include *.mk *.mk

1.1.5 注释 :# 号

1.1.6 文件搜寻

VPATH=./list:/区分路径
vpath%.h ./list

vpath%.c 目录1:目录 2
vpath% 目录3

1.1.7 清空

clean:
	rm *.o
.PHONY:clean  #声明clean是一个伪目标
clean:
	-rm *.o  #- 表示忽略可能导致的错误,继续执行
make clean  #执行clean

1.1.8 示例

mian:list.o main.o
         gcc -o main list.o main.o
list.o:list.c
         gcc -c list.c
main.o:main.c
         gcc -c main.c

最终版本:

VPATH=./list  #如果文件不在同一个文件件,需要定义文件搜寻路径
val = list.o \  #变量定义
      main.o  #多行可使用\进行转义
mian: $(val)  #使用变量代替多文件名
	gcc -o main $(val)
$(val):  #自动推导,可省略依赖文件
 

clean:
	rm *.o main

1.1.9 打开file形式的makefile

make -f file

1.2 脚本.sh

  • 使用脚本可以完成简单的命令
vim main.sh
#添加如下两行命令
make
rm *o  #删除make过程中生成的.o文件,只保留生成的可执行文件

#修改权限为可执行文件
chmod a+x main.sh

#执行脚本
./main.sh

2 文件解压缩

2.1 分布解压缩

  • 打包
tar cf xxx.tar filelist
  • 压缩
gzip xxx.tar  #生成xxx.tar.gz
  • 解压
gzip -d xxx.tar.gz
  • 解包
tar xf xxx.tar
tar c  #创建
tar x  #释放
tar f  #指定目标为文件
tar t  #仅查看
tar v  #显示详细过程

2.2 一步解压缩

  • 一步压缩
tar zcf xxx.tgz filelist
  • 一步解压
tar zxf xxxx.tgz
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值