2025. 3. 18. 14:37ㆍ보안/Linux
Kali Linux 기초 가이드는 normaltic 강의를 참고하여 제작하였습니다.
1. Vi Text Editor란?
리눅스에서 가장 기본적인 텍스트 편집기다.
서버 환경이나 터미널에서 GUI없이 파일을 수정할 때 필수적인 도구이며, 모든 유닉스 계열 시스템에서 기본적으로 제공된다.
Windows에 기본적으로 있는 메모장! 이게 바로 Windows의 Text Editor라고 할 수 있다.
2. Vi의 특징
- 터미널 기반 텍스트 에디터 (GUI 없이 사용 가능)
- 모든 리눅스 배포판에 기본 포함
- 강력한 단축키 기반 편집기능
- 다양한 모드 (명령 모드, 입력 모드) 제공
Vi를 한번 실행 해보자.
Vi
vi가 실행된 것을 볼 수 있다.
이제 글작성을 한번 해보자면, 글작성이 안될 것이다.
vi 에는 크게 2가지 모드가 있다. 바로 입력 모드와 명령 모드다.
vi 는 CLI 기반이기 때문에 마우스가 없다. 그러니 저장 버튼도, 종료하는 버튼도, 파일 메뉴도 없다. 모든걸 명령을 내려서 처리해야 하기 때문에 명령 모드가 존재 한다.
또한 글을 입력해야하고, 수정하는 기등도 있어야 해서, 입력 모드도 존재한다.
기본적으로 vi를 실행하게 되면 명령 모드로 실행이 된다. 그러니 우리는 입력모드로 변경해줘야 하는데
키보드에 i 를 눌러보자!
뭔가 달라진게 있을 것이다. 바로 밑에 -- INSERT -- 라고 표시되어있는데
이는 입력 모드로 변경되었음을 알려준다.
이제 아무거나 적어 보자
이런 식으로 원하는 대로 줄도 바꾸고, 글씨도 지우고 쓰고 할 수 있다.
파일을 저장해야 겠죠?
그러면 ESC 버튼을 누르게되면 다시 명령 모드로 변환이 된다.
눌러보자!
아까 봤던 -- INSERT --가 없어진 것이 보일 것이다. 그러면 다시 명령 모드로 들어 온것이다.
파일을 저장하는 명령어는 다음과 같습니다.
:w [저장할 파일 이름]
이와 같이 "test" [New] 5L, 50B written 로 저장하였음을 알 수 있다.
이제 종료 해보자 종료 명령어는 아래와 같다.
:q
이렇게 다시 돌아오게 되는데, 저장할 때 경로를 따로 지정안해줬으니, 현재 경로에 저장되어 있을 것이다. 한번 ls 명령어로 확인해 보자.
위와 같이 test라는 파일이 생성된 것을 알 수 있다.
다시 파일을 열기 위해 아래와 같이 입력 해보자!
vi test
다시 vi로 해당 파일로 들어 온것을 확인 할 수 있다.
이제 파일 수정을 하는데 다시 i 를 눌러서 수정을 해주면 된다.
이렇게 수정하면 되는데, 저장 후 바로 종료를 할 수도 있다.
저장 명령어 :w 가 있고 종료 명령어 :q 가 있는데 두번 하려면 귀찮다.
이럴때 바로 :wq 를 적으면 바로 종료가 된다.
이런식으로 말이다. 이제 다른 단축 기능들을 알아 보겠다.
다시 실행 해주고,
찾기를 해보겠다.
지금은 파일이 작아서 한 눈에 보이게 되는데 몇 백줄 되는 것들을 일일이 찾는 것은 굉장히 힘들다. 그래서 특정 단어를찾기 위해서는 명령 모드에서 명령을 내려줘야합니다.
특정 단어를 찾기위해서는 명령 모드에서 / (슬레쉬)를 입력한뒤 원하는 단어를 적어주면 된다.
만약 Pan 이라는 단어를 찾고 싶으면 /Pan 이라고 입력하면 된다.
여기서 Enter를 누르게 되면 그 위치로 이동하게 된다.
그러면 몇백줄이나 되는 파일에서 원하는 걸 찾을 수 있겠죠?
만약 똑같은 글자가 여러 개 있으면 어떻게 할까?
한번 Pan 이라는 글자를 여러 개 쓰고 찾아보자
그러면 Pan이라는 글자를 찾게되는데 여기서 Enter를 눌러서 이동하자.
맨 앞 글자에 이동하게 되는 것을 볼 수 있다. 만약 그 다음 Pan 글자를 찾고 싶으면 키보드 n을 누르면 된다.
이런 식으로 그 다음 Pan 이라는 단어의 앞에 이동한 것을 볼 수 있다.
만약 이전 으로 이동하고 싶으면 키보드 대문자 N을 누르게 되면 이전으로 돌아 간다.
이런 식으로 찾을 수 있다. 이번엔 줄로 이동해보자.
만약 파이썬 코드를 짜서 실행하거나, Shell 스크립트를 짜서 실행하게 되면 오류가 발생하게 되는데, 이때 보통은 Line(줄)로 알려준다 이때 사용하면 유용하다.
예를 들어 3번째 줄로 이동하고 싶으면 :3 이런식으로 쓰면된다.
이렇게 I 에 이동한 것이 보일 것이다.
이제 줄 삭제를 한번 해보자. 줄 삭제는 명령 모드에서 dd 라는 명령어를 이용해서 할 수 있다.
원하는 줄에 이동한 후 dd를 눌러보자 !
나는 Nice to meet you !! 라는 글자를 지우고 싶어서 이동 후 dd를 눌러서 삭제 하였다. 이처럼 dd를 이용해서 줄 전체를 삭제 할 수 도있다. 만약 여러줄을 삭제하고 싶으면 원하는 위치에 이동 한후 만약 3줄을 삭제하고 싶으면 3을누르고 dd를 누르면 3줄이 삭제가 된다.
이런 식으로 삭제 되었음을 알 수 있다. 마지막으로 기본 조작법에 대해 알려 준뒤 끝내겠다.
1. 명령 모드
📌 페이지 단위 이동
Ctrl + f # 한 페이지 앞으로 이동
Ctrl + b # 한 페이지 뒤로 이동
📌 특정 줄 이동
:num # num 번째 줄로 이동
📌 명령 모드에서 입력 모드로 전환
i # 커서 앞에 입력
a # 커서 뒤에 입력
o # 다음 줄에 새 줄 추가
O # 현재 줄 위에 새 줄 추가
📌 파일 저장, 종료
명령어 | 설명 |
:w | 파일 저장 (write) |
:q | 편집하지 않고 종료 (quit) |
:wq 또는 ZZ | 저장 후 종료 (write + quit) |
:q! | 저장하지 않고 강제 종료 |
📌 삭제
명령어 | 설명 |
x | 현재 커서의 문자 삭제 |
dd | 현재 줄 삭제 |
D | 현재 커서에서 줄 끝까지 삭제 |
d$ | 현재 줄의 커서 이후 부분 삭제 |
d0 | 현재 줄의 커서 이전 부분 삭제 |
dG | 현재 줄부터 파일 끝까지 삭제 |
📌 복사 & 붙여넣기
명령어 | 설명 |
yy | 현재 줄 복사 |
y$ | 커서부터 줄 끝까지 복사 |
yw | 한 단어 복사 |
p | 붙여넣기 (복사한 내용) |
📌 실행 취소
명령어 | 설명 |
u | 실행 취소 (undo) |
Ctrl + r | 실행 취소를 되돌리기 (redo) |
📌 검색
명령어 | 설명 |
/검색어 | 아래 방향으로 검색 |
?검색어 | 위 방향으로 검색 |
n | 다음 검색 결과로 이동 |
N | 이전 검색 결과로이동 |
📌 문자열 바꾸기, 특정 줄만 바꾸기
명령어 | 설명 |
:%s/old/new/g | 파일 전체에서 "old"를 "new"로 변경 |
:10,20s/old/new/g | 10~20번째 줄에서 "old"를 "new"로 변경 |
여러모로 많이 사용해봐야 익숙해질꺼같다.
'보안 > Linux' 카테고리의 다른 글
Kali Linux 기초 Part. 13 REMOVE 삭제 (0) | 2025.03.18 |
---|---|
Kali Linux 기초 Part. 12 COPY 복사 (0) | 2025.03.18 |
Kali Linux 기초 Part. 9 TAB 키의 역할 (자동 완성) (0) | 2025.03.18 |
Kali Linux 기초 Part. 8 절대 경로 VS 상대 경로 (0) | 2025.03.18 |
Kali Linux 기초 Part. 7 Kali Linux의 File System (0) | 2025.03.18 |