오버더와이어 - 리눅스 학습 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- 초보 리눅스 학습자 및 포트폴리오를 구축하고자 하는 개발자
- STAR 설명 강화와 실전 명령어 활용에 관심 있는 사람
- 난이도: 초급~중급 (명령어 기본 이해 필요)
핵심 요약
- 리눅스 핵심 명령어 학습:
ssh
,ls -a
,grep
,sort
,base64
,ROT13
,hexdump
등 실전 명령어 활용 - 파일 및 디렉토리 조작: 공백 포함 파일 처리 (
'file name'
), 대규모 파일 크기 분석 (du -h
) - 문자열 검색 및 처리:
grep -rnw
,strings
,uniq -c
등으로 효율적인 텍스트 분석 가능
섹션별 세부 요약
1. **레벨 0: 서버 연결**
ssh @ -p
명령어를 사용하여 서버에 접속- 연결 로직 이해가 중요 (SSH 프로토콜 기반)
2. **레벨 1: 파일 처리**
cat
명령어로 파일 열기 (Ctrl+C/V 복사/붙여넣기)- 파일명이
-
일 경우cat <-
또는cat ./-
사용
3. **레벨 2: 공백 포함 파일 처리**
- 공백 포함 파일명은
'file name'
형식으로 입력 - 예:
cat 'file name'
4. **레벨 3: 디렉토리 내 파일 열기**
ls -a
로 디렉토리 내 모든 파일 보기directory/filename
형식으로 중첩 디렉토리 내 파일 접근
5. **레벨 4: 디렉토리 크기 분석**
du -h
로 파일 크기 확인 (사람이 읽기 쉬운 형식)directory/filename
구조 활용
6. **레벨 5: 파일 정보 세부 분석**
ls -lh
로 파일의 실행 가능 여부 및 세부 정보 확인find .-maxdepth x -type f !executable -ls
로 특정 조건의 파일 검색
7. **레벨 6: 사용자/그룹 기반 파일 검색**
find / -type f -size 33c -user bandit7 -group bandit6
사용-size
,-user
,-group
옵션으로 검색 조건 정의
8. **레벨 7: 문자열 검색**
grep -rnw 'directory path' -e '
로 재귀적 검색' -r
: 재귀,-n
: 라인 번호,-w
: 정확한 단어 매칭
9. **레벨 8: 중복 문자열 분석**
sort
로 고유 문자열 추출| uniq -u sort
로 중복 횟수 확인| uniq -c
10. **레벨 9: 문서 내 문자열 추출**
strings {document} | grep -A1 '{string}'
사용strings
: 텍스트 추출,grep -A1
: 특정 문자열 후 1줄 표시
11. **레벨 10: Base64 인코딩/디코딩**
cat {document} | base64 --decode
로 Base64 디코딩base64
: 이진 데이터를 ASCII로 변환
12. **레벨 11: ROT13 암호화 해제**
tr 'A-Za-z' 'N-ZA-Mn-za-m'
명령어로 ROT13 해제tr
: 문자 치환, ROT13은 알파벳 이동 암호
13. **레벨 12: Hexdump 활용**
hexdump
로 이진 파일의 16진수 형식 확인- 문서 링크: https://mayadevbe.me/posts/overthewire/bandit/level13/
결론
- 실전 명령어 연습: 각 레벨의 명령어를 반복적으로 실행하여 익히고, 포트폴리오에 기록
- 문제 해결 전략:
grep
,find
,sort
등 명령어를 조합해 복잡한 작업 처리 - 리눅스 공부: OvertheWire 플랫폼을 통해 실습 중심으로 학습하고, GitHub에 결과 공유하여 역량 강화