wiki:it:linux:basic_commands
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| wiki:it:linux:basic_commands [2025/07/29 12:41] – [📚 참고자료] syjang0803 | wiki:it:linux:basic_commands [2025/07/31 01:24] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 6: | 줄 6: | ||
| **Linux 터미널이 처음이신가요? | **Linux 터미널이 처음이신가요? | ||
| - | ===== 🎯 학습 목표 ===== | + | ---- |
| + | |||
| + | ===== 1. 🎯 학습 목표 ===== | ||
| 이 가이드를 마치면: | 이 가이드를 마치면: | ||
| - | - **파일과 폴더**를 자유자재로 다룰 수 있습니다 | + | |
| - | - **터미널에서 길을 잃지 않고** 원하는 곳으로 이동할 수 있습니다 | + | - **터미널에서 길을 잃지 않고** 원하는 곳으로 이동할 수 있습니다 |
| - | - **파일 내용을 확인**하고 **검색**할 수 있습니다 | + | - **파일 내용을 확인**하고 **검색**할 수 있습니다 |
| - | - **실무에서 자주 쓰는 명령어**들을 자연스럽게 사용할 수 있습니다 | + | - **실무에서 자주 쓰는 명령어**들을 자연스럽게 사용할 수 있습니다 |
| - | ===== 🚀 Linux 터미널 첫 만남 ===== | + | ===== 2. 🚀 Linux 터미널 첫 만남 ===== |
| - | ==== Linux가 뭔가요? ==== | + | ==== 1) Linux가 뭔가요? ==== |
| **Linux**는 스마트폰의 안드로이드, | **Linux**는 스마트폰의 안드로이드, | ||
| 줄 22: | 줄 24: | ||
| **터미널**은 마우스 클릭 대신 **글자로 명령**을 내리는 방식입니다. 처음엔 불편해 보이지만, | **터미널**은 마우스 클릭 대신 **글자로 명령**을 내리는 방식입니다. 처음엔 불편해 보이지만, | ||
| - | ==== 터미널 열기 ==== | + | ---- |
| + | ==== 2) 터미널 열기 ==== | ||
| **Windows (WSL)**: | **Windows (WSL)**: | ||
| - | < | + | %%Windows 키 + R → " |
| - | Windows 키 + R → " | + | |
| - | </ | + | |
| **Mac**: | **Mac**: | ||
| - | < | + | %%Cmd + Space → " |
| - | Cmd + Space → " | + | |
| - | </ | + | |
| **Linux**: | **Linux**: | ||
| - | < | + | %%Ctrl + Alt + T%% |
| - | Ctrl + Alt + T | + | |
| - | </ | + | |
| - | ===== 🧭 1단계: 내가 어디에 있는지 파악하기 ===== | + | ===== 3. 🧭 1단계: 내가 어디에 있는지 파악하기 ===== |
| - | ==== pwd - 현재 위치 확인 ==== | + | ---- |
| + | ==== 1) pwd - 현재 위치 확인 ==== | ||
| **의미**: "Print Working Directory" | **의미**: "Print Working Directory" | ||
| - | <code bash> | + | <file bash> |
| pwd | pwd | ||
| - | </code> | + | </file> |
| **결과 예시**: | **결과 예시**: | ||
| - | <code> | + | <file> |
| / | / | ||
| - | </code> | + | </file> |
| **🔍 이해하기**: | **🔍 이해하기**: | ||
| - | - Linux에서는 모든 파일과 폴더가 **트리 구조**로 되어 있어요 | + | |
| - | - `/`가 최상위 폴더(루트)이고, | + | - %%/%%가 최상위 폴더(루트)이고, |
| - | - `/ | + | - %%/ |
| - | ==== ls - 현재 위치의 파일과 폴더 보기 ==== | + | ---- |
| + | ==== 2) ls - 현재 위치의 파일과 폴더 보기 ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # 기본 사용법 | # 기본 사용법 | ||
| ls | ls | ||
| 줄 75: | 줄 74: | ||
| # 자세한 정보 + 숨겨진 파일 모두 보기 | # 자세한 정보 + 숨겨진 파일 모두 보기 | ||
| ls -la | ls -la | ||
| - | </code> | + | </file> |
| **결과 해석**: | **결과 해석**: | ||
| - | <code> | + | <file> |
| drwxr-xr-x | drwxr-xr-x | ||
| -rw-r--r-- | -rw-r--r-- | ||
| - | </code> | + | </file> |
| - | - **첫 글자**: '' | + | |
| - | - **숫자**: 파일 크기 (바이트) | + | - **숫자**: 파일 크기 (바이트) |
| - | - **날짜/ | + | - **날짜/ |
| - | ==== cd - 다른 폴더로 이동하기 ==== | + | ---- |
| + | ==== 3) cd - 다른 폴더로 이동하기 ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # Documents 폴더로 이동 | # Documents 폴더로 이동 | ||
| cd Documents | cd Documents | ||
| 줄 107: | 줄 107: | ||
| # 이전 위치로 돌아가기 | # 이전 위치로 돌아가기 | ||
| cd - | cd - | ||
| - | </code> | + | </file> |
| **💡 실습해보기**: | **💡 실습해보기**: | ||
| - | <code bash> | + | <file bash> |
| pwd # 현재 위치 확인 | pwd # 현재 위치 확인 | ||
| ls # 뭐가 있는지 보기 | ls # 뭐가 있는지 보기 | ||
| 줄 117: | 줄 117: | ||
| cd .. # 다시 원래 위치로 | cd .. # 다시 원래 위치로 | ||
| pwd # 돌아왔는지 확인 | pwd # 돌아왔는지 확인 | ||
| - | </code> | + | </file> |
| - | ===== 📁 2단계: 폴더 만들고 지우기 ===== | + | ===== 4. 📁 2단계: 폴더 만들고 지우기 ===== |
| - | ==== mkdir - 새 폴더 만들기 ==== | + | ---- |
| + | ==== 1) mkdir - 새 폴더 만들기 ==== | ||
| **의미**: "Make Directory" | **의미**: "Make Directory" | ||
| - | <code bash> | + | <file bash> |
| # 기본 사용법 | # 기본 사용법 | ||
| mkdir 새폴더 | mkdir 새폴더 | ||
| 줄 134: | 줄 135: | ||
| # 중간 폴더가 없어도 자동으로 만들어주기 | # 중간 폴더가 없어도 자동으로 만들어주기 | ||
| mkdir -p 프로젝트/ | mkdir -p 프로젝트/ | ||
| - | </code> | + | </file> |
| **💡 실습해보기**: | **💡 실습해보기**: | ||
| - | <code bash> | + | <file bash> |
| mkdir 연습폴더 | mkdir 연습폴더 | ||
| ls # 폴더가 생겼는지 확인 | ls # 폴더가 생겼는지 확인 | ||
| cd 연습폴더 | cd 연습폴더 | ||
| pwd # 들어왔는지 확인 | pwd # 들어왔는지 확인 | ||
| - | </code> | + | </file> |
| - | ==== rmdir - 빈 폴더 지우기 ==== | + | ---- |
| + | ==== 2) rmdir - 빈 폴더 지우기 ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # 빈 폴더만 삭제 가능 | # 빈 폴더만 삭제 가능 | ||
| rmdir 빈폴더 | rmdir 빈폴더 | ||
| # 폴더 안에 파일이 있으면 삭제 안됨 (안전장치) | # 폴더 안에 파일이 있으면 삭제 안됨 (안전장치) | ||
| - | </code> | + | </file> |
| **⚠️ 주의**: '' | **⚠️ 주의**: '' | ||
| - | ===== 📄 3단계: 파일 다루기 ===== | + | ===== 5. 📄 3단계: 파일 다루기 ===== |
| - | ==== touch - 빈 파일 만들기 ==== | + | ---- |
| + | ==== 1) touch - 빈 파일 만들기 ==== | ||
| **의미**: 원래는 파일의 시간을 바꾸는 명령어인데, | **의미**: 원래는 파일의 시간을 바꾸는 명령어인데, | ||
| - | <code bash> | + | <file bash> |
| # 빈 파일 만들기 | # 빈 파일 만들기 | ||
| touch 새파일.txt | touch 새파일.txt | ||
| 줄 169: | 줄 172: | ||
| # 여러 파일 한 번에 만들기 | # 여러 파일 한 번에 만들기 | ||
| touch 파일1.txt 파일2.txt 파일3.txt | touch 파일1.txt 파일2.txt 파일3.txt | ||
| - | </code> | + | </file> |
| - | ==== cp - 파일 복사하기 ==== | + | ---- |
| + | ==== 2) cp - 파일 복사하기 ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # 기본 사용법: cp 원본 복사본 | # 기본 사용법: cp 원본 복사본 | ||
| cp 원본.txt 복사본.txt | cp 원본.txt 복사본.txt | ||
| 줄 183: | 줄 187: | ||
| # 다른 폴더로 복사하기 | # 다른 폴더로 복사하기 | ||
| - | cp 파일.txt / | + | cp 파일.txt |
| - | </code> | + | </file> |
| **💡 실습해보기**: | **💡 실습해보기**: | ||
| - | <code bash> | + | <file bash> |
| touch 원본.txt | touch 원본.txt | ||
| cp 원본.txt 복사본.txt | cp 원본.txt 복사본.txt | ||
| ls # 두 파일이 모두 있는지 확인 | ls # 두 파일이 모두 있는지 확인 | ||
| - | </code> | + | </file> |
| - | ==== mv - 파일 이동하기 (이름 바꾸기) ==== | + | ---- |
| + | ==== 3) mv - 파일 이동하기 (이름 바꾸기) ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # 파일 이름 바꾸기 | # 파일 이름 바꾸기 | ||
| mv 옛이름.txt 새이름.txt | mv 옛이름.txt 새이름.txt | ||
| # 파일을 다른 폴더로 이동 | # 파일을 다른 폴더로 이동 | ||
| - | mv 파일.txt / | + | mv 파일.txt |
| # 폴더 이름 바꾸기 | # 폴더 이름 바꾸기 | ||
| mv 옛폴더명 새폴더명 | mv 옛폴더명 새폴더명 | ||
| - | </code> | + | </file> |
| **🔍 이해하기**: | **🔍 이해하기**: | ||
| - | ==== rm - 파일 지우기 ==== | + | ---- |
| + | ==== 4) rm - 파일 지우기 ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # 파일 삭제 | # 파일 삭제 | ||
| rm 파일.txt | rm 파일.txt | ||
| 줄 223: | 줄 229: | ||
| # 폴더와 그 안의 모든 내용 삭제 | # 폴더와 그 안의 모든 내용 삭제 | ||
| rm -r 폴더명 | rm -r 폴더명 | ||
| - | </code> | + | </file> |
| **⚠️ 경고**: '' | **⚠️ 경고**: '' | ||
| **💡 실습해보기**: | **💡 실습해보기**: | ||
| - | <code bash> | + | <file bash> |
| touch 테스트.txt | touch 테스트.txt | ||
| ls # 파일이 있는지 확인 | ls # 파일이 있는지 확인 | ||
| rm 테스트.txt | rm 테스트.txt | ||
| ls # 파일이 사라졌는지 확인 | ls # 파일이 사라졌는지 확인 | ||
| - | </code> | + | </file> |
| - | ===== 📖 4단계: 파일 내용 보기 ===== | + | ===== 6. 📖 4단계: 파일 내용 보기 ===== |
| - | ==== cat - 파일 내용 전체 보기 ==== | + | ---- |
| + | ==== 1) cat - 파일 내용 전체 보기 ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # 파일 내용 보기 | # 파일 내용 보기 | ||
| cat 파일.txt | cat 파일.txt | ||
| 줄 251: | 줄 258: | ||
| cat >> 파일.txt | cat >> 파일.txt | ||
| (내용 입력 후 Ctrl+D로 종료) | (내용 입력 후 Ctrl+D로 종료) | ||
| - | </code> | + | </file> |
| **💡 실습해보기**: | **💡 실습해보기**: | ||
| - | <code bash> | + | <file bash> |
| echo " | echo " | ||
| cat 인사.txt | cat 인사.txt | ||
| - | </code> | + | </file> |
| - | ==== less - 파일 내용 페이지별로 보기 ==== | + | ---- |
| + | ==== 2) less - 파일 내용 페이지별로 보기 ==== | ||
| **의미**: 긴 파일을 편리하게 볼 수 있어요 | **의미**: 긴 파일을 편리하게 볼 수 있어요 | ||
| - | <code bash> | + | <file bash> |
| less 긴파일.txt | less 긴파일.txt | ||
| - | </code> | + | </file> |
| **조작법**: | **조작법**: | ||
| - | - **스페이스바**: | + | |
| - | - **b**: 이전 페이지 | + | - **b**: 이전 페이지 |
| - | - **q**: 종료 | + | - **q**: 종료 |
| - | - **/검색어**: 내용 검색 | + | - %%/검색어%%: 내용 검색 |
| - | - **G**: 파일 끝으로 이동 | + | - **G**: 파일 끝으로 이동 |
| - | - **g**: 파일 처음으로 이동 | + | - **g**: 파일 처음으로 이동 |
| - | ==== head - 파일 앞부분 보기 ==== | + | ---- |
| + | ==== 3) head - 파일 앞부분 보기 ==== | ||
| **의미**: 파일의 첫 몇 줄만 보기 | **의미**: 파일의 첫 몇 줄만 보기 | ||
| - | <code bash> | + | <file bash> |
| # 처음 10줄 보기 (기본값) | # 처음 10줄 보기 (기본값) | ||
| head 파일.txt | head 파일.txt | ||
| 줄 285: | 줄 294: | ||
| # 처음 5줄만 보기 | # 처음 5줄만 보기 | ||
| head -n 5 파일.txt | head -n 5 파일.txt | ||
| - | </code> | + | </file> |
| - | ==== tail - 파일 뒷부분 보기 ==== | + | ---- |
| + | ==== 4) tail - 파일 뒷부분 보기 ==== | ||
| **의미**: 파일의 마지막 몇 줄만 보기 | **의미**: 파일의 마지막 몇 줄만 보기 | ||
| - | <code bash> | + | <file bash> |
| # 마지막 10줄 보기 (기본값) | # 마지막 10줄 보기 (기본값) | ||
| tail 파일.txt | tail 파일.txt | ||
| 줄 300: | 줄 310: | ||
| # 실시간으로 추가되는 내용 보기 (로그 파일에 유용) | # 실시간으로 추가되는 내용 보기 (로그 파일에 유용) | ||
| tail -f 로그파일.txt | tail -f 로그파일.txt | ||
| - | </code> | + | </file> |
| - | ===== 🔍 5단계: 파일과 내용 찾기 ===== | + | ===== 7. 🔍 5단계: 파일과 내용 찾기 ===== |
| - | ==== find - 파일 찾기 ==== | + | ---- |
| + | ==== 1) find - 파일 찾기 ==== | ||
| **의미**: 조건에 맞는 파일을 찾아줘요 | **의미**: 조건에 맞는 파일을 찾아줘요 | ||
| - | <code bash> | + | <file bash> |
| # 현재 폴더에서 이름으로 찾기 | # 현재 폴더에서 이름으로 찾기 | ||
| find . -name " | find . -name " | ||
| # 특정 폴더에서 찾기 | # 특정 폴더에서 찾기 | ||
| - | find /home/user -name " | + | find %%/home/user%% -name " |
| # 대소문자 구분 없이 찾기 | # 대소문자 구분 없이 찾기 | ||
| 줄 323: | 줄 334: | ||
| # 파일만 찾기 | # 파일만 찾기 | ||
| find . -type f -name " | find . -type f -name " | ||
| - | </code> | + | </file> |
| **💡 실습해보기**: | **💡 실습해보기**: | ||
| - | <code bash> | + | <file bash> |
| touch 테스트1.txt 테스트2.txt 문서.pdf | touch 테스트1.txt 테스트2.txt 문서.pdf | ||
| find . -name " | find . -name " | ||
| find . -name " | find . -name " | ||
| - | </code> | + | </file> |
| - | ==== grep - 파일 내용에서 텍스트 찾기 ==== | + | ---- |
| + | ==== 2) grep - 파일 내용에서 텍스트 찾기 ==== | ||
| **의미**: " | **의미**: " | ||
| - | <code bash> | + | <file bash> |
| # 파일에서 특정 단어 찾기 | # 파일에서 특정 단어 찾기 | ||
| grep " | grep " | ||
| 줄 351: | 줄 363: | ||
| # 찾은 단어 주변 3줄도 함께 보기 | # 찾은 단어 주변 3줄도 함께 보기 | ||
| grep -C 3 " | grep -C 3 " | ||
| - | </code> | + | </file> |
| **💡 실습해보기**: | **💡 실습해보기**: | ||
| - | <code bash> | + | <file bash> |
| echo " | echo " | ||
| echo " | echo " | ||
| grep " | grep " | ||
| grep -n " | grep -n " | ||
| - | </code> | + | </file> |
| - | ===== 🎯 실전 연습 문제 ===== | + | ===== 8. 🎯 실전 연습 문제 ===== |
| **🏋️ 연습 1: 프로젝트 폴더 구조 만들기** | **🏋️ 연습 1: 프로젝트 폴더 구조 만들기** | ||
| - | <code bash> | + | <file bash> |
| # 1. 홈 디렉토리에서 시작 | # 1. 홈 디렉토리에서 시작 | ||
| cd ~ | cd ~ | ||
| 줄 381: | 줄 393: | ||
| # 4. 구조 확인 | # 4. 구조 확인 | ||
| find 내프로젝트 -type f | find 내프로젝트 -type f | ||
| - | </code> | + | </file> |
| **🏋️ 연습 2: 파일 정리하기** | **🏋️ 연습 2: 파일 정리하기** | ||
| - | <code bash> | + | <file bash> |
| # 1. 테스트 파일들 만들기 | # 1. 테스트 파일들 만들기 | ||
| touch 문서1.txt 문서2.pdf 이미지1.jpg 이미지2.png 코드1.py | touch 문서1.txt 문서2.pdf 이미지1.jpg 이미지2.png 코드1.py | ||
| 줄 399: | 줄 411: | ||
| # 4. 결과 확인 | # 4. 결과 확인 | ||
| ls -la 문서파일/ | ls -la 문서파일/ | ||
| - | </code> | + | </file> |
| **🏋️ 연습 3: 로그 파일 분석하기** | **🏋️ 연습 3: 로그 파일 분석하기** | ||
| - | <code bash> | + | <file bash> |
| # 1. 가상의 로그 파일 만들기 | # 1. 가상의 로그 파일 만들기 | ||
| echo " | echo " | ||
| 줄 415: | 줄 427: | ||
| grep -c " | grep -c " | ||
| tail -n 2 서버.log | tail -n 2 서버.log | ||
| - | </code> | + | </file> |
| - | ===== 💡 꿀팁 모음 ===== | + | ===== 9. 💡 꿀팁 모음 ===== |
| **🚀 생산성 향상 팁**: | **🚀 생산성 향상 팁**: | ||
| 1. **Tab 키 활용**: 파일명이나 폴더명을 일부만 입력하고 Tab을 누르면 자동완성! | 1. **Tab 키 활용**: 파일명이나 폴더명을 일부만 입력하고 Tab을 누르면 자동완성! | ||
| - | <code bash> | + | <file bash> |
| - | | + | cd Doc[Tab] |
| - | | + | </file> |
| 2. **히스토리 활용**: 이전에 입력한 명령어 재사용 | 2. **히스토리 활용**: 이전에 입력한 명령어 재사용 | ||
| - | <code bash> | + | <file bash> |
| - | | + | history |
| - | | + | !123 # 123번째 명령어 다시 실행 |
| - | | + | !! # 바로 이전 명령어 다시 실행 |
| - | | + | </file> |
| 3. **와일드카드 활용**: 여러 파일을 한 번에 처리 | 3. **와일드카드 활용**: 여러 파일을 한 번에 처리 | ||
| - | <code bash> | + | <file bash> |
| - | | + | ls *.txt # 모든 txt 파일 |
| - | | + | ls test? |
| - | | + | ls test[1-3].txt # test1.txt, test2.txt, test3.txt |
| - | | + | </file> |
| 4. **명령어 조합**: 여러 명령어를 한 번에 | 4. **명령어 조합**: 여러 명령어를 한 번에 | ||
| - | <code bash> | + | <file bash> |
| - | | + | mkdir 새폴더 && cd 새폴더 |
| - | | + | ls -la | grep " |
| - | | + | </file> |
| **⚠️ 주의사항**: | **⚠️ 주의사항**: | ||
| - | - '' | + | |
| - | - 중요한 파일은 항상 백업하세요 | + | - 중요한 파일은 항상 백업하세요 |
| - | - 명령어를 모르면 '' | + | - 명령어를 모르면 '' |
| - | - 파일명에 공백이 있으면 따옴표로 감싸주세요: | + | - 파일명에 공백이 있으면 따옴표로 감싸주세요: |
| **🎓 다음 단계**: 기본 명령어가 익숙해지면 [[wiki: | **🎓 다음 단계**: 기본 명령어가 익숙해지면 [[wiki: | ||
| - | ===== 📚 참고자료 ===== | + | ===== 10. 📚 참고자료 ===== |
| - | - **공식 문서**: https:// | + | - **공식 문서**: |
| - | - **연습 사이트**: | + | - **연습 사이트**: |
| - | - **치트시트**: | + | |
| **💬 도움이 필요하면**: | **💬 도움이 필요하면**: | ||
| + | |||
wiki/it/linux/basic_commands.1753792870.txt.gz · 마지막으로 수정됨: 저자 syjang0803
