데이터 엔지니어링

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

Big Byte 2025. 4. 10. 23:54

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


안녕하세요! 😊

패스트캠퍼스 환급챌린지와 함께 매일 성장하는 여정을 기록하고 있는 Big Byte입니다! 어제 리눅스(Linux) 기본 명령어의 세계에 첫 발을 내딛고 설레는 마음을 가득 안고 하루를 마무리했었는데요.

목요일인 오늘도 어김없이 퇴근 후 데스크탑 앞에 앉아 리눅스 강의를 들으며 지식 창고를 채웠습니다! 🤓 어제 `pwd`, `ls`, `cd` 명령어를 통해 리눅스 파일 시스템을 탐색하는 방법을 배웠다면, 오늘은 그 탐색한 공간에 나만의 영역을 구축하고(`mkdir`), 또 불필요한 것을 정리하는(`rm`) 방법까지 알아보는 아주 중요한 시간이었습니다.

CLI 환경, 즉 검은 화면에 명령어를 입력하는 것이 처음에는 낯설게 느껴졌지만, 하루 만에 조금은 익숙해진 제 모습이 스스로 대견하게 느껴지기도 하네요. 😄 그럼 오늘도 배우고 느낀 점들을 풍성하게 풀어보겠습니다! 🚀

 

 

1. 어제의 복습: 길 찾기와 둘러보기 (pwd, ls, cd)

새로운 것을 배우기 전에, 어제 배운 내용을 잠깐 떠올려볼까요?

*   `pwd` (Print Working Directory): "여기가 어디지?" 현재 내가 작업 중인 디렉토리의 위치를 절대 경로로 알려주는 명령어였죠. 네비게이션처럼 현재 위치를 파악하는 데 필수!
*   `ls` (List): "여기 뭐가 있지?" 현재 디렉토리 안의 파일과 하위 디렉토리 목록을 보여주는 명령어였습니다. `-l` 옵션으로 자세히 보거나, `-a` 옵션으로 숨겨진 파일까지 보는 등 옵션 활용이 중요했죠! (`-al` 조합은 정말 자주 쓰게 될 것 같아요!)
*   `cd` (Change Directory): "저기로 가고 싶어!" 원하는 디렉토리로 이동하는 명령어였습니다. `cd ..` (상위 폴더), `cd ~` (홈 디렉토리), `cd -` (이전 경로) 등 유용한 사용법들도 익혔습니다.

이 세 가지 명령어만으로도 리눅스 파일 시스템을 돌아다니는 기본적인 움직임은 가능해졌습니다. 마치 낯선 도시에 도착해서 지도를 보고(pwd), 주변을 둘러보고(ls), 길을 찾아 이동하는(cd) 방법을 배운 것과 같다고 할 수 있겠네요! 🗺️

**2. 새로운 능력 장착: 나만의 공간 만들기, `mkdir`!**

이제 기본적인 탐색 능력을 갖췄으니, 다음 단계는 무엇일까요? 바로 내가 원하는 대로 공간을 만들고 정리하는 것입니다. 윈도우에서 '새 폴더 만들기' 기능을 사용하듯, 리눅스에서도 파일들을 체계적으로 관리하기 위해 디렉토리를 생성하는 것이 필수적입니다. 이때 사용하는 명령어가 바로 `mkdir` (Make Directory) 입니다.

이름 그대로, 디렉토리를 만드는 아주 직관적인 명령어죠!

사용법:

mkdir [생성할 디렉토리 이름]


예를 들어, 'linux_study'라는 이름의 디렉토리를 현재 위치에 만들고 싶다면 터미널에 다음과 같이 입력하면 됩니다.


mkdir linux_study


명령어를 입력하고 엔터를 치면, 아무런 메시지가 뜨지 않는 경우가 많습니다. 리눅스는 보통 성공적인 작업에 대해서는 조용한 편(?)이거든요. 😉 제대로 만들어졌는지 확인하려면? 네, 바로 어제 배운 `ls` 명령어를 사용하면 됩니다!


ls


그러면 방금 만든 'linux_study' 디렉토리가 목록에 보이는 것을 확인할 수 있습니다. 와! 내가 만든 첫 디렉토리! 🎉

`mkdir`의 강력한 옵션: `-p` 로 한 번에 만들기!

`mkdir` 명령어는 단순히 하나의 디렉토리만 만드는 것 외에도 유용한 옵션을 제공합니다. 그중에서도 `-p` (parents) 옵션은 정말 정말 유용하니 꼭 기억해두세요! 만약 여러 단계의 하위 디렉토리를 한 번에 만들고 싶을 때, 예를 들어 `project/src/assets` 구조를 만들고 싶은데 중간 경로(`project`, `src`)가 없다면, `-p` 옵션이 마법처럼 해결해줍니다!


mkdir -p project/src/assets

이렇게 하면 중간 경로가 없어도 자동으로 생성해주니 정말 편리하죠? 👍

여러 개를 동시에? 문제없어요!

`mkdir` 명령어는 한 번에 여러 개의 디렉토리를 생성하는 기능도 지원합니다. 그냥 만들고 싶은 디렉토리 이름들을 공백으로 구분해서 나열해주면 됩니다.

mkdir docs images videos backup

 

 

 

3. 조심! 또 조심! 파일과 디렉토리 삭제하기, `rm`

자, 이제 공간을 만드는 법을 배웠으니, 불필요해진 파일이나 디렉토리를 **삭제하는 방법**도 알아야겠죠? 이때 사용하는 명령어가 바로 `rm` (Remove)입니다. 하지만 이 명령어는 사용할 때 **정말! 정말! 신중해야 합니다.** ⚠️

왜냐하면, 리눅스의 `rm` 명령어는 기본적으로 **휴지통 기능이 없습니다.** 한번 삭제하면 복구하기가 매우 어렵거나 불가능할 수 있기 때문입니다! 마치 현실에서 종이를 찢어버리는 것과 같다고 생각하면 됩니다.

기본 사용법 (파일 삭제):

rm [삭제할 파일 이름]

예를 들어, 'temp_report.txt'라는 파일을 삭제하고 싶다면:

rm temp_report.txt

`ls` 명령어로 확인해보면 해당 파일이 사라진 것을 볼 수 있습니다.

디렉토리 삭제는 어떻게? `-r` 옵션!

그냥 `rm` 명령어로는 디렉토리를 삭제할 수 없습니다. (파일만 삭제 가능) 디렉토리와 그 안의 모든 내용(하위 디렉토리, 파일 등)을 함께 삭제하려면 **`-r` (recursive, 재귀적인)** 옵션을 사용해야 합니다.

rm -r [삭제할 디렉토리 이름]

예를 들어, 아까 만들었던 'backup' 디렉토리를 삭제하려면:

rm -r backup

이 명령어는 'backup' 디렉토리뿐만 아니라 그 안에 들어있는 모든 파일과 하위 디렉토리까지 전부 삭제해버립니다. 따라서 정말 삭제해도 되는 디렉토리인지 반드시 확인하고 사용해야 합니다!

더 강력하게, 하지만 더 위험하게! `-f` 옵션!

때로는 삭제 권한이 없거나 존재하지 않는 파일을 삭제하려고 할 때 에러 메시지가 뜨거나, 삭제할 것인지 확인하는 메시지가 뜨는 경우가 있습니다. 이런 확인 절차나 경고 메시지를 무시하고 강제로 삭제를 진행하고 싶을 때 사용하는 옵션이 `-f` (force) 입니다.

rm -f [강제로 삭제할 파일 이름]
rm -rf [강제로 삭제할 디렉토리 이름] # 매우 위험!!

`rm -rf` 조합은 리눅스에서 가장 강력하면서도 위험한 명령어 중 하나입니다. 실수로 중요한 시스템 파일이나 개인 파일을 이 명령어로 삭제하면... 끔찍한 결과를 초래할 수 있습니다. 😱 정말 필요하고, 내가 무엇을 삭제하는지 100% 확신할 때만 사용해야 하며, 초보자 시절에는 가급적 사용을 피하는 것이 좋습니다. (저도 정말 조심해야겠다고 다짐했습니다!)

안전장치! `-i` 옵션!

실수를 방지하기 위해, 삭제하기 전에 정말 삭제할 것인지 하나하나 물어보게 하는 옵션도 있습니다. 바로 `-i` (interactive) 옵션입니다.

rm -i [삭제할 파일 이름]
rm -ri [삭제할 디렉토리 이름] # 디렉토리 내 각 항목마다 물어봄

이렇게 `-i` 옵션을 사용하면, 삭제 대상마다 "remove [파일명]?" 과 같이 물어봅니다. 여기서 `y` (yes)를 입력하면 삭제되고, `n` (no)을 입력하면 삭제되지 않습니다. 중요한 파일을 다룰 때는 `-i` 옵션을 습관처럼 사용하는 것이 안전합니다.

`rm` 명령어 사용 시 명심할 점:

*   휴지통은 없다!삭제는 영구적일 수 있다.
*   경로를 반드시 확인하라! 특히 `*` (와일드카드)와 함께 사용할 때 주의!
*   `rm -rf`는 최후의 수단으로, 극도의 주의를 기울여 사용하라!
*   확신이 없다면 `-i` 옵션을 사용하거나, 삭제 대신 다른 곳으로 이동(`mv`)하는 것을 고려하라.

4. 배운 명령어 조합하기: 만들고, 확인하고, 지우고!

이제 오늘 배운 `mkdir`와 `rm`까지 포함해서 실전처럼 활용해볼까요?

# 1. 홈 디렉토리로 이동
cd ~

# 2. 'TempWork' 디렉토리 생성
mkdir TempWork

# 3. TempWork 디렉토리로 이동
cd TempWork

# 4. 빈 파일 몇 개 생성 (touch는 파일 생성 명령어, 다음 시간에 배울지도?)
touch file1.txt file2.log draft.doc

# 5. 'SubDir' 라는 하위 디렉토리 생성
mkdir SubDir

# 6. 현재 디렉토리 내용 확인
ls -l

# 7. 'draft.doc' 파일 삭제 (-i 옵션으로 확인하며)
rm -i draft.doc 
# (y 입력)

# 8. 남은 파일 확인
ls

# 9. 'TempWork' 디렉토리 전체를 삭제하기 위해 상위 디렉토리로 이동
cd ..

# 10. 'TempWork' 디렉토리와 그 내용 삭제 (주의!)
# rm -r TempWork  # <- 정말 삭제할 준비가 되었을 때 주석 해제하고 실행!
# rm -ri TempWork # <- 안전하게 확인하며 삭제하고 싶다면 이쪽을!

# 11. 삭제 확인
ls



만들고(`mkdir`), 확인하고(`ls`), 삭제하는(`rm`) 과정까지! 이제 파일과 디렉토리를 관리하는 기본적인 사이클을 경험해본 셈입니다. `rm`의 강력함과 위험성을 직접 느껴보니 정신이 번쩍 드네요! ⚡

 

 

5. 오늘의 배움과 느낀 점 💡

오늘 `mkdir`와 `rm` 명령어를 배우면서, 리눅스 환경에서 공간을 창조하고 파괴하는(?) 기본적인 힘을 얻게 되었습니다. 특히 `mkdir -p` 옵션의 편리함과 `rm` 명령어, 특히 `rm -rf`의 엄청난 파괴력과 그에 따르는 책임감을 동시에 느낄 수 있었습니다.

강사님께서 `rm` 명령어의 위험성을 누누이 강조하셨는데, 왜 그렇게 강조하셨는지 직접 옵션들을 배우고 나니 뼈저리게 와닿았습니다. 윈도우의 휴지통 기능에 익숙해져 있다 보니, CLI 환경에서의 삭제는 정말 신중해야 한다는 것을 깨달았습니다. 앞으로 명령어를 입력하기 전에 한 번 더 생각하고, 경로를 확인하는 습관을 들여야겠습니다.

단순히 명령어를 외우는 것을 넘어, 각 명령어가 시스템에 어떤 영향을 미치는지, 어떤 위험성을 내포하고 있는지 이해하는 것이 중요하다는 것을 다시 한번 느낍니다. 아직 갈 길이 멀지만, 이렇게 하나씩 알아가는 과정이 정말 흥미롭고 재미있습니다. 🌱

오늘 목요일 하루도 이렇게 알차게 마무리합니다. 새로운 지식을 배우고 정리하는 이 시간이 참 소중하게 느껴지네요.

드디어 내일은 기다리고 기다리던 금요일! 🔥 내일은 불금이라고 모두 내일도 화이팅!** 😊 즐거운 주말을 향해 마지막까지 힘내봅시다!

 

https://abit.ly/lisbva