Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
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
Tags
more
Archives
Today
Total
관리 메뉴

ssuperjun 님의 블로그

[과제 1] bash, vi 기본 커맨드 익히기 본문

인턴

[과제 1] bash, vi 기본 커맨드 익히기

ssuperjun 2026. 1. 6. 12:24

bash 기본 명령어

ls: 현재 디렉토리 내 파일

    -al: 자세히(옵션)

pwd: 현재 위치(디렉토리)

mkdir 디렉토리명: 디렉토리 만들기

touch 파일명: 파일 생성

cd 디렉토리명: 디렉토리로 이동

cd ..: 부모 디렉토리로 이동

    cd 뒤 절대경로도 사용 가능

clear: 터미널 깨끗하게

rm 파일명: 파일 삭제

rm -r 디렉토리명: 디렉토리 삭제

    -r 옵션: 디렉토리 내 요소들 재귀적으로 삭제

명령어 --help: 명령어 사용방법 출력

man 명령어: 명령어 매뉴얼 출력

명령어 --version: 버전 출력

mkdir -p dir1/dir2/dir3: 여러 디렉토리 연쇄적으로 생성

cp 원본파일 목적지: 복사

mv 원본파일 목적지: 이동(이름 변경)


명령어 앞 sudo: 관리자 권한으로 실행

텍스트 편집기: nano 또는 vi


git 명령어

1. github에 저장된 프로젝트 가져오기

git clone url

git remote add origin url

 

2. branch 관련 명령어

git branch: branch 목록 조회

git checkout 브랜치: 이미 있는 브랜치로 이동

git checkout -b 브랜치: 새 브랜치 생성

 

3. github에 push할 때

git status: 파일 상태 확인

git add . : 작업 중인 모든 파일을 staging area에 올리기

git commit -m "메시지"

git push origin main


vi 기본 명령어

Vim을 사용하는 이유: 서버 환경에서 바로 파일 수정, 가벼움, 키보드만으로 동작

 

아래 출처: https://dgkim5360.tistory.com/entry/vim-tutorial-vimtutor-summary

커서 이동

hjkl: 좌상하우

0, $: 줄의 처음과 끝으로 이동

gg, G: 문서의 처음과 끝으로 이동

#G: #번째 줄로 이동

이전 커서 위치로 가기 ctrl+o, 다시 되돌아갈 때는 ctrl+i

w (word): 다음 단어의 첫 글자로 이동

e (end of word): 현재 단어 포함 다음 단어의 끝 글자로 이동

%: 가장 가까운 괄호 글자로 이동

 

입력 모드

i: 커서 위치에서 바로 입력 모드 시작

a: 커서 위치 바로 다음에서 입력 모드 시작

A: 커서 줄 끝에서 입력 모드 시작

o: 커서 다음 줄에 새로 한 줄 만들고 거기서 입력 모드 시작

O: 커서 이전 줄에 새로 한 줄 만들고 거기서 입력 모드 시작

 

지우기

x: 커서 위치의 글자 삭제

d: 지우기 operator

d+(action): 현재 커서 위치에서 (action) 대로 지운다, 아래는 (action) 리스트

  • w: 단어 끝까지 지움
  • $: 줄 끝까지 지움
  • d: 그냥 그 줄 전체를 지움

d#+(action): 숫자# 만큼 반복 실행, 예를 들면

  • d3w: 커서 위치부터 단어 3개 삭제
  • d5$: 커서 위치부터 5줄 삭제

vim에서 지우기 = 잘라내기임을 기억하자. 메모리에서 기억하고 있으므로 직전에 지웠던 내용을 붙여넣기할 수 있다.

 

수정 모드

R: 커서 위치부터 수정 모드 시작

r: 일회용 글자 단위 수정

c: 수정 operator

지우기 operator d처럼 c+(action)으로 여러 수정 행동을 할 수 있다.

  • cw 또는 ce: 현재 커서부터 한 단어 끝까지 지우고 입력 모드로 변경
  • c$: 현재 커서부터 줄 끝까지 지우고 입력 모드로 변경
  • c#+(action): 숫자# 만큼 반복 실행

 

실행 취소

u: 평범한 실행 취소

U: 해당 줄의 모든 변경 사항 취소

ctrl+r: 다시 실행

 

선택 모드, 복붙

v: 선택모드, v 입력 이후 hjkl키로 직접 영역 선택 가능

  • 선택 후 d 입력 시 선택 영역 삭제
  • 선택 후 : 입력 시 :'<,'> 라는 명령이 자동으로 입력되어 나오는데, 여기에 추가로 :'<,'>w filename 으로 선택 영역만 따로 저장
  • 선택 후 y 입력 시 복사

y: 복사 operator

  • y+(action): 커서부터 (action)에 따라 복사
  • yw: 한 단어 복사
  • y$: 줄 끝까지 복사
  • y#+(action): 자세한 설명은 생략한다

p: 붙여넣기

 

외부 명령 실행

:!: shell_command

  • 예) :!ls
  • 실행 후 enter 키를 통해 되돌아오거나, 계속 추가적으로 외부 명령을 입력할 수 있다.

 

파일 read/write

:q!: 저장 안하고 나가기

:wq: 저장하고 나가기

:w: 저장만 하기

:r filepath: 파일을 읽어서 현재 커서부터 그 내용 쓰기

  • 외부 명령의 output도 읽을 수 있다. 예) :r :!ls

 

찾기, 찾아바꾸기

/, ?: 찾기 operator / (순방향), ? (역방향)

  • /text, ?text 입력 후 enter키로 가장 가까운 것을 찾음
  • n으로 다음 검색, N으로 이전 검색 (순방향, 역방향에 따라 달라진다)

:s, :%s: 찾아바꾸기 명령

  • :s/old/new: 현재 위치한 줄에서 oldnew로 한 번 바꿈
  • :s/old/new/g: 현재 위치한 줄에서 모두 바꿈
  • :#1,#2s/old/new/g #1번째 줄부터 #2번째 줄까지 모두 바꿈
  • :%s/old/new: 문서 전체에서 한 번 바꿈
  • :%s/old/new/g: 문서 전체에서 모두 바꿈
  • :%s/old/new/gc: 문서 전체에서 모두 바꾸는데, 하나씩 물어봐준다.

\c: 명령 뒤에 붙여서 일회용으로 대소문자 구별 안하기 (e.g. /searchtext\c)

 

설정 변수 :set

여러 vim 설정을 바꿀 수 있다. 예를 들면 다음과 같은 찾기 관련 설정을 바꿀 수 있다.

:set ic (ignore case): 이제부터 대소문자 구별하지 않고 검색한다.

:set noic: 다시 대소문자 구별하게 검색한다.

:set hls (highlight search): 검색 결과를 하이라이트 표시해준다.

:set is (incremental search): 한 글자씩 쓸 때마다 검색이 반응 (직접 해보길)

 

이러한 설정들을 vim을 열 때마다 하나씩 다 입력하고 시작할 수는 없는 법. 설정 파일을 따로 만들어 저장하고, 이를 기반으로 vim을 시작하면 된다.

  • 새로 vim을 열고, :r $VIMRUNTIME/vimrc_example.vim 을 입력하면 예제 설정 템플릿을 로드할 수 있다.
  • :w .vimrc 로 저장
  • 이제 vim을 새로 시작하면 저장된 설정대로 vim이 작동할 것이다.

 

도움 받기

:help: 도움말 보기 (나갈 때는 :q)

:help command: 명령에 대한 도움말 보기 (e.g. :help w, :help c_CTRL-D, :help insert-index, :help user-manual)


읽을거리