데이터 엔지니어링

패스트캠퍼스 환급챌린지 16일차: 데이터엔지니어링 초격차 강의 후기

Big Byte 2025. 4. 16. 22:56

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

안녕하세요! 리눅스 명령어의 매력에 푹 빠진 Big Byte입니다! 🚀 활기찬 수요일 보내고 계신가요? 벌써 한 주의 가운데라니, 시간이 정말 빠른 것 같네요! 🔥

 

지난 시간에는 리눅스의 전설적인 텍스트 편집기, vi(vim)와 첫 만남을 가졌죠! 🤝 명령 모드, 입력 모드, 마지막 행 모드를 넘나들며 이동하고(hjkl!), 텍스트를 입력(i, a, o!), 삭제(x, dw, dd!), 복사/붙여넣기(yy, p!), 그리고 저장(:w)과 종료(:q, :wq)까지! 처음엔 낯설었지만, 이제 조금은 vi와 친해진 느낌이 드시나요? 😊

 

기본적인 편집 방법을 익혔으니, 이제 한 단계 더 나아가 볼까요? 실제 작업을 하다 보면 파일 하나만 열어보는 경우는 드뭅니다. 설정 파일을 비교해야 할 때도 있고, 다른 파일의 내용을 참조하며 코드를 작성해야 할 때도 있죠. 이럴 때마다 vi를 껐다 켰다 하는 건 너무 비효율적이잖아요! 😥

 

그래서 오늘은 vi(vim)의 숨겨진 강력한 기능! 여러 파일을 동시에 보고 편집하는 방법에 대해 알아보겠습니다! 이제 vi 안에서도 멀티태스킹 마법을 부려보자고요! ✨ Let's multi-edit! ⌨️

 

 

1. 시작부터 여러 개! 🚀 파일 여러 개 동시에 열기

가장 기본적인 방법은 vi를 시작할 때부터 원하는 파일들을 모두 지정하는 것입니다.

      vi file1.txt file2.log config.conf
    

이렇게 하면 file1.txt가 먼저 열리고, 나머지 파일들(file2.log, config.conf)은 **버퍼(Buffer)**라는 임시 저장 공간에 로드됩니다. vi는 이 파일 목록을 기억하고 있어요!

 

2. 파일 사이를 순간이동! 휙휙~ 💫 (버퍼 이동하기)

자, 여러 파일을 열었으니 이제 파일 사이를 자유롭게 이동해야겠죠? 이때 사용하는 것이 바로 버퍼 관련 명령어입니다. (명령 모드에서 :를 눌러 마지막 행 모드로 진입 후 사용하세요!)

  • :ls : 현재 열려있는 파일(버퍼) 목록을 보여줍니다. 각 파일 앞에는 번호가 붙어있어요. (%a는 현재 활성화된 버퍼를 의미)
  • :n : 다음 파일(버퍼)로 이동합니다. (Next)
  • :N 또는 :prev : 이전 파일(버퍼)로 이동합니다. (Previous)
  • :bnext : 다음 파일(버퍼)로 이동합니다. (:n과 동일)
  • :bprev : 이전 파일(버퍼)로 이동합니다. (:N과 동일)
  • :b [번호] : :ls에서 확인한 번호에 해당하는 파일(버퍼)로 바로 이동합니다. (예: :b 2)
  • :b [파일명 일부] : 파일 이름의 일부만 입력해도 해당 파일(버퍼)로 이동합니다. (Tab 키 자동완성 가능!) (예: :b conf)

ls, n, N 세 가지만 알아도 파일 간 이동은 문제없어요! 마치 여러 개의 작업 창을 순식간에 전환하는 느낌이랄까요? 😎

 

3. 화면 분할! 🖥️ 한눈에 비교하고 편집하기 (Split View)

파일 사이를 이동하는 것만으로는 부족할 때가 있습니다. 두 파일을 동시에 보면서 비교하거나 내용을 복사/붙여넣기 하고 싶을 때! 이럴 때 사용하는 것이 바로 화면 분할(Split) 기능입니다.

 

Horizontal Split

  • 수평 분할 (Horizontal Split)
    • :sp 또는 :split : 현재 파일을 기준으로 화면을 위아래로 나눕니다. 같은 파일이 두 개의 창에 보이게 됩니다.
    • :sp [파일명] : 현재 창을 위아래로 나누면서 새로운 파일을 아래 창에 엽니다.
  • 수직 분할 (Vertical Split)
    • :vs 또는 :vsplit : 현재 파일을 기준으로 화면을 좌우로 나눕니다.
    • :vs [파일명] : 현재 창을 좌우로 나누면서 새로운 파일을 오른쪽 창에 엽니다.

이제 여러 개의 창(Window)이 생겼네요! 그럼 이 창들 사이는 어떻게 이동할까요?

  • 창 간 이동 (명령 모드에서)
    • Ctrl + w 누른 후 h : 왼쪽 창으로 이동
    • Ctrl + w 누른 후 j : 아래쪽 창으로 이동
    • Ctrl + w 누른 후 k : 위쪽 창으로 이동
    • Ctrl + w 누른 후 l : 오른쪽 창으로 이동
    • Ctrl + w 누른 후 w : 다음 창으로 순환 이동 (가장 많이 사용!)
  • 창 닫기 (명령 모드에서)
    • :q : 현재 활성화된 창을 닫습니다. (만약 해당 창이 파일의 마지막 창이었다면 파일이 닫힙니다.)
    • :close : :q와 동일하게 현재 창을 닫습니다.
    • :only : 현재 활성화된 창만 남기고 나머지 모든 창을 닫습니다.

Tip: 화면 분할 창을 닫아도 파일(버퍼)은 닫히지 않습니다! :ls로 확인하면 여전히 목록에 남아있고, :b 명령어로 다시 열 수 있어요. 😉

 

4. 작업 완료! 모든 파일 저장하고 종료하기 💾🚀

여러 파일을 수정하고 화면 분할까지 사용했다면, 저장하고 종료하는 것도 한 번에 처리하는 것이 좋겠죠?

  • :wa : 열려있는 모든 수정된 파일을 저장합니다. (Write All)
  • :qa : 열려있는 모든 창(파일)을 종료합니다. (Quit All - 수정사항이 없거나 저장했을 때만 가능)
  • :wqa 또는 :xa : 열려있는 모든 수정된 파일을 저장하고 모든 창(파일)을 종료합니다. (Write & Quit All)
  • :qa! : 주의! ⚠️ 수정된 내용이 있더라도 묻지 않고 강제로 모든 창(파일)을 종료합니다. 작업 내용을 날릴 수 있으니 신중하게 사용하세요!

와우! 이제 vi 안에서 여러 파일을 자유자재로 넘나들고, 화면을 분할해서 동시에 보면서 작업할 수 있게 되었습니다! 🤩 기본 이동/편집에 이 기능까지 더해지니 정말 강력한 편집기가 되었죠? 특히 서버 환경에서 여러 설정 파일을 비교하거나 로그 파일을 동시에 볼 때 정말 유용하답니다. 마우스 없이 키보드만으로 이런 멀티태스킹이 가능하다니, 정말 매력적이지 않나요? 😎 vi(vim)의 세계는 알면 알수록 깊고 흥미롭습니다!

 

 

벌써 한 주의 절반이 지나 수요일 밤이네요! 시간 정말 빠르죠? 쏜살같이 지나간 만큼, 오늘 하루도 각자의 자리에서 정말 고생 많으셨습니다! 👍 편안한 저녁 보내시고, 남은 한 주도 힘내서 즐거운 주말을 향해 함께 달려가 봐요! 내일도 화이팅입니다! 😄

 

https://abit.ly/lisbva