[FTZ] training8
이번에는 새로운 파일을 생성하고, 소스코드를 만들어 컴파일하고 실행하는 방법을 설명합니다.
파일의 종류는 두 가지가 있습니다. 먼저, 일반 텍스트 파일입니다. 이것은 윈도우에서 우리가 메모장으로 생성한 .txt
의 파일이나 training을 하며 cat
명령으로 내용을 출력했던 파일들입니다. 다른 하나는 프로그램 소스파일입니다. 소스파일 역시 텍스트 파일이지만 보통 이 파일은 컴파일과정을 거쳐 실행 가능하도록 만든 후 사용합니다.
텍스트 파일 생성 방법
- 프롬프트에서
cat > [파일이름.txt]
명령을 입력합니다. - 파일의 내용을 입력합니다.
crtl + D를 눌러 입력을 멈춥니다.
위의 과정에서 알 수 있듯, 지금까지 파일이 내용을 보기 위해 사용했던 cat
명령이 파일 쓰기에도 사용됐다는 것을 알 수 있습니다. >
문자의 의미는 방향전환redirection 입니다.
방향전환을 한다는 의미를 살펴봅시다. 원래 cat
명령은 모니터에 명령수행 결과를 출력합니다. 하지만 방향전환을 함으로서, 모니터가 아닌 [파일이름.txt]
에 입력결과를 보냅니다. 즉, 출력의 방향을 전환한 것입니다.
텍스트 파일 내용 추가
직관적으로 생각해보면 cat > [추가할_파일이름.txt]
명령으로 기존 파일 내용에 새로운 내용을 덧붙일 수 있을 것 같지만, 실제로는 기존 내용이 모두 사라지고 새로운 파일이 생성됩니다. 기존의 내용을 보존시키면서 새로운 내용을 추가하려면 리다이렉션(>
)을 두 번 사용하면 됩니다.
소스코드 생성 및 컴파일
소스코드 또한 텍스트 파일처럼 생성할 수 있습니다. 하지만 컴퓨터가 해석할 수 있는 프로그래밍 언어로 작성을 한다는 것에 차이점이 있습니다. 이번 트레이닝에서는 C언어로 소스코드를 작성합니다.
1 | [trainer8@ftz trainer8]$ cat > program.c |
위의 과정을 끝내고 나면 현재 위치에 program.c
라고 하는 소스코드 파일이 생성되어 있습니다. 이제 이 소스파일을 컴파일해서 실행할 수 있는 프로그램으로 만들어줍니다.
1 | [trainer8@ftz trainer8]$ gcc -o program.exe program.c |
이는 gcc
라는 컴파일러를 사용해서 program.c
파일을 컴파일해서 program.exe
라는 실행파일을 만들라는 의미입니다. 아무 에러가 없다면 정상적으로 컴파일된 것입니다.
이제 우리가 만든 프로그램을 실행할 수 있습니다.
1 | [trainer8@ftz trainer8]$/home/trainer8/program.exe |
1 | [trainer8@ftz trainer8]$./program.exe |
위와 같이 입력하여 실행합니다. 두 표현의 차이는 첫 번째의 경우 절대경로를 입력하여 파일을 실행한 것이고, 두 번째는 상대경로를 입력하여 파일을 실행한 것에 있습니다.
FTZ training8 정리글을 마칩니다.
[FTZ] training8