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