기초 리눅스 api 컴파일 방법

기초 리눅스 api 컴파일 방법

해커스쿨의 FTZ 프리트레이닝존의 Trainer로 단계별 리눅스 기초 명령어 자료입니다.

1부터 10까지의 트레이닝이 있습니다.  해커스쿨 바로가기

2017/09/09 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어1 ls

2017/09/10 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어2 pwd, cd, mkdir, rmdir, cp, rm, mv

2018/01/07 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어 3 터미널(콘솔)과 네트워크에 관한 명령어

2018/01/08 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어 4 정체불명의 디렉토리들과 파일들에 대하여 파헤쳐 보자.

2018/01/09 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어 5 정보수집하기

2018/01/10 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어 6 패스워드 파일 분석하기

2018/01/11 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어 7 tar의 비밀 ( .tar.gz )

2018/01/11 - [운영체제/리눅스 기초 명령어] - 리눅스 기초 명령어 8 텍스트 파일과 프로그램 소스파일 만든 후 실행하기

2018/01/12 - [운영체제/리눅스 기초 명령어] - 리눅스 기본 명령어 9 해킹의 핵심!! 권한

2018/01/12 - [운영체제/리눅스 기초 명령어] - 리눅스 기본 명령어 10 Local 해킹 , SetUID

2018/01/12 - [운영체제/리눅스 기초 명령어] - 리눅스 기본 명령어 11 마무리

2018/01/12 - [운영체제/리눅스 기초 명령어] - 리눅스 기본 명령어 12 총 요약 정리

2018/01/08 - [자격증/정보] - 2018년 리눅스마스터 시험일정 1,2급

리눅스 기초 명령어 8 텍스트 파일 또는 프로그램 소스파일 만든 후 실행하기

새로운 파일을 만들고, 컴파일하고, 프로그램을 실행시키는 방법에 대하여 배워보겠습니다.

이 과정들은 실제로 해킹을 할 때 빠짐없이 사용되는 방법이니 잘 익혀두시기 바랍니다.

파일에는 크게 두 가지 종류가 있다.

첫째, 일반 텍스트 파일로 말 그대로 글자로만 이루어진 파일이다.

예를 들어 "README.TXT" 같은 파일이며 확장자는 .txt가 된다.

일반 텍스트 파일은 cat 명령을 사용하여 내용을 출력한다.

   둘째, 컴퓨터 언어로 입력한 프로그램 소스 파일이다.

이 파일도 텍스트 파일이지만, cat를 사용하여 내용을 보는 것이 아니다.

컴파일이란 과정을 거쳐 실행을 한다.

1. 일반 텍스트 만들기.

1) 쉘 프롬프트 상태에서, cat > 파일이름.txt 라고 입력한다.

2) 원하는 내용을 써 내려간다.

3) ctrl + d 키를 누른다.

-      cat > 파일이름.txt에서 >리다이렉션이라 읽으며 방향을 전환한다라는 뜻을 가지고 있다.

리눅스에서는 보통 실행결과를 모니터로 출력한다. 예를 들어 그냥 cat이라고 입력한 후 아무 글자를 입력하면 그대로 모니터로 나타난다.

그 입력 결과가 모니터가 아닌 파일로 보내버리기 위해서는 리다이렉션(>)를 입력해야 한다.

리다이렉션을 사용하여 그 입력 결과를 모니터가 아닌 파일로 보낸다.

, 출력 방향을 전환한다는 뜻이다.

‘>’ 이것은 왼쪽으로 입을 ~” 하고 벌리는 것을 연상하여 해석하면 나는 왼쪽에서 출력 된 것을 받아 오른쪽의 입력으로 보낸다.’가 된다.

우리가 cat 명령을 사용하여 입력하는 모든 글자들을 모아서 파일이름.txt로 보낸다.

-      리눅스에서 이제 그만!!” 이라는 의미를 하는 컨트롤 + d키를 누르면 입력한 글자들이 파일이름.txt가 생성되어 입력이 된다.

텍스트 파일 생성

[trainer8@ftz trainer8]$ cat > test.txt

안녕하세요. JFree입니다.            // 여기에서 컨트롤 + D 키를 누른다.

텍스트 파일 출력

[trainer8@ftz trainer8]$ cat test.txt

안녕하세요. JFree입니다.

-      리다이렉션을 한번 사용하면 무조건 파일을 새로 생성한 후에 입력이 된다.

새로 생성한 후에 입력이 아니라 기존에 있는 파일에 내용을 추가하려면 어떻게 해야할까?

정답은 리다이렉션을 두번 사용하는 것이다.

test.txt 라는 파일이 있을 때 cat >> test.txt라고 입력하면 된다.

추가로 쓰기

[trainer8@ftz trainer8]$ cat test.txt

추가한 문구입니다.          // 여기에서 ctrl + d를 눌러 중지한다.

텍스트 파일 출력

[trainer8@ftz trainer8]$ cat test.txt

안녕하세요. JFree입니다.

추가한 문구입니다.

-      cat 명령어가 아닌 텍스트 편집기로도 조금 더 쉽게 텍스트파일을 만들 수 있으니 검색하여 찾아보고 참고하자. (vi, nano 등등)

2. 소스 파일 만들고 실행하기.

1) 쉘 프롬프트 상태에서, cat > 소스파일이름.c 라고 입력한다.

2) 원하는 내용을 써 내려간다.

3) ctrl + d 키를 누른다.

-      소스를 만드는 방법은 일반 텍스트를 만드는 방법과 똑같다.

-      그러나 일반 텍스트 들이 아닌 프로그램이 동작할 수 있는 컴퓨터 언어를 사용해야 한다. (C, JAVA 등등)

컴퓨터 언어로 프로그래밍을 할 경우 컴파일을 거쳐 프로그램을 실행해야 한다.

10 + 20을 계산하는 출력 프로그램 만들기(C언어)

[trainer8@ftz trainer8]$ cat > program.c

#include <stdio.h>

int main(){

int a = 10, b = 20;

printf(“10 + 20 = %d”, a + b);

}                  // 여기에서 ctrl + d로 끝내기

10 + 20을 계산하는 프로그램 컴파일

[trainer8@ftz trainer8]$ gcc -o program.exe program.c

10 + 20을 계산하는 프로그램 실행하기

[trainer8@ftz trainer8]$ /home/trainer8/program.exe

10 + 20 = 30

ü  컴파일의 경우 gcc 명령어를 사용한다.

gcc c언어 컴파일 하는 명령어다.

사용법 : gcc -o 프로그램이름 소스파일이름

ü  리눅스에서 파일을 실행 할 경우 절대 경로를 입력해야 한다.

절대경로란 최상위 디렉토리인 루트(/)에서부터 시작되는 경로를 말한다.(ex. cd /home/guest/public_html/)

절대경로는 pwd 명령어로 확인 할 수 있다.

ü  상대경로를 통하여 프로그램을 실행 할 수도 있다.

상대경로는 자신이 위치한 디렉토리 기준으로 경로를 따지는 것이다.(ex. cd public_html/)

리눅스에서는 . 현재 디렉토리를 의미한다.

따라서 절대경로를 안쓰고 .를 사용하여 간단하게 프로그램을 실행 시킬 수 있다.

./ program.exe를 입력해도 똑같은 실행 결과를 얻을 수 있다.

VBA, JAVA, JSP, 안드로이드 등등 프로그래밍 개발 질문받습니다. 소통개발자! 소통합시다. 의뢰, 문의, 혹은 잡담, 상담 등 무슨말이던 소통합시다! !!!

소통은 방명록, 아래 댓글이나 오른쪽 하단에 '소통방'을 이용해주시면 감사합니다.