앞으로 리눅스 환경에서 

C언어 코딩하고, 디버깅 해 볼 텐데..


그 때 필요한 리눅스 기초문법 그리고 vi 사용하여 C코팅-실행 해보기




 ls : LiSt 의 약자로 현재 위치에 뭐가 있는지 보는 명령어

       ls 입력시 파랑색 글자는 디렉토리, 흰색은 파일


 mkdir : 디렉토리 만드는 명령어 - MaKe DIRectory

           ex) mkdir 폴더명


 cd : Change Directory - 디렉토리 위치 변경

         현재 디렉토리는 ' ' 으로 표현

         상위 디렉토리 는 ' .. ' 으로 표현

         홈 디렉토리(자기 계정의 디렉토리) 는 ' ' 으로 표현

         루트 디렉토리(최상위 디렉토리) 는 ' / ' 으로 표현 

         [단, '/' 이 맨 앞에 있을 경우만 루트 디렉토리가 된다]



 디렉토리간 경계 구분은 '/' 로 한다 


 clear : 화면을 정리해 줘


 pwd : 현재 경로를 알려줘



===================== vi 사용하기 ===========================

 vi : 에디터를 실행시켜 줘 (메모장 같은거라고 보면됨)

        ex) vi hello.c // vi 소스코드명.c


1. vi를 사용할 때, 

   화살표키를 누를때 이상한 글씨가 들어가는 것을 방지하기 위해

   vi 를 보다 향상된 버전인 vim 으로 업그레이드 해줘야 한다.

   아래 코드를 터미널에서 반드시 입력해줘야.. 멘붕이 오지 않음 ㅋ


> sudo apt-get install vim


2. vi 는 기본적으로 2 가지 상태가 존재함

   입력 모드명령 모드로 분리가 됨


   입력 모드 로 들어가기 : ' i ' 혹은 ' a ' 키 누르기  확인방법 : 아래쪽에 -- INSERT -- 가 보임


   명령 모드 로 들어가기 :  ' esc ' 키 누르기

                                    이 후 에디터 빠져나가기  :wq  // 저장하고 빠져나가

                                                                     :q!  // 저장안하고 강제로 빠져나가


3. vi 에디터를 통해 소스코드를 넣었다면, 실행해 봐야 겠죠~! 

   먼저, 컴파일 하고요..

gcc 소스코드명 . c         

     ex ) gcc test . c


   그다음, 실행파일을 실행합니다

   컴파일이 정상적으로 되었다면 실행파일은 a.out 으로 생성됩니다 .. 실행방법은  

> . / a . out


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++


   컴파일 하는 또다른 방법 : 별칭을 정해 컴파일하기

>  gcc -o [만들고싶은소스코드명] [원조소스코드명 . c]

      ex ) gcc  -o  t1  test.c


   별칭을 통해 실행파일 시전..

> . / [별칭] 

    ex )  . / hello


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++


간혹 waring메세지 같이 .. 치명적인 error는 아니지만, 컴파일이 안되는 경우.. 

강제로 컴파일 하는 방법

gcc 소스코드명 . c   - lm       (마이너스 엘엠 이다)

    ex ) gcc test . c  -lm


 [참고] 여기서, gcc 란 GNU Compiler Collection 으로 , 온갖 종류의 프로그래밍 언어들을 다 컴파일 할 수 있다.









리눅스 잘 사용해 보셨나요? 


 종료  할 때는 

> sudo init 0


 재부팅  할 때

> sudo init 6

'C언어 기초 > 01주차' 카테고리의 다른 글

난수 생성 코드작성 해보기  (0) 2017.02.08
리눅스 내 한글사용을 위한 패치  (0) 2017.02.08
변수에 대하여.. 선언시 규칙  (0) 2017.02.03
overflow 와 underflow 에 대하여..  (1) 2017.02.02
데이터타입  (0) 2017.02.02

+ Recent posts