일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- FTZ
- Leviathan
- overthewire
- privilege escalation
- Authentication
- Cryptography
- 파일 업로드 취약점
- php 파일 업로드하기
- ssrf
- Reconnaissance
- php 로그인 페이지 만들기
- php To Do List
- file upload
- War Game
- active recon
- php file upload
- sql injection
- Recon
- Server Side Request Forgery
- tryhackme
- access control
- over the wire
- php login page
- SQLi
- BANDiT
- OS Command Injection
- active reconnaissance
- THM
- php
- Cookie
- Today
- Total
R's Hacking Daily Log
vi command 본문
오늘 알아볼 command는 바로~ vi
vi는 command라기보다는 CLI 환경에서 사용할 수 있는 텍스트 편집기(text editor)라고 할 수 있다.
vi
vi FILENAME
터미널에 vi를 입력하면 텍스트 편집기가 실행된다.
(1) vi만 입력할 수도 있고
(2) vi 뒤에 생성할 파일 이름을 작성할 수도 있다.
vi만 입력한 경우에는 파일을 저장할 때 파일명을 설정하면 된다.
FILE_NAME 위치에 생성할 파일명을 입력하면 된다.
위의 명령어를 입력하면 위와 같이 editor가 실행되는 모습을 볼 수 있다.
왼측 하단에는 editor로 연 파일명이 출력된다.
아직 아무 내용도 작성하지 않은 상태이기 때문에 당연히 아무것도 적혀있지 않다!!
하지만 무언가를 입력하고자 키보드를 눌러도 입력이 안 될 것이다.
vi는 기본적으로 실행했을 때 명령모드 상태이기 때문인데,
명령 모드 상태에서 입력 모드로 전환하기 위해서는 키보드 i 를 눌러주면 된다.
i를 눌러주면 왼측 하단에 -- INSERT -- 문구가 뜨는 걸 볼 수 있을 것이다.
이 문구가 뜬 상태에서는 일반 메모장처럼 내용 작성이 가능해진다.
입력을 모두 끝마친 후에 다시 명령 모드로 빠져나오기 위해서는 ESC 버튼을 누르면 된다.
명령 모드로 다시 빠져나오게 되면 왼측 하단에 출력되던 -- INSERT -- 문구가 사라진 걸 볼 수 있을 것!!
입력 모드에서는 파일 내용을 작성할 수 있었는 데, 그렇다면 명령 모드는 왜 필요한 걸까??
파일 작성을 다 하고 나면 내용을 저장한 후 editor에서 빠져나와야 한다.
아니면 파일 내용 중 특정 단어를 찾거나 여러 줄에 걸친 내용을 삭제하고자 할 수도 있다.
이런 기능들은 입력 모드가 아닌 명령 모드에서 실행된다.
즉 입력 모드에서는 말 그대로 파일 내용을 작성하고
명령 모드에서는 그 밖의 파일과 관련된 기능을 수행한다고 볼 수 있다.
우선 위에서 작성한 파일을 저장해보고자 한다.
명령 모드에서 콜론을 입력하면 하단에 입력되는 걸 볼 수 있을 것이다.
:w
위와 같이 :w을 입력하는 경우에는 입력 모드에서 작성한 파일 내용을 저장한다.
:q
파일 내용을 저장하고 난 후, editor를 빠져나오기 위해서는 :q를 입력하면 된다.
:wq
내용을 작성하고 나서 저장과 동시에 editor를 빠져나오고 싶다면
위의 명령 w & q를 같이 쓰면 된다.
그 밖에도
원하는 줄로 이동하기 위해서는
:LINE
:3
:5
" : + 이동할 라인 " 형태로 입력하면 된다.
3번째 줄로 이동한 결과는 왼쪽, 5번째 줄로 이동하는 결과는 오른쪽과 같다.
만약 특정 단어를 찾고 싶다면 " / "를 입력한 후, 찾을 단어를 입력하면 된다.
:WORD
:melon
/melon을 입력해본 결과, melon과 일치하는 부분이 하이라이트 된 걸 볼 수 있다.
일치하는 부분을 찾고난 후 엔터를 누르면 해당 단어의 첫 문자로 이동하게 되고
일치하는 단어가 여러 개일 경우에는 키보드 n을 누르면 다음 단어로 이동한다.
마지막으로 한 줄 OR 연속적인 여러 줄을 삭제하는 방법을 알아보자.
세 번째 줄에 작성된 strawberry를 삭제하고자 한다면 해당 줄에 커서를 가져다 둔 다음에
(왼쪽 사진에서 strawberry 중 a)
dd
키보드 d를 연속으로 두 번 누르면 된다.
melon이 적힌 줄을 시작으로 3줄을 삭제하고 싶을 때는
삭제할 줄의 개수를 누른 후 키보드 d를 연속으로 두 번 누르면 된다.
한 줄을 삭제할 때와 마찬가지로 삭제할 첫 번째 줄에 커서를 위치시켜야한다.
(예시에서는 melon에 커서를 위치시킴)
LINE + dd
#위의 예시에서는
3dd
'Tool & Command' 카테고리의 다른 글
cd Command (0) | 2023.05.17 |
---|---|
Wget Command (0) | 2023.05.13 |
Sudo command (0) | 2023.03.03 |
tee command (0) | 2023.02.26 |
Gobuster (0) | 2023.01.20 |