리눅스에서 기본적인 C 또는 C++ 컴파일 하기


윈도우즈에서는 일반적으로 Visual C++로 소스 코드를 작성하고 컴파일을 한다. 그리고 무료 컴파일러를 안다면 Dev C++ 또는 Eclipse을 사용하기도 한다.

리눅스도 마찬가지로 이러한 IDE(Integrated Development Environment)를 가지고 있다. Eclipse는 윈도우즈 뿐만 아니라 리눅스도 지원하고 있으며, 다른 IDE로는 Code::Blocks, KDevelope 등이 있다.(추가적인 것은http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments 참조)

하지만 여기서는 이러한 잡다한(?) 기능이 많이 들어 있는 IDE보다는 콘솔 창에서 gcc를 이용하여 컴파일하는 방법에 대해서 소개하겠다.



그 전에, 소스를 코딩해야 하는데, 만약 윈도우즈를 포함하여 위 IDE들이 없다면 아주 단순한 텍스트 에디터에서 코딩을 해도 된다.

C 소스 또한 텍스트 문자로 되어 있는 텍스트 파일이기 때문이다. 즉, 윈도우즈에서 메모장을 열고 소스를 코딩한 다음 .c 파일로 저장을 해도 c 소스 파일이 된다. 다만, 메모장 같은 단순한 텍스트 에디터의 경우 코딩을 하는데 많이 불편하기 때문에 안쓰는 것 뿐이다.
(윈도우즈에서 추천하는 고급 텍스트 에디터로는 Notepad++ 나 UltraEdit 등을 사용하면 된다.)

리눅스 또한 마찬가지로 기본적으로 내장되어 있는 텍스트 에디터를 사용하면 된다. 거의 모든 리눅스 배포판에 있는 텍스트 에디터로는 Vi나 Emacs 가 있다.

그러나 이들 에디터는 예전부터 쓴 만큼 당연히 GUI 에디터가 아니다. 따라서 이들 에디터는 윈도우즈 메모장처럼 바로 쓰기에는 약간 불편하다.(하지만 익히고 나면 매우 편리하고, GUI가 아닌 환경에서도 매우 강력하게 쓸 수 있다는 장점이 있다.)

우분투(Gnome 계열)의 경우 Gedit 이라는 기본 에디터가 있고, 쿠분투(KDE 계열)의 경우 Kate 라는 기본 에디터가 존재한다.

이들 에디터들은 메모장보다는 더 많은 기능이 포함되어 있고, 프로그래밍을 도와줄 수 있도록 문법 강조 기능이나 들여쓰기 기능들이 존재한다.

Gedit이나 Kate 모두 메뉴 설정에 강조 기능이 존재해서, 적절한 언어를 선택해주면 문법 특징들을 강조해준다. Kate의 경우에는 더 기능이 강력하여 들여쓰기 및 정렬 기능까지 존재한다.

어쨌든, Vi나 Emacs를 쓰면 좋겠지만, 당장 코딩을 해야 하거나 앞의 에디터들이 불편하다면 Gedit이나 Kate를 사용해도 된다.



이제, 소스 코딩을 할 수 있는 에디터를 알았으므로 코딩을 완료하고 소스 파일을 저장하자.

그 다음 gcc를 이용해서 소스를 컴파일하면 되는데, 먼저, gcc가 있는지 확인해보자.

우분투의 경우 프로그램에서 터미널을 열고(쿠분투는 Konsole) gcc -v 를 입력하여 gcc의 버전이 출력되는지 확인해보자. 버전이 출력된다면 gcc가 있는 것이고 출력 되지 않는다면 gcc가 없다는 것이다.

우분투 10.10의 경우 기본적으로 내장되어 있지만 쿠분투의 경우 gcc가 설치되어 있지 않으므로 KPackageKit에서 gcc를 검색하여 설치를 해주자.

sudo apt-get install gcc    // c 컴파일러 설치

sudo apt-get install g++    // c++ 컴파일러 설치

이제 gcc 까지 준비가 되었으므로 컴파일을 해보자.

컴파일을 하려면 소스 파일이 있는 위치를 알려줘야 하는데, 파일이 있는 위치를 알려주기보다는 직접 이동한 후 그 위치에서 명령을 입력하는 것이 더 편하므로 폴더를 먼저 이동하자.

폴더를 이동하는 방법은 cd(change directory) 명령이다. "cd 폴더 경로"를 입력해주면 그 폴더로 이동이 된다.

예를 들어 cd /usr/share 라고 쳐주면 최상위 폴더인 / 폴더 내에 usr 내에 share 폴더로 이동한다.(참고로 윈도우즈는 최상위 폴더가 C 드라이브이지만 리눅스는 루트 폴더인 / 이다.)

또는, "cd 폴더" 만 입력해주어도 현재 위치에 있는 폴더로 이동하게 된다.

참고로 폴더 경로에서 ..은 상위 폴더를 의미하고, . 은 현재 폴더를 의미한다. 즉, /usr/..의 의미는 / 와 같다. 그리고 이후에 파일을 실행할 때 ./ 을 입력하게 되는데, 이것은 현재 폴더를 의미한다. 즉, ./file 은 현재 폴더에 있는 file을 의미하게 된다.



이제 폴더를 이동했으니, 진짜 컴파일을 해보자. 기본적인 gcc 컴파일 방법은 gcc file이다. 그러면 소스 파일을 컴파일하여 실행 파일 하나를 내놓는데, 기본 이름이 a.out으로 되어 있다.

만약, 이것을 실행하고자 한다면 ./a.out 을 입력해주면 된다.

간단하게 이렇게 컴파일하고 이름을 변경해도 되지만 좀 더 강력한 기능을 사용하기 위해 다음과 같이 컴파일할 수 있다.

gcc -W -Wall -O2 -o file src1.c src2.c


위 명령어는 src1.c 와 src2.c 파일을 컴파일 해서 file 이라는 이름으로 실행 파일을 만들으라는 것이다.

-W 와 -Wall 옵션은 경고를 출력하라는 의미인데, 이것을 붙이지 않으면 에러일 경우에만 gcc가 컴파일을 중단하고 출력을 해준다. 경고도 보기 위해서는 위 옵션을 적절하게 사용하면 된다.

그리고 -O2 는 최적화 옵션으로 2단계 최적화를 하겠다는 것이다. 옵션 종류로는 -O0, -O1, -O2, -O3, -Os 가 있다. 가장 많이 쓰는게 -O2이고, -O0 는 최적화 하지 않겠다는 것으로 기본값이다.

위와 같이 소수의 파일만 있을 때는 저러한 명령으로 컴파일 해도 되지만 c 파일이 많아 진다면 파일 명을 입력하는 것이 귀찮아질 것이다.

간단하게 src1.c src2.c 부분을 *.c 로 고쳐주면 현재 폴더 내의 모든 c 파일을 컴파일하게 된다.
(참고로, .h 파일은 추가해주지 않아도 링커가 알아서 연결해준다.)

그리고 gdb(디버거)를 사용하게 된다면 -g 옵션을 추가해서 디버깅 정보를 삽입하도록 명령을 내릴 수 있다.

이 정도만 알고 있어도 C를 공부하거나 간단하게 컴파일할 때 바로 적용하여 사용할 수 있다.

참고로 위 명령어를 계속 쓰다보면 당연히 지루하고 불편한 작업이 될 수 밖에 없다. 따라서 나같은 경우 위 명렁어를 하나의 별칭으로 지정해서 간단하게 사용한다.

홈 폴더(계정 폴더)에 .bash_aliases 파일(.을 반드시 붙여주자)을 생성한 다음 그곳에 다음 내용을 추가해주자.


alias fgcc='gcc -g -Wall -W -O0 -o ./file ./*.c'

그러면 fgcc 명령만 입력하더라도 현재 폴더 내에 있는 모든 C 파일을 컴파일 하여 실행 파일 file로 만들게 된다.


위 명령에서 필요한 부분을 적절하게 변경해서 사용하며 된다.

마지막으로 C++에서도 gcc와 똑같이 사용하면 되는데, gcc 대신 g++를 사용하면 된다.



이 외에 더 필요한 것들은 gcc 맨페이지(man gcc 명령)를 참고하여 사용하면 된다.

그리고 큰 프로젝트처럼 파일 종류가 많아지고, 폴더까지 필요해진다면 makefile을 작성하여 사용하면 된다.


출처 : http://blog.bluekyu.me/2011/03/c-c.html

'Linux > Common' 카테고리의 다른 글

터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 ps 명령 프로세스  (0) 2012.12.25
쉘에서 간단한 명령내리는 프로그램  (0) 2012.05.02
리눅스의 디렉토리 구조  (0) 2012.05.02
Posted by scii
:

vi editor

Vim/Tutorial 2012. 5. 2. 00:36 |

vi editor 사용법


vi의 실행은 한글 환경에서 vi를 입력하면 되고,
콘솔모드에서 한글을 다루려면, han을 먼저 입력한 뒤, 
vi를 입력하면 됩니다. 
vi를 실행시키는 방법은 간단합니다. 
셸상에서 'vi'라고 입력하고 Enter 키만 누르면 된다.
그러면 새로운 문서를 편집할 수 있는 환경이 만들어 집니다. 

예) >vi 

기존의 문서를 편집하고자 할 때에는 파일의 이름을 구체적으로
명시합니다. 

예) >vi file1 

지정한 파일의 내용을 읽기 전용으로 열어서 볼 때는 다음과 같이 
명시합니다. 

예) >vi -R file 

>view file 

★ vi의 세가지 모드 

vi명령어는 다음과 같이 입력 모드, 명령 모드, 콜론 모드(ex 모드) 크게 세가지로 분리됩니다.

① 입력 모드  -  i, a, o, I, A, O를 누른 후 텍스트를 입력할 수
있는 상태 

② 명령 모드(Esc모드) - ESC키를 누른 상태 

③ 콜론 모드(Ex모드) - ESC키를 누르고, :(콜론)을 입력한 상태 

ⅰ 입력 모드 - 다른 편집기에서 타이핑을 하여 파일의 내용을 입력하는 과정 

ⅱ 명령 모드 - 다른 편집기의 편집(Edit) 메뉴에서 제공하는 복사(Copy), 붙이기(Paste),삭제(Delete) 등의 편집 기능의 활용 

ⅲ 콜론 모드(ex 모드) - 다른 편집기의 파일(File) 메뉴에서 수행하는 열기(Open), 저장 (Save), 다른 이름으로 저장(Save as) 등의 명령 수행 

vi는 실행될 때 명령 모드에서 시작하고, 실행을 종료할 때에는 콜론 모드에서 종료 명령을 수행합니다. 
또한 vi는 대문자와 소문자 구분을 확실히 해두어야 한다는 것을 유념합시다. 


(1) 입력 모드 

 글자를 입력하기 위해서는 입력모드로 가야하는데, 'i'를 입력하면, 하단에 --INSERT--가 나오면서, 글자를 입력할 수 있는 입력모드로 바뀝니다. 

입력 모드로 들어가는 대표적인 방법은 i 키를 누르는 것이지만, 이외에도 몇 가지 방법이 더 있습니다. 이렇듯 다양한 종류의 글 삽입 방법을 만들어놓음으로써 키보드 타이핑 횟수를 최대한 줄일 수 있는 이점을 지닙니다. 이것은 모드 방식 편집기의 특성일 수도 있고, 유닉스 프로그래머들의 독특한 문화일 수도 있겠지요. 

- i : Insert, 현재 커서의 위치에 글자를 삽입 

I : Insert, 커서가 있는 줄(line)의 맨 앞에 글자를 삽입 

- a : Append, 현재 커서 위치의 다음 칸에 글자를 추가 

A : Append, 커서가 있는 줄(line)의 맨 뒤에 글자를 추가 

o : Open line, 현재의 줄 다음에 새로운 줄을 삽입 

: Open line, 현재의 줄 앞에 새로운 줄을 삽입 

vi 파일명 으로 문서작성 형식으로 들어가 i를 누른 후, 아래 쪽에 INSERT표시가 생긴 후 글을 입력시킨 형태입니다. 

일단, 입력 모드로 전환되면, 커서의 현재 위치에서 입력 명령에 따라 여러 가지 내용을 입력할 수 있습니다. 영/한 변환은 Shift+Spacebar를 입력하면 됩니다. 

아직까지는 단순히 글을 치고 Enter 키를 이용해 줄을 바꾸는 일밖에 할 수 없습니다. 화살표 키를 이용해 커서의 위치를 바꾸어 입력하는 것은 가능합니다. 

편집은 대부분 명령모드 상태에서 이루어 집니다. 

(2) 명령 모드 

 입력 모드에서 명령 모드로 다시 전환하려면 Esc 키를 누르기만 하면 됩니다. ESC 키를 누르고 문자를 입력하려고 하면 비프음만 날 뿐 입력은 되지 않을 것입니다. 

리눅스에서는 명령모드가 따로 있습니다. 명령모드는 편집모드라고도 하는데, 글을 입력시키는 방법이 아닌 수정과 편집을 할 수 있는 상태임을 기억해 두어야 합니다. 즉, 명령모드에서는 복사,삭제, 붙이기. . .등의 작업이 이루어 집니다. 또한, 입력모드를 통해 삽입 등 잘못된 명령을 내렸을 때 'u'라는 명령어를 통해서 Undo, 즉 복구가 가능하게 할 수 있습니다. 

(3) 콜론 모드 

 명령모드에서 콜론 모드로 전환하려면 ':'명령을 실행시키면 됩니다. 콜론 모드는 vi에서 사용할 수 있는 명령어들을 이용하는 곳입니다. 윈도우 환경에서라면 메뉴 바와 같은 역할을 한다고 볼 수 있습니다. 파일을 저장하거나 vi를 종료하는 등의 일을 수행할 수 있습니다. 콜론 모드로 들어가려면 Esc를 누른 후 ":"를 누르면 됩니다. 콜론 모드에 들어가게 되면 화면 아래쪽에 ':' 표시가 나타나게 되며, 여기서 원하는 작업에 해당하는 명령을 입력하고 Enter 키를 치면 됩니다. 아래 그림에서 아래쪽에 ":wq"라는 표시가 눈에 뜨일 것입니다. ":" 이 상태가 바로 앞에서 말한 콜론모드의 형태입니다. 

[3] 종료 

종료 명령은 앞에서 잠깐 콜론 모드에서 이루어 집니다. 

편집한 데이터를 저장하고 종료하려면, wq(Write and Quit)를 입력합니다. 

예) :wq 

저장하지 않고, 강제로 종료하려면, q!(Quit!)를 입력합니다. 

예) :q! 

vi를 끝내지 않고, 현재 작업 중인 내용을 저장만 하려면, w를 입력합니다. 

예) :w 

:wq에 대한 예 

★ vi명령어의 간단한 문법 

(반복횟수)(편집명령)(반복횟수)(커서이동명령)

현재의 위치에서, 커서이동명령의 내용순서대로, 문서의 임의위치로 이동하는 순간, 편집명령어의 내용이 수행됩니다.

★ 정규표현식의 특수 기호들 

: 한글자를 대표하는 기호 (dos 의 ? 와 동일) 

* : 여러개의 문자를 동시에 대표하는 기호 

^ : 줄의 처음시작 

: 줄의 맨끝 

% : 처음줄부터 끝줄까지 

- : 특수한 기호들이 가지는 뜻을 없앨때 사용 

< : 단어의 시작과 대응합니다 

> : 단어의 끝과 대응합니다 

- [^] : 묶여진 문자를 제외한 아무것이나 대응합니다 

: 이어지는 기호를 문자 그대로 해석합니다 

[ ] : 일정한 제한을 두어 글자를 대표하고자 하는 기호 

[a-z] : a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z 를 대표 

- [A-Z] : A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z 를 대표 

[AB] : A 또는 B 

p[aeiou]t : pat, pet, pit, pot, put 를 대표 

[0-9] : 0,1,2,3,4,5,6,7,8,9 를 대표 

★ 명령 모드(ESC 모드)에서 사용되는 몇가지 기호 

- 다음과 같은 기호는 기본적인 것으로 필수적으로 알아두시기 바랍니다. 

G : 화일의 맨끝으로 

: 현재줄의 맨앞 (빈칸무시)으로 

0 : 현재줄의 맨앞으로 

$ : 현재줄의 맨 뒤로 

% : 짝을 이루는 기호 확인 

w : 다음 단어로 

b : 이전 단어로 

e : 현재 단어의 끝 글자 

★ 커서 움직이기 

- 명령모드 상태에서 커서를 마음대로 움직일 수 있습니다. 

① 글자 단위 이동 

h : 커서를 한칸 왼쪽으로 이동하는 명령 

- j : 커서를 한줄 아래로 이동하는 명령 

k : 커서를 한줄 위로 이동하는 명령 

- l : 커서를 한칸 오른쪽으로 이동하는 명령 

Backspace : 커서를 한칸 왼쪽으로 이동하는 명령 

Space : 커서를 한칸 오른쪽으로 이동하는 명령 

② 줄 단위 이동 

^ : 빈칸을 무시하고, 커서를 현재 줄의 첫글자로 이동하는 명령 

0 : 커서를 현재줄의 처음으로 이동하는 명령 

$ : 커서를 현재줄의 맨끝으로 이동하는 명령 

% : 짝을 이루는 기호 확인하기 

+ : 커서를 다음줄의 처음으로 이동하는 명령 

- : 커서를 이전 줄의 처음으로 이동하는 명령 

- Return : 커서를 다음줄의 처음으로 이동하는 명령 

n| : 현재줄의 n 번째 열로 (n은 임의의 숫자) 

H(Home) : 커서를 화면상에 처음줄로 이동하는 명령 

M(Middle) : 커서를 화면상에 중간줄로 이동하는 명령 

L(Last) : 커서를 화면상의 마지막줄로 이동하는 명령 

nH : 화면상의 처음줄로부터 n 줄 밑으로 이동(n은 임의의 숫자) 

nL : 화면상의 마지막줄로부터 n 줄 위로(n은 임의의 숫자) 

g(Go) : 파일의 마지막 줄로 이동하는 명령 

nG : n번째 줄로 건너뛰는 명령 

gg : 맨 마지막줄로 

ngg : n 번째줄로 

n : n 번째줄로 

③ 단어 단위 이동 

w(word) : 커서를 다음단어의 첫글자로 이동하는 명령 

- b(back) : 커서를 이전단어의 첫글자로 이동하는 명령 

e(end) : 커서를 다음단어의 끝 글자로 이동하는 명령 

E : ?, ! 등 구두점을 무시하고, 현재 단어의 끝으로 이동 

) : 다음 문장의 시작으로 이동하는 명령 

( : 이전 문장의 시작으로 이동하는 명령 

} : 다음 문단의 시작으로 이동하는 명령 

{ : 이전 문단의 시작으로 이동하는 명령 

]] : 다음 섹션의 시작으로 이동하는 명령 

[[ : 이전 섹션의 시작으로 이동하는 명령 

④ 화면단위 이동 

- vi에는 스크롤 기능이 없는 대신 화면 단위로 이동하는 명령어들이 있습니다. 

Control + F (Forward) : 한화면 밑으로 이동

- Control + B (Backward) : 한화면 위로 이동

Control + D (Down) : 반쪽화면 밑으로 이동

Control + U (Upon) : 반쪽화면 위로 이동

Control + E : 커서는 현재위치 그대로 화면만 한줄씩 위로 이동

Control + Y : 커서는 현재위치 그대로 화면만 한줄씩 아래로 이동 

: 커서의 위치와 함께, 화면상의 맨위로 

nz : n번 라인을 화면상의 맨위로 

z : 커서의 위치와 함께, 화면상의 중간으로 

z- : 커서의 위치와 함께, 화면상의 맨아래로 

 - Control + G : 현재 편집하고 있는 문서의 상태를 알 수있다

Control + L : 화면 재표시 (글자가 깨졌을 경우; 윈도의 F5와 비슷) 

Control + R(edraw) : 화면 재표시 (글자가 깨졌을경우) 

★ 편집하기 

① 복사, 붙이기, 합치기 

y (Yank) : 복사하기 

yy : 한 줄 전체의 내용을 복사한다 

2yy : 두줄복사 

nyy : 현재 줄 이하로 n개의 줄을 복사한다 (n은 임의의 숫자, 2yy는 2줄 복사) 

ynw : n개의 단어를 복사한다(y2w는 두 개의 단어를 복사) 

yw : 한단어 복사 

y2w : 두단어 복사 

y$ : 현재 위치에서 그 줄의 끝까지 복사한다 

- y0(y^) : 현재 위치에서 그 줄의 처음까지 복사한다 

yG : 현재 위치에서 파일의 끝까지 복사한다(G는 파일의 마지막 줄) 

- Y : 한 줄 전체의 내용을 복사한다 (yy 와 동일) 

 마지막 명령어의 반복 - . : 마지막에 수행한 명령어를 반복한다. 

2. : 명령어를 2번 반복한다. 

p (Put or Paste) : 붙이기 

p : 버퍼에 저장된 내용을 커서의 오른쪽으로 붙여 넣는다. 

2p : 아래로(오른쪽으로) 두번 붙이기 

np : n번만큼 p 명령을 반복. 2p라면 버퍼의 내용을 두 번 붙여넣는다 

P : 위로(왼쪽으로) 붙이기 

2P : 위로(왼쪽으로) 두번 붙이기 

nP : 버퍼에 저장된 내용을 커서의 왼쪽으로 붙여넣는다. 사용법은 p와 같다 

xp : 두 문자를 바꾸는 명령 

deep : 두 단어를 바꾸는 명령 

ddp : 두 줄을 바꾸는 명령 

J(Join) : 여러 줄의 내용을 한 줄로 합친다 

J : 현재줄을 윗줄에 붙인다. (두줄 합치기) 

nJ : n개의 줄을 합쳐 한 줄로 만든다. 커서는 원본 문서의 마지막 줄의 첫번째 위치(합쳐진 줄에서는 중간)에 놓인다. 5J는 5줄로 이루어진 내용을 한 줄로 만든다 

아래 화면은 xp와 J를 실행한 예시입니다. 

우선 xp를 실행했을 경우부터 살펴봅시다. 기존의 "어때요?" 중 "어"에 커서를 놓고, 명령모드로 전환 후, xp를 누릅니다. 그럼 "때어요"로 문귀가 바뀝니다. 다음은 J를 실행해 봅시다. J가 대문자임을 명심해야 합니다. 
리눅스에서 주의할 사항은 대문자와 소문자를 구별하는 것. j를 누르면서 안된다고 투덜되면 곤란합니다. 셋째줄 끝에 커서를 놓고, 명령모드에서 J를 누르면, 넷째줄에 있던 내용이 셋째줄에 붙습니다. 

② 지우기, 복구하기, 바꾸기 

dnw : n개의 단어를 지운다 

d$ : 커서가 있는 위치에서 그 줄의 끝까지 지우기 

D : 커서부터 줄의 끝까지 삭제합니다. (d$ 와 동일) 

- d (Delete) : 지우기 

dd : 현재커서가 위치한 줄의 전체를 삭제합니다. 

2dd : 두줄지우기 

ndd : n줄지우기 (n 은 임의의숫자) 

dw : 한단어 지우기 

d2w : 두단어 지우기 

d0(d^) : 그줄 처음까지 지우기 

dG : 커서가위치한 곳으로 부터 문서 끝까지 지우기 

d move : 커서가 위치한 곳부터 move까지 삭제 

dlG : 커서가 위치한 곳으로부터 편집버퍼의 맨앞까지 삭제. 

- :lined : 지정한 줄을 삭제

- :line, lined : 지정한 범위를 삭제

- u (Undo) : 되살리기 명령으로 버퍼에 저장되어 있는 원래의 내용을 복구

u : 한번복구하기 

- 'nu' : (n은 임의의 숫자) 형식으로 사용하며, n 단계까지의 명령을 복구할 수 있다 

2u : 두번복구하기 

c (Change) : 바꾸기

cc : 한줄 바꾸기

2cc : 두줄 바꾸기 

ncc : n개의 줄 바꾸기(n은 임의의 숫자) 

cw : 한단어 바꾸기 

ce : 공백을 제외하고 한단어를 바꾸기 

c2w : 두단어 바꾸기 

c$ : 그 줄 끝까지 바꾸기 

c0(c^) : 현재 위치에서 파일의 끝까지 바꾼다

c : 그 줄 끝까지 바꾸기 (c$)와 동일

cmove : 커서부터 move까지 변경

r (Replace) : 한글자 바꾸기

2r : 두글자 바꾸기

 r 명령어는 insert 모드로 바뀌지 않는다. 

R : 바꾸면서 삽입이 아닌 수정(modify) 모드로 들어간다. 윈도에서 Insert 키를 누르고 수정 상태로 들어가는 것과 같다 

s : 한글자 지우고 insert 모드로 - cl 와 동일 

S : 한줄지우고 insert 모드로 - cc 와 동일 

~ : 대문자 < - > 소문자 바꾸기 - 영문자에만 해당 

 지우기와 바꾸기의 차이점은 바꾸기는 명령어 후에 vi 편집모드로 바뀐다. 


★ 찾기

/요 : 현재 위치에서 아래쪽 방향으로 '요'라는 단어를 찾는다 

?요 : 현재 위치에서 위쪽 방향으로 '요'라는 단어를 찾는다 

/ : 단어 찾기를 반복한다(위에서 아래쪽 방향으로) 

n : 단어 찾기를 반복한다(아래쪽 방향으로) 

? : 단어 찾기를 반복한다 (아래족에서 위쪽 방향으로) 

N : 단어 찾기를 반복한다 (위쪽 방향으로) 

fx : 현재줄에서 x문자 찾기 - x 는 한개의 글자

Fx : 현재줄에서 반대방향으로 x문자 찾기 - x 는 한개의 글자 

tx : 현재줄에서 x문자를 찾아서 바로전에 커서놓기 

Tx : 현재줄에서 반대방향으로 x문자를 찾아서 바로후에 커서놓기 

- ; : 현재 줄에서 글자 찾기를 반복한다(뒤로) 

' : 현재 줄에서 글자 찾기를 반복한다(앞으로) 

 찾기와 편집명령의 응용 

d/simple : simple 이라는 단어가 나올때까지 지우기 

d/^scully : 줄의 맨앞에 scully 라는 단어가 나올때까지 지우기 

- y/yahoo : yahoo 라는 단어가 나올때까지 복사하기 

★ 편집모드 지정하기 

- i : insert 현재커서위치 

- I : 현재커서가 위치한 줄의 맨처음에 

a : append 현재커서위치 바로 다음에 

A : 현재커서가 위치한 줄의 맨끝에 

o : open 현재커서위치 바로 아래줄에 

O : Open 현재커서위치 바로 윗줄에 

★ 표시하기(Marking) 

mx : mark 현재의 커서위치를 x 라는 문자로 기억 보이지 않는 북마크 

`x : 기억된 x 위치로 이동 

`` : 이동하기 전의 위치로 (제자리) 

' ^_ x : 기억된 x 위치의 맨 앞으로 이동 

- '' : 이동하기 전 위치의 맨앞으로 이동 

★ 버퍼 이용하기 

"xyy : x 라는 이름의 버퍼에 한줄 복사 하기 

"xp : x 라는 이름의 버퍼에 저장된 내용을 붙이기 

- := : 현재 줄번호 보여주기 

:/pattern/ = pattern 이 위치한 줄번호 보여주기 

★ ex 명령어 익히기 

 vi서 사용하는 ex 명령어는 이전 ex 편집기에서 지원하던 기능들입니다. ex 모드(콜론 모드)에서 사용하는 명령어는 열기(Open), 저장(Save), 다른 이름으로 저장(Save as) 등의 명령을 수행합니다. ex 모드는 Esc 키를 누르고 ':' 키를 입력하여 들어갈 수 있다는 것과 종료시의 명령어에 대해서는 앞에서 설명하였기에 생략하기로 하겠습니다. 

① ex 명령어의 기본형식 

(범위지정) (명령어) (명령이 수행될 위치) 

:k,l command m 

예) 

- :1,10 co 50 : 1 줄 부터 10 줄 까지를 50 줄 이후로 복사

:34,50 d : 34 줄 부터 50 줄 까지 삭제

:100,150 m 10 : 100 줄 부터 150 줄까지를 10 줄 이후로 옮김

- :.,$ d : 현재줄부터 끝까지 지우기

:.,+20 co -4 : 현재줄부터 20줄을, 4줄 위에 복사하기 

- :-,+ t 0 : 위, 아래로 한줄(총 3줄)씩을, 문서 맨위에 복사하기 

- :/pattern/ d : pattern 이 들어있는 줄 지우기 

- :/pattern/ -nd : pattern 이 들어있는 줄로부터 n 번째 윗줄 지우기 

:/pattern/ +nd : pattern 이 들어있는 줄로부터 n 번째 아랫줄 지우기 

- :/pattern1/,/pattern2/d : pattern1 이 들어있는 줄부터, pattern2 가 들어있는 줄까지 지우기

:.,/pattern/ m 23 : 현재줄부터 pattern 이 들어있는 줄까지, 23번줄 이 후로 옮기기 

② g 옵션 붙여 문서전체에 적용하기 

:g/리눅스 : 파일 전체에서 '리눅스'가 있는 마지막 줄로 이동한다 

- :g/리눅스/ p : 파일 전체에서 '리눅스'가 있는 줄을 보여준다 

- :g/리눅스/ nu : 파일 전체에서 '리눅스'가 있는 줄을 번호와 함께 보여준다 

- :60,100 g/리눅스/ p : 60∼100줄 사이에서 '리눅스'가 있는 줄을 보여준다 

:g/리눅스/d : 문서 전체에서 '리눅스'가 있는 줄을 제거한다 

③ 저장 및 종료하기 

:w : 저장하기 (write)

:q : 종료하기 (quit) 

:wq : 저장하고 종료하기 

:xv : 저장하고 종료하기 (:wq 와 동일) 

:w! : 강제로 저장하기 (read-only 로 열었을경우) 

:q! : 편집한 내용을 저장하지 않고 종료하기 

:w new_file_name : 새로운 파일이름으로 저장하기 

- :w %.new : 현재화일 이름에 .new 를 붙여서 새로운 화일로 저장

:230,$ w file_name : 230 줄부터 끝줄까지 file_name 으로 저장하기 

:.,600 w file_name : 현재줄부터 600줄까지 file_name 으로 저장하기 

:1,10 w new_file : 1줄부터 10줄까지 new_file 로 저장하기 

- :340,$ w >> new_file : 340줄부터 끝줄까지 new_file 에 추가하기 

④ 읽기 

- :r[ead] filename : 현재위치에 filename 읽어들이기 

- :r /usr/local/data : 현재위치에 /usr/local/data 읽어들이기 

:185 r /usr/local/data : 185줄 이후에 /usr/local/data 읽어들이기 

:$r /usr/local/data : 맨끝줄 이후에 /usr/local/data 읽어들이기 

- :0 r /usr/local/data : 맨윗줄에 /usr/local/data 읽어들이기 

- :/pattern/ r /usr/local/data : pattern 이 존재하는 줄에 /usr/local/data 읽어들이기 

⑤ 다중편집하기 

vi file1 file2 :file1과 file2라는 두 개의 문서를 읽어들인다. 먼저 읽는 문서는 file1이다. 

:args : 현재 편집중인 화일목록을 보여준다 

:n :두 번째 문서(file2)를 편집할 수 있다 

:e # :이후부터는 ':e #' 명령을 사용하여 문서를 번갈아 열며 편집할 수 있다 

:prev[ious] :이전화일로 돌아간다 

주의 - 편집중인 화일이 저장되지 않으면 다음 화일로 넘어갈수 없다 

* * 새로운 파일 편집하기 

:e file1 : 새로운 파일(file1)을 읽어들여 편집한다 

e[dit] file_name :새로운 file_name 편집하기 

- :e! :현재의 편집중인 내용을 무시하고 가장 최근에 편집한 내용을 다시편집하기 

⑥ g 옵션과 바꾸기 

- :m,n s/old/new/g - :g/pattern/ s/old/new/g 

예 ) 

: 1,5 s/리눅스/linuk/gc : 1줄부터 5 줄까지 리눅스를 linuk 로 확인해가면서 바꾼다. 

g/문자 /s/파일/file/g : '문자'가 있는줄만을 찾아서 '파일'을 'file'로 바꾼다. 

% s/버퍼/buffer/g : 처음줄부터 마지막줄까지, 버퍼 를 buffer 로 바꾼다. 


* * 프로그램 소스 코드에서 괄호 짝 찾기 

 프로그램이나 HTML 소스에는 수많은 괄호(< >, ,…)가 사용되게 마련입니다. 때문에 편집을 하다 보면 괄호의 짝을 잃어버려 프로그램 오류가 나는 경우도 빈번합니다. 이럴 때 vi는 편리한 기능을 제공합니다. 해당 괄호 위에 커서를 놓은 후 키를 누르면 짝이 되는 괄호의 위치로 이동합니다. 

★ 예기치 않은 시스템 다운후 되살리기 

- vi -r :되살릴수 있는 모든 파일의 이름을 보여준다. 

vi -r file :vi에디터를 실행하여 지정한 파일을 되살리는 옵션이다 

★ 디스플레이 제어 

^L : 현재의 화면을 다시 불러온다 

:set number : 내부의 줄번호로 내용을 불러온다

:set nonumber : 내부의 줄번호로 내용을 되 불러 오지 않게 하는 옵션이다

예) set number 실행시 다음과 같이 줄번호가 나타납니다

/rexp : 지정된 정규표현식에 대해 앞으로 이동한다. 

- / : 이전의 패턴에 대해 앞으로 검색을 반복하는 명령 

?rexp : 지정된 정규 표현식에 대해 뒤로 이동하는 명령 

? : 이전의 패턴에 대해 뒤로 검색을 반복하는 명령 

- n : : /나 ? 명령에 대해 같은 방향으로 반복하는 명령 

- N : : /나 ? 명령에 대해 반대방향으로 반복하는 명령 

★ 줄의 길이조정 

- r :Return : 문자를 새로운 라인으로 변경하는 명령 

J :줄을 결합하는 명령 

:set wm=n : 오른쪽으로 n문자 위치에서 자동적으로 줄을 나누는 명령 

★ 편집버퍼를 통한 이동

- ^F : 한 화면 아래로 이동 

^B : 한화면 위로 이동 

n^F : n 화면 아래로 이동 

n^B : n화면 위로 이동 

^D : 반화면 아래로 이동 

- ^U : 반화면 위로 이동 

n^D : n 줄만큼 아래로 이동 

n^U : n 줄만큼 위로 이동 

★ 쉘 명령실행 

중단하고 지정한 셸 명령을 실행 

- :!! : vi를 중단하고 이전의 셸 명령을 실행 

- :sh : vi를 중단하고 셸을 실행 

- :!csh : vi를 중단하고 새로운 C쉘을 실행 

★ 패턴에 의한 치환

:s/pattern/replace/ : 현재 줄을 치환한다 

:lines/pattern/replace/ : 지정한 줄을 치환한다

:line,lines/pattern/replace/ : 지정한 범위를 모두 치환한다

- :%s/pattern/replace/ : 모든 줄을 치환한다

★ 데이터 읽기 

:liner file : 파일의 내용을 지정한 줄 다음에 삽입한다

- :r file : 파일의 내용을 현재줄 다음에 삽입한다

- :liner !command : 명령의 결과를 지정한 줄 다음에 삽입한다

:r !command : 명령의 결과를 현재줄 다음에 삽입한다

- :r !look pattern : 지정한 패턴으로 시작되는 단어를 삽입한다

★ 편집 중 파일 바꾸기 

:e file : 지정한 파일을 편집한다

- :e! file : 지정한 파일을 편집하며 자동점검을 생략한다

★ 수정의 취소, 반복 

u : 수정했던 마지막 명령을 취소한다

U : 현재 줄을 저장한다

- . : 수정했던 마지막 명령을 반복한다

★ 문자 삭제 

x : 커서가 있는 문자를 삭제한다

X : 커서의 왼쪽 문자를 삭제한다

★ 여러줄의 복사및 이동 

- : linecotarget : 지정한 줄을 복사하여 대상줄 밑에 삽입한다

:line,linecotarget : 지정한 범위를 복사하여 대상줄 밑에 삽입한다

:linemtarget : 지정한 줄로 이동하여 대상줄 밑에 삽입한다

- :line,linemtarget : 지정한 범위로 이동하여 대상줄 밑에 삽입한다

★ 데이터 처리를 위한 셸 명령 

n!!command : n번 줄에서 명령을 실행한다

!move command : 커서의 위치로 부터 이동한 곳까지 명령을 실행한다

- !move fmt : 커서의 위치로 부터 이동한곳까지 줄들을 형식에 맞춘다


vi 활용

 이 내용은 사실, man vi" 해보시면 전부 다 나오는 내용이라 아시는
분은 다 아시는 것이겠지만, 어제나, 오늘이나 vi를 고집하는 한 
사용자로서 얻게된 유용한 기능들을 한번 모아보았습니다.

1. Marking
 이거 모르면 안 된다고 생각합니다. command mode에서 "mx"라고 하시면
현재 위치에 x표가 생깁니다. 눈에는 안 보이지요. 다른 어떤 page에서도
이제 "'x"하시면 x표했던 자리로 돌아갑니다. "d'x"식으로 범위를 지정할
때도 유용합니다.

2. Buffering
vi는 일회용 buffer밖에 없어서 불편해. 아닙니다. "add 하면 한 
line이 지워지면서 buffer a로 갑니다. 꺼낼땐, "ap 하면 나오구요.
참고로, 큰 P 는 앞으로, 작은 p 는 뒤로 paste합니다. 어떤 
paragraph를 반복할 경우엔 큰 P 가 좋지요. 해 보세요.

3. Cursor 이동과 편집
# line의 맨 뒤에서 부터 쓰고 싶다 
A

# 한 단어를 바꾸고 싶다.
cw

# 특수기호 상관없이 다음 띄어쓰기까지 바꾸고 싶다.
cW

# 현재 단어의 바로 뒤부터 쓰고 싶다.
ea

# 딱 한글자만 바꾸고 싶다.
r

# insert말고 replace mode로 쓰고 싶다.
R

4. Scroll과 Cursor 이동
 긴 file 작은 화면. j와 k만으로는 왔다갔다 하기가 무척 불편하지요.

# page 단위로 scroll하고 싶다.
^F, ^B

# cursor를 맨 위로 보내고 싶다.
H

# 가운데와 맨 아래는?
M, L

# 내가 지금 보고 있는 line이 맨 위에 있었으면 좋겠다.
z Enter

# 가운데로 보내려면?
z.

# line 543으로 가고 싶다.
543G

# file 맨 뒤로 가고 싶다.
G

# 위의 key만 익숙해도 충분하지만, 그 밖에, 
^U, ^D, ^E, ^Y 등

5. ex command
 command mode에서 ":"를 치면 왼쪽 밑에 ":"가 나타나는데,
여기서 먹는 명령어는 vi의 전신 ex editor의 command입니다.
# file 전체에서 "kkk"를 "lala"로 바꾸고 싶다.
(물론, 이 예 이외의 다양한 substitution이 지원됩니다.)
:%s/kkk/lala/g

# 다른 file을 edit하고 싶다.
:e file_name

# 다른 file을 읽어들이고 싶다.
:r file_name

# shell을 들락날락 하지 않고, 한꺼번에 여러개의 file을.
vi *.C
:n
:n
...

# 딱 두 개의 file만 번갈아 가면서 edit하고 싶다.
vi lala.C lala.h
:n
:e #
:e #
:e #
...

# 유용한 set variable들
set all : 모든 variable들의 status
set tabstop=4 : tab 하나의 간격
set shiftwidth=4 : shift하나의 간격
set showmode : 오른쪽 밑을 보세요.
set ignorecase : search, substitution 에서 대문자, 소문자 무시

6. 그 밖에 짭짤한 것들.
# forward and backward pattern search
/ ?

# next and previous search 
n N

# terminal이 안 맞아서 화면이 뒤죽박죽이 되었네.
또는, 친구가 talk를 걸어서 화면을 가렸다. 
^L : refresh

# 괄호들이 너무 많아 누가 누구 짝인지 모르겠다.
해당괄호 위에 cursor를 올려놓고, "%"
# 30 line을 indent-in 해야한다. (Program coding 도중)
30>>

# out
30<<

# 방금 전에 썼던 editting을 한번 더 적용시키고 싶다.
똑같은 어구를 여기저기 붙이거나, 여기저기에서 똑같은 change를
원하거나, ...
.

# 오른손은 mouse에 있는데, ":wq"는 어떻게...
ZZ

# windows에서 처럼 file의 a.txt라는 file의 일부분을 
b.txt라는 file에 복사고싶다.
vi a.txt
"ay'x --- "a buffer에, x라고 mark한 지점까지 yank
:e b.txt --- b.txt를 부르고,
"ap --- "a buffer를 paste

'Vim > Tutorial' 카테고리의 다른 글

vim 에러 처리  (0) 2013.02.02
명령어 표기법에 대해서  (0) 2013.02.02
Vim Key mapping  (0) 2013.01.16
유용한 명령어들 몇가지  (0) 2013.01.15
vim Tutorial (PDF파일)  (0) 2012.05.09
Posted by scii
:

#include <stdio.h>

main()
{
       int i;
       char gg[50];

       for(i=1; i<=5; i++)
       {
              sprintf(gg, "ping -c 1 211.117.26.%d | grep from",i);
              system(gg);
       }
 
       return 0;
}


--------------------------------------------------------------------------------------------------------

#include<stdio.h>

int main(void)
{
       char tt[50];
       int i;

       for(i=0;i<5;i++)
       {
              sprintf(tt, "cp ~/Desktop/sun/lang.c ~/Desktop/sun/HaHa%d", i);
              system(tt);
       }
       return 0;
}

'Linux > Common' 카테고리의 다른 글

터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 ps 명령 프로세스  (0) 2012.12.25
리눅스 C++ 컴파일  (0) 2012.05.02
리눅스의 디렉토리 구조  (0) 2012.05.02
Posted by scii
:

1. 추가패키지설치 vim-enhanced


rpm 패키지가 설치되어 있는지 확인!!

2. vi  환경설정 -> /etc/vimrc설정에 써넣어서 설정,


또는 vim에 들어가서 명령모드를 켜고 입력해서 설정해도된다.


set cindent               c언어스타일의 들여쓰기


set smartindent          좀더 똑똑한 들여쓰기


set number               행번호 표시


set visualbell             경고음 대신 화면을 번쩍


set syntax on            구문 강조 기능 사용


set ruler                   화면 우측하단에 (행,열) 번호 추가


set tabstop=2            탭간격을 2칸으로 지정


set expandtp             탭문자를 공백문자로 변환


set visualbell              사용자 실수를 경고할때 비프임 대신 비주얼 벨로 경고


set nobackup            백업파일을 생성하지 않음


set autoindent           자동 들여쓰기 사용


set smartindent          좀더 지능적인 들여쓰기 사용


set incsearch             키워드를 입력할때 검색하는 점진 검색 사용


syntax on                 구분 강조 기능 사용


filetype on                파일의 종류에 따라 구분 강종


colorscheme evening   vi색상테마변경


set background=dark   어두운 배경색 상용


set hisearch              검색어 강조 기능 사용0


set ignorecase           검색,편집 치환시에 대소문자 구분하지 않음

3. /etc/bashrc 파일 open


alias vi=vim 항목추가


위의 모든 과정을 수행한 후..

source /etc/vimrc


source /etc/bashrc

위의 2개의 명령을 수행하면, 모든 사용자에게 환경이 갖추어진다.

그렇지 않고 개인만 사용하려 한다면,


사용자 디렉터리에 있는 파일을 수정하여 사용!!



- 출 처 : 해커스쿨 커뮤니티의 craft -

'Vim > etc' 카테고리의 다른 글

[Linux] vim 나의 설정파일  (0) 2013.01.16
Plug-in을 설치한 vim 편집기 모습  (0) 2013.01.16
[Windows] gvim 설정파일  (0) 2013.01.15
구문강조 만들기  (0) 2012.12.05
vim 편집기 단축키  (0) 2012.05.02
Posted by scii
:

리눅스 시스템의 디렉토리 구조


※ / 최상위에 있는 디렉토리로, 루트 디렉토리라고 한다.


  /bin 기본 실행 파일들, 즉 사용자 명령어들이 들어 있다.


※  /boot 시스템 부팅시 필요한 파일들이 들어 있다.


  /dev 플로피, 하드디스크, CD-ROM 드라이브 등의 각종 장치 파일들을 모아 놓은 곳이다.


  /etc 시스템 관리시 필요한 스크립트 파일들과 설정 파일들이 들어 있다.


  /home 일반적으로 사용자들이 사용할 수 있는 계정의 홈 디렉토리가 위치한다. 예를 들어, linuxer라는 계정으로 로그인할 경우 이 계정의 홈 디렉토리로는 /home/linuxer이다.


  /lib 각종 라이브러리가 저장된 디렉토리로 커널 모듈도 이곳에 있다.


  /lost+found ext2 및 ext3 파일 시스템에서 파일 시스템 복구를 위한 디렉토리이다.


  /mnt 마운트될 파일시스템의 마운트 포인터가 되는 디렉토리들이 위치하는 부분으로 시스템에 설치된 입출력 장치들과 연결시 이들은 해당 디렉토리에 위치하게 된다. 예로서 /mnt/floppy 또는 /mnt/cdrom이 존재한다.


  /opt 추가된 응용 프로그램 패키지가 설치되는 디렉토리이다.


  /proc 시스템 관리를 목적으로 메모리상에 만들어 놓은 가상 디렉토리로 디렉토리안의 파일들은 현재 시스템 설정을 보여준다.


  /root 루트 사용자의 홈 디렉토리로 루트 사용자만 접근할 수 있다.


  /sbin 시스템 점검 및 복구 명령, 네트워크 인터페이스 설정 명령, 시스템 초기 및 종료 명령, 커널 모듈 등 시스템 관리에 관련된 실행 파일들이 포함되어 있다.


  /tmp 각 장치에 필요한 socket이 위치하고 시스템에 필요한 임시 파일들을 만들고 삭제하는 디렉토리이다.


  /usr 시스템이 정상적으로 가동되는데 필요한 모든 명령들과 라이브러리들, 매뉴얼 페이지들이 있다.


        /usr/bin /bin에 없는 유용한 실행 파일들이 위치해 있다.


        /usr/include C언어 헤더 파일들을 보관하는 곳이다.


        /usr/src 시스템에 있는 다양한 프로그램의 컴파일되지 않은 소스 코드들을 포함하고 있다. 중요한 것은 /usr/src/linux로 리눅스 커널의 소스 코드를 포함하고 있다.


        /usr/man 명령어로 볼 수 있는 man page(매뉴얼 페이지)를 포함하고 있다.


  /var 자료 데이터가 변경될 때 저장되는 디렉토리로 시스템 작동 log들과 네트워크에 관련된 기록 파일들, 보안기록을 저장하고 메일서버로 운영하는 경우 전송된 메일을 받아 저장하고 있는 가변저장 공간이다.



'Linux > Common' 카테고리의 다른 글

터미널에서 멀티태스킹하기  (0) 2013.02.02
gcc 다른 버전 추가하기  (0) 2012.12.30
리눅스 ps 명령 프로세스  (0) 2012.12.25
리눅스 C++ 컴파일  (0) 2012.05.02
쉘에서 간단한 명령내리는 프로그램  (0) 2012.05.02
Posted by scii
:

vim 편집기 단축키

Vim/etc 2012. 5. 2. 00:28 |



'Vim > etc' 카테고리의 다른 글

[Linux] vim 나의 설정파일  (0) 2013.01.16
Plug-in을 설치한 vim 편집기 모습  (0) 2013.01.16
[Windows] gvim 설정파일  (0) 2013.01.15
구문강조 만들기  (0) 2012.12.05
VIM에서 유용한 설정들.  (0) 2012.05.02
Posted by scii
:

: 터미널에서 이렇게 인스톨을 하거나 소프트웨어센터에서 다운받음.


: tilda를 실행시킨 후 마우스 오른쪽버튼을 눌러 preference 진입. 그 후, 이렇게 셋팅~!!


: Appearance창으로 가서 자기가 좋아하는 셋팅값으로 셋팅.


단축키 설정! 

~ 이것이 grave이다. ~가 가장 만만하다.


셋팅 후의 tilda 모습.


시작 프로그램에 등록을 하지 않으면 컴퓨터를 부팅할때마다 tilda를 실행시켜야 한다.

그런 귀찮은 작업을 하지 않기 위해선 시작 프로그램에 등록을 해야한다.


시작 프로그램에 추가된 화면.


'Linux > Ubuntu' 카테고리의 다른 글

Ubuntu 12.04 설치 후 부팅 문제  (0) 2013.03.15
나의 .bashrc 파일 설정  (0) 2012.12.06
Python 환경 변수 설정  (0) 2012.11.27
우분투 명령어  (0) 2012.05.08
ubuntu 11.10 설치하기  (0) 2012.05.02
Posted by scii
:

우분투 11.10 설치


언어 선택. korean으로 선택하고 진행해도 됨.




맨 밑에 것을 선택하였는데 이것은 사용자가 직접 파티션을 나누는 것이다.


sdc(세번째 SCSI 하드디스크)에 설치할 것이기 때문에 sdc의 free space를 선택.


리눅스는 무조건 /(root)와 swap파티션 이렇게 최소한 2개의 파티션이 존재하여야 한다. 그래서 일단 루트파티션 생성. root는 5기가정도로 할당해주면 충분하지만

내 하드디스크는 용량이 커서 그냥 120기가 정도로 할당하였다.

루트 파티션은 꼭!!! primary로 설정해야 한다.!!


루트 파티션 할당된 모습.


/boot 파티션은 만들지 않아도 문제될 것 없지만, 만들어서 나쁠 것은 없다.

리눅스의 대문과 같은 것. 집안이 아무리 망가져도 대문은 망가지지 않듯이 부트 영역의 공간을 따로 지정하면 컴퓨터 공간이 지저분해져도 망가져도 일단은 부트영역이 뜬다.

/boot 파티션은 꼭!! primary로 설정해야 한다.


swap 영역 파티션. swap은 자기 컴퓨터 메모리용량의 2배정도로 할당한다.

내 메모리는 16기가라서 32기가로 설정하였다.

swap은 메모리 공간이 부족하면 내가 할당한 크기만큼의 하드디스크 영역을 메모리화 하여 쓰는 것이다.


나머지 공간을 모두 /home으로 할당한다.


파티션을 모두 나눈 모습.




'Linux > Ubuntu' 카테고리의 다른 글

Ubuntu 12.04 설치 후 부팅 문제  (0) 2013.03.15
나의 .bashrc 파일 설정  (0) 2012.12.06
Python 환경 변수 설정  (0) 2012.11.27
우분투 명령어  (0) 2012.05.08
[ubuntu] 터미널 쉽게 쓰기! "tilda"  (0) 2012.05.02
Posted by scii
: