【Makefile】
常用自动变量:
$* 不包含扩展名的目标文件名称
$+ 所有的依赖文件,以空格分开,并有先后顺序对应,可能包含重复的依赖文件
$< 第一个依赖文件的名称
$? 所有时间戳比目标文件晚的依赖文件,并以空格分开
$@目标文件的完整名称
$^ 所有不重复的依赖文件,并以空格分开
$%如果目标是归档成员,则该变量表示目标文件的归档成员名称
$0 表示命令,$1表示第1个参数……$n表示第n个参数
$# 表示参数个数是$1-$n的个数。
Makefile规则:
Target:prerequisite
Command
目标:依赖
命令
注:命令以【TAB】按键开始
如:
EXEC = iotest
OBJS = iotest.o
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC)$(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
romfs:
$(ROMFSINST)/bin/$(EXEC)
clean:
-rm-f $(EXEC) *.elf *.gdb *.o
【tar】
打包:tar cvftmp.tar /tmp
解包:tar xvftmp.tar
【tar.gz】
打包并压缩:tar cvzftmp.tar.gz /tmp
解压并解包:tar xvzftmp.tar.gz
注:z表示gzip加压/解压缩文件
【tar.bz2】
打包并压缩:tar cvjftmp.tar.bz2 /tmp
解压并解包:tar xvjftmp.tar.bz2
注:j表示bz2加压/解压缩文件
mkdir –p 目录(建立为非空的目录)
rmdir 目录(只能删除为空的目录)
cp –rf 目录目录
注意: -i 删除前逐一询问确认 -r 将目录及以下之档案亦逐一执行 我本来觉得应该使用命令 rmdir,但是发现它无法删除非空的目录。 |
搜索:grep “test”* -nR
“123” > test 表示新建test文件,内容为123
“234”>> test 表示追加到test文件中,将234追加到test文件尾