Linux系統下的常用指令

更改使用者許可權和組許可權(這一操作得在root使用者下進行)

# chown -R xxxxx:xxxxx 檔名

其中xxxxx為所需要更改的使用者名稱。假如我現在有個使用者叫haha,有一個許可權為root的hello.c的檔案,我需要將hello.c的檔案的許可權更改為haha使用者許可權,那麼應該寫如下指令:

# chown -R haha:haha hello.c

迭代的刪除檔案

$ rm -r 資料夾名

比如說現在有一個叫test的資料夾,test資料夾目錄下還有其他的資料夾或者檔案,那麼我想要將test以及其資料夾下面的所有檔案一併刪除就可以採用上面的命令列實現。具體指令如下:

$ rm -r test

程式碼的編譯與執行(利用gcc)

$ gcc xxx.c -o xxx
$ ./xxx

檢視當前目錄的完整路徑

$ pwd

Linux系統下的常用工具

Makefile

以下內容摘自《基於專案驅動的嵌入式Linux應用設計開發》
下面通過例項來介紹以下Makefile檔案的編寫規則。假如我們現在有三個c語言程式main.c、t1.c、t2.c和三個標頭檔案d1.h、d2.h、d3.h,且三個標頭檔案均為空。
main.c的內容如下:

//main.c
#include<stdio.h>
#include"d1.h"
extern void s1();
extern void s2();
int main(void){
	printf("This is main.\n");
	s1();
	s2();
	return 0;
}

t1.c的內容:

//t1.c
#include<stdio.h>
#include"d1.h"
#include"d2.h"
void s1(void){
	printf("This is s1.\n");
}

t2.c的內容

//t2.c
#include<stdio.h>
#include"d2.h"
#include"d3.h"
void s2(void){
	printf("This is s2.\n");
}

編寫Makefile檔案,其內容為:

//Makefile
main:main.o t1.o t2.o
	gcc -o main main.o t1.o t2.o
main.o:main.c d1.h
	gcc -c main.c
t1.o:t1.c d1.h d2.h
	gcc -c t1.c
t2.o:t2.c d2.h d3.h
	gcc -c t2.c
.PHONY:clean
clean:
	rm -f main main.o t1.o t2.o

上面程式碼含義解釋如下圖所示:
詳解程式碼片含義

執行make命令並執行程式具體如下:
執行結果

在預設情況下,make只更新Makefile中的第一個目標,如果希望更新更多個目標檔案,可以使用一個特殊的目標all,假如想在一個Makefile中更新main和test這兩個程式檔案,可以假如下面的語句:

all:main test

Makefile在驅動模組中的使用

Makefile檔案編寫如下:

obj-m:=hello.o
KERNELDIR:=/urs/src/kernels/2.6.32-642.el6.x86_64
modules:
	make -C KERNELDIR M='pwd' modules

報錯如下:

make -C KERNELDIR M='pwd' modules
make: *** KERNELDIR: No such fileaa or directory.  Stop.
make: *** [modules] Error 2

待解決。。。