vi 에디터란?
- 최초의 유닉스용 화면 편집기
- 작고, 빠르고, 모든 유닉스/리눅스 시스템이 기본적으로 갖추고 있음
- 몇가지 기본적 기능만 갖추고 있으나 유닉스의 다른 명령들과 결합하여 매우 다양하게 확장/응용 가능
- 독특하지만 매우 빠르고 강력한 명령 체계
에디터 사용법
vi : 에디터 프로그램을 실행시작하라는 명령
vi myfile.c(파일이름) : myfile.c 파일을 만들어 vi 에디터프로그램 시작하는 명령
▶ vi를 시작하면 기본적으로 들어가는게 명령 모드이기 때문에 편집모드로 변경해야함
▶ (ex모드는 다른 파일을 읽어들일때, 편집을 마치고 파일을 저장할때 사용됨)
vi 작성모드 이동
- 명령모드 → 편집모드 : 'i', 'a' 등의 명령 사용
▶ i를 누르면 커서위치부터 수정, a를 누르면 커서위치의 다음 위치부터 수정됨 - 편집모드 → 명령모드 : 'esc' 명령 사용
- 명령모드 → ex모드 : ':' 명령 사용
- ex모드 → 명령모드 : ex모드의 명령 사용 후 자동 변환 혹은 'esc'명령 사용
- 편집 모드와 ex모드간의 전환은 불가
vi 작동 모드 확인
- 명령모드 : 화면 하단에 표시 없음
- 편집모드 : 화면 하단에 '끼워넣기' 표시
- ex모드 : 화면하단에 ':' 표시
vi 에디터 사용하기
1. 텍스트 편집
- 명령모드에서 'i'명령을 눌러 편집모드로 들어간다
- 현재 커서워치부터 텍스트 편집이 가능해진다
2. 파일 저장하기 & vi 끝내기
- 편집이 끝났으면 'esc'누르고 ':' 눌러 ex모드로 진입
- 파일 저장하기 : ex모드에서 'w' 명령
- vi 끝내기 : ex모드에서 'q' 명령
- ex모드에서 wq로 저장과 동시에 종료 가능
(편집중인 파일 저장하지 않고 종료하려고 하면 'q!'눌러 강제 종료 가능)
3. 유닉스에서 컴파일 및 실행시키기
$ gcc test1.c [-o destination]
- gcc test1.c(파일이름) 입력 시 : a.out이라는 이름으로 컴파일됨
- -o destination을 붙여 입력하면 destination 이라는 이름으로 컴파일 가능
- [ ] 의 의미는 있어도 되고, 없어도 된다는 의미로 쓰임
컴파일 실패 시, 오류 메시지가 뜸
$ ./destination
실행시키기. destination이 실행 파일의 이름
vi 에디터 명령어(명령 모드에서 사용해야함)
커서 이동 명령
- ctrl + f : 한 화면만큼 아래로 이동
- ctrl + b : 한 화면만큼 위로 이동
- ctrl + d : 화면 크기의 반 만큼 아래로 이동
- ctrl + u : 화면 크기의 반 만큼 위로 이동
- H : 화면의 첫 줄 첫 칸으로 이동
- L : 화면의 마지막 줄 첫 칸으로 이동
- M : 화면의 중간 줄 첫 칸으로 이동
- ^ : 현재 줄의 제일 첫 단어로 이동
- $ : 현재 줄의 마지막 단어로 이동
- w : 한 단어씩 오른쪽으로 이동
- b : 한 단어씩 왼쪽으로 이동
- 15G : 15번째 줄로 이동
- G : 파일의 제일 마지막 줄로 이동
- /string : 'string'을 검색 -> 이후 'n'을 입력하면 검색된 다음 단어를 찾음
삭제 명령
- x : 커서위치의 한 문자 삭제
- 5x : 커서 위치부터 다섯 문자 삭제
- dw : 현재 커서 오른쪽 한 단어 삭제
- db : 현재 커서 왼쪽 한 단어 삭제
- dd : 현재 커서가 위차한 줄 한줄 삭제
- 15dd : 현재 커서가 위치한 줄부터 15줄 삭제
삽입 명령
- o : 현재 커서위치 아래에 한 줄 생성
- O : 현재 커서위치 위에 한 줄 생성
- Y : 현재 커서가 위치한 줄 복사
- 15Y : 현재 커서가 위치한 줄부터 15줄 복사
- P : 복사한 내용을 현재 커서가 위치한 줄 아래에 삽입
기타 명령
- u : 복구 명령 (바로전 명령의 실행 취소)
- . : 바로 이전 명령을 다시 한번 실행
- :%s/string1/string2/g : 문서 전체의 string1을 string2로 치환
UNIX SHELL 명령
List 명령
- ls : 현 디렉토리 내에 존재하는 모든 서브디렉토리 및 파일들을 listing 하는 명령
- ls -l : 각 서브디렉토리 및 파일에 관한 상세 정보를 함께 표시하는 명령
- -rwxr-xr-x. 1 unix19011494 class 8416 9월 5 19:33 a.out 가 있을 때
- -rwxr-xr-x. : 맨처음 문자가 - 이면 file , d 이면 directory를 나타냄. 이후 문자는 본인/같은 그룹에 속한 사람/그 밖의 사람이 해당 파일 혹은 디렉토리에 대해 읽기/쓰기 실행이 가능한지를 나타냄
- 1 : 링크 개수를 나타냄 (이름이 몇 개 인지)
- unix19011494 : 파일을 만든 사람의 ID
- class : 만든 사람이 속해있는 그룹
- 8416 : 파일 크기
- 9월 5 19:33 : 업데이트한 날짜
- a.out : 파일 이름
유닉스에서는
- 폴더 : directory
- 상위 폴더 : parent directory
- 하위 폴더 : subdirectory
File 관련
- cat filename : 해당 file의 내용을 화면에 출력
- more filename : 해당 file의 내용을 한페이지씩 화면에 출력. 'enter'혹은 'space bar'로 다음화면 출력
- cp file1 file2 : file1의 내용을 복사하여 file2 생성
- mv file1 file2 : file1의 이름을 file2로 변경
- mv file1 dir1 : file1을 dir1으로 이동
- rm filename : 해당 file 삭제
※ cp 할때 이미 있는 파일이름에 복사하면 그 파일은 사라므로 조심해야 함
※ rm 할때도 이미 하고나면 복구할 수 있는 방법이 없기 떄문에 주의해야함
Directory 관련
- mkdir dirname : 해당하는 이름의 directory 생성
- cd dirname : 해당 directory로 이동
- chmod 700 filename (or dirname) : 해당 file(혹은 directory)의 access permission 변경
실행 파일&directory에 permission은 700
프로그램 파일에 permission은 600
Directory 이동
- home directory : $cd 또는 $cd ~
- current working directory : .
- parent directory : $cd ..
$cd ../.. 하면 parent - parent directory로 올라감
'기타' 카테고리의 다른 글
VAE (Auto-Encoding Variational Bayes) 리뷰 (0) | 2022.03.24 |
---|---|
Quick DBD (0) | 2021.10.15 |
[AWS] 스토리지 활용 웹사이트 만들기 (0) | 2021.08.10 |
[AWS] Amazon Linux 2 실행하기 (0) | 2021.08.10 |
[Linux] 프로세스와 실행 (0) | 2021.08.08 |