새로운 파일을 만들고, 컴파일하고, 그것을 실행시키는 방법을 배우자
실제로 해킹을 할때 사용되는 방법
파일에는 두가지 종류가 있다.
1.일반 텍스트 파일->글자로만 이루어진 파일
README.TXT 그런것이다.
이런 일반텍스트 파일은 cat 명령을 사용하여 내용을 출력한다!
2. 프로그램 소스 파일
프로그램 소스란 컴퓨터 언어로 입력한 파일.
텍스트 파일이긴 하지만 cat을 사용하여 내용을 보는 것이 아니고
컴파일을 거쳐 실행이 가능하도록 만든 후 사용.
텍스트 파일 생성 방법
1. 쉘 프롬츠트 상태에서 cat > 파일이름.txt라고 입력
2.원하는 내용을 써내려간다.
3.컨트럴키와 D키를 동시에 누른다.
위와 같은 과정을 거치면 새로운 파일이 생성이 된다.
> 이것은 리다이렉션이라고 읽으며 방향을 전환한다 라는 뜻을 가지고 있다.
리눅스에선 보통 실행결과를 모니터로 출력을 한다
예를 들어 그냥 cat 이라고 입력한 후 아무 글자나 마구 입력하면, 그대로 모니터로 나타난다.
리다리엑션=방향을 바꾸다.
이제 리다이렉션을 사용하여, 그 입력결과를 모니터가 아닌 파일로 보내버립니다.
출력의 방향을 전환한 것이다.
> 이것은 왼쪽으로 방향이 향하고 있다. 왼쪽에서 출력되는 것을 받아서 오른쪽의 입력으로 보내버리겠다.
cat > 파일이름.txt -> cat 명령을 사용하여 입력하는 모든 글자들을 모아서 파일이름.txt로 보낸다.
리눅스에서 스탑을 의마하는 Ctrl+D키 누르면 입력한 글자들이 들어있는 파일이름.txt가 생성된다.
ls -al test.txt 하면 test.txt가 생성되었는지 확인을 할 수 있다.
그 다음
cat test.txt를 해서 test.txt에 어떤 내용이 있는지 확인 할 수 있다.
나중에 편집기를 사용하면 더 빠르고 쉽게 파일을 생성할 수 있다.
리다이렉션을 연속 두번 사용하는 방법
만약 지금처럼 서버에 test.txt라는 파일잉 있을 때, cat > test.txt라고 입력을 하면
기존의 내용은 사라지고 새오룬 내용르호 팡링이 다시 만들어진다.
기존의 내용은 보존시키면서 글자를 써 넣으려면 어떻게 해야 할까?
리다이렉션을 두번 사용하자
cat >> test.txt 라고 입력을 하면, test.txt의 뒤에 새로운 내용은 추가시킬 수 있다.
cat >> test.txt라고 입력을 하고, 말들을 적고 엔터를 한번 누른 다음에 컨트럴 키와 D 키를 누르면 된다.
지금까지 보통 텍스트 파일을 만드는 방법을 배워보았다.
이번엔 프로그램 소스 파일을 만들고, 컴파일, 그리고 그것을 실행하는 방법까지 배워보자.
먼저 소스를 만드는 방법은 일단 텍스트를 만드는 방법과 똑같다.
하지만그냥 한글이나 영어가 아니고 컴퓨터가 알앋아 들을 수 있는 C언어로 작성을 한다는 차이점이 있다.
이제 간단하게, 10+20을 계산하여 출력하는 프로그램을 같이 만들어 보자.
cat > program.c 라고 입력!
그 다음 소스를 입력한다.
이것이 프로그램 소스이다.
우리는 컴파일이라는 과정을 거쳐서 소스를 프로그램으로 만든다.
컴파일 하는 방법은 다음과 같다.
쉘 프롬프트에 다음과 같이 입력한다.
gcc -o 프로그램이름 소스파일이름
program.c를 program.exe로 만들어 보자-> gcc -o program.exe program.c ->컴파일하는 법
도스에서는 파일을 실행 시킬 때 ,그냥 그 디렉토리로 이동한 다음에 파일이름만 입력하면 실행이 되었다.
리눅스에서는 파일이 있는 절대경로를 모두 입력시켜줘야 한다.
절대경로란 최상위 디렉토리인 루트(/)에서부터 시작되는 경로를 말한다.
ex) cd /home/guest/public_html
리눅스에는 상대경로라는 것도 있는데 이것은 자신이 위치한 디렉토리를 기준으로 경로를 따지는 것을 말한다.
ex) cd public_html/
절대경로를 보는 방법은 pwd
pwd
->
/home/trainer8
이면
/home/trainer8/program.exe
즉, 소스입력, 컴파일, 절대경로확인, 절대경로/program.exe를 입력
리눅스에선 '.'이 현재 디렉토리를 의미한다
따라서, 절대경로를 쭈욱 쓰지 않고도 이 . 을 사용하면 아주 간단하게 프로그램을 실행시킬 수 있다
./program.exe