06_Simple Coding - Linux - vi 에디터

강태경·2024년 2월 18일

Linux

목록 보기
7/9

📃 요약

리눅스는 윈도우와 달리 주로 키보드를 이용해서 명령어를 타이핑해서 여러가지 기능들을 실행함
예를 들어 대표적으로 폴더 만들기, 파일만들기 명령어 등이 있음

요소 기술 :

- Basic : 리눅스

📃 기술 구현

스펙 :

- docker desktop
- linux

📃 Linux 란

- 리눅스 : 운영체제 (윈도우 같은 것, OS)
- 컴퓨터의 하드웨어(cpu , 메모리 , 프린터 , 키보드 등) 관리하는 s/w
- 무료 리눅스 / 유료 리눅스가 있음
    1) 무료 리눅스 : 우분투, 센토스 등
    2) 유료 리눅스 : 레드헷 등

Linux 사용 목적

- 업무용 OS(운영체제) : 안정성 높음
- 안정성 : 업무용 S/W 는 1년 무중단으로 프로그램이 실행되어야 함
- 윈도우는 1년 무중단으로 실행시 리눅스보다 컴퓨터가 꺼지거나 에러가 발생할 위험이 높음

Linux 특징

- CLI(Command Line Interface) : 명령어를 입력해서 실행하는 프로그램
- GUI(Graphic User Interface) : 마우스를 이용해 실행하는 프로그램(한글, 워드 등)

리눅스의 파일/디렉토리 알기

1) 리눅스의 모든 하드웨어 장치(프린터,디스크 등)는 모두 파일로 이루어져 있음
2) 디렉토리 == 폴더
3) 디렉토리 구조
(1) PATH(경로) : /(슬래쉬) 를 사용해서 디렉토리 경로를 표시함
    예) /usr/bin/perl -> /usr 디렉토리 안에 /bin 디렉토리 안에 perl 파일(vs 윈도우즈( \(역슬래쉬)))
(2) 리눅스의 최상위 경로 : / => root(뿌리) 경로, 1개만 있음
(3) 리눅스 설치시 여러 의미 있는 디렉토리가 있음
(4) /bin : 명령어 실행 파일이 존재하는 디렉토리
           중요도가 높은 명령어 들이 있음
    /etc : 리눅스에서 실행되는 다양한 환경 설정 파일이 존재 (패스워드, 그룹정보 등)
   /home : 사용자별로 할당(배정)되는 작업 디렉토리
   /sbin : 관리자용 명령어들이 포함된 디렉토리(서버끄기/켜기 등)
   /tmp  : 프로그램 실행시 임시 파일이 필요한데 그 파일이 들어 있는 디렉토리(주기적으로 리눅스가 삭제함)
   /usr  : 설치한 프로그램이 들어 있는 디렉토리(oracle, 웹서버 프로그램 등)
   /var  : 변화하는(Variable) 파일/데이터를 저장하기 위한 디렉토리 (메일, 로그 등)

1) vim 에디터

리눅스에서 사용하는 공식 에디터
vi 에디터 발전시킨 vim 사용함
사용방식이 일반 에디터와 다름
실행명령어 , 편집명령어 2개의 구분으로 에디팅을 함
oracle@731130ee71d4:~$ vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 18 2023 11:40:57)
Included patches: 1-3995, 4563, 4646, 4774, 4895, 4899, 4901, 4919
Modified by team+vim@tracker.debian.org
...생략
vi 명령어 == vim 명령어
vi
빠져나오기
사용법) :q (엔터)
실행명령어 - :(콜론) 실행명령어(엔터)
vi(vim) 에디터는 모드가 2가지(편집명령, 실행명령(:))
모드 빠져나오기 : esc 여러번 누르면 실행명령 빠져나옴

2) vi 로 파일만들기

사용법) vi 파일명
실행명령모드) :(콜론), 명령어는 서로 붙여서 사용 가능
:w - 파일 저장
:q - vi(vim) 종료
:wq - 파일 저장 and 종료
newfile1.txt 를 vi 로 만드세요
oracle@731130ee71d4:~$ vi newfile1.txt
oracle@731130ee71d4:~$ ls
newfile1.txt  report  work
oracle@731130ee71d4:~$

3) hello world 를 newfile1 에 작성하고

저장하세요
편집명령모드) 콜론 없이 그냥 사용
편집모드에서 빠져나오기 : esc 키 여러번 누름
i : insert , 문자열 편집
oracle@731130ee71d4:~$ vi newfile1.txt
oracle@731130ee71d4:~$ cat newfile1.txt
hello world
oracle@731130ee71d4:~$

4) hello linux 를 newfile2 에 작성하고

저장하세요
cat 명령어 파일의 내용을 화면에 출력하세요
실행명령모드) :(콜론)
:q! - 저장않하고 빠져나오기
:wq - 저장하고 빠져나오기
oracle@731130ee71d4:~$ vi newfile2
oracle@731130ee71d4:~$ cat newfile2
hello linux
oracle@731130ee71d4:~$

5) 편집모드

(1) 커서 이동 :
실습준비) cp /etc/crontab .
예제 3) crontab 복사파일 vi 로 열고 위의 단축키를
사용해서 커서 이동 해보기
oracle@731130ee71d4:~$ cp /etc/crontab .
crontab  newfile1.txt  newfile2  report  work
oracle@731130ee71d4:~$ vi crontab
oracle@731130ee71d4:~$
:wq 저장하고 종료

6) 문자 입력 : i (insert, 커서의 왼쪽에 문자 추가) : 편집 모드에서 수정 / 붙여넣기

연습문제 2)
Example of definition -> job 다시 원복하세요
=> Example of job definition 만들기
:wq 저장하고 종료
oracle@731130ee71d4:~$ vi crontab
oracle@731130ee71d4:~$ cat crontab
참고) 문자 입력:a(append, 커서의 오른쪽에 문자 추가)
문장의 끝에 입력하기 어렵기 때문에 a 를 사용해서 입력함
:q! - 저장않하고 빠져나오기
oracle@731130ee71d4:~$ vi crontab
문서의 처음이나 끝으로 이동
gg : 문서의 처음으로 이동
G : 문서의 끝으로 이동

7) crontab 문서에서 위의 단축키 실습해 보기

oracle@731130ee71d4:~$ vi crontab
문장(행, 줄) 번호로 이동하기
문장(행) 번호 넣기 - :set number(nu)
문장(행) 번호 없애기 - :set nonumber(nonu)
문장(행) 번호 이동 - 10G (10행으로 이동, 콜론(:)없이)

8) crontab 문서에서 위의 단축키 실습해 보기

oracle@731130ee71d4:~$ vi crontab
명령어 취소 , 재실행
방금 실행한 명령어 취소(*) : u(undo)
방금 실행한 동작 재실행하기 : ctrl + r(redo)

9) Example of job definition: 문장을 줄삭제하고

명령어 취소(u) 를 하세요, 다시 명령어 재실행(ctrl + r)
도 하세요
oracle@731130ee71d4:~$ vi crontab

10) 검색과 대치(치환, replace) : 찾기/바꾸기

(1) 검색(찾기)
사용법)
/검색어 : 커서위치에서 아래방향으로 문자열 검색(엔터)
?검색어 : 커서위치에서 윗방향으로 문자열 검색(엔터)
n : 다음 검색 결과로 이동
N(shift + n) : 이전 검색 결과로 이동 (less 와 비슷)

11) month 를 crontab 문서에서 찾아보세요

oracle@731130ee71d4:~$ vi crontab
vi 에서 /month

12) 치환(대치, 바꾸기)

:(콜론) - 실행명령모드로 전환하고 하기
사용법) :%s/검색할_문자열/바꿀문자열/g

13) day 를 찾아서 모두 pen 으로 바꾸세요

crontab 문서에서 작업하세요
oracle@731130ee71d4:~$ vi crontab
vi 에서 :%s/day/pen/g
profile
IT FullStack 강사

0개의 댓글