Develop

[리눅스 마스터 2급-2차] 1. 파일 및 디렉터리 관리 본문

자격증

[리눅스 마스터 2급-2차] 1. 파일 및 디렉터리 관리

230801 2025. 12. 5. 10:16

안녕하세요 ~ .ᐟ 

 

오늘부터는 2차 시험을 준비해보겠습니다~

 


 

리눅스 마스터 2급은 1, 2차로 나누어져 있고, 둘다 통과해야 합격인데요~

사실 2차를 한번 봤었는데 60점 합격에 57.5점을 받아서 다시 준비하게 되었습니다 ㅠㅠㅋ

 

 


 

1트 시절 공부법

당시 책은 김앤북꺼 핑크색 1회독 설렁설렁 일주일 봤나? + 1일 동안 유튜브 기출을 돌렸었는데

유튜브에 박성업 강사님의 영상이 많은 도움이 되었습니당

(학생들 여러명과 실강하시는걸 그대로 찍어서 올리신거같아서 현장감도 있고 ㅋㅋㅋ

오랜만에 학생이된 기분 + 정겨운 말투 + 자세한 설명 으로 재밌게 공부했던 기억이 납니다)

 

https://youtube.com/playlist?list=PLhBm8ObOpeEL9BmKb7dt6PCXJHwMrYI3r&si=EKavS9vpglqWH-WR

 

[리눅스마스터] 리눅스마스터 2급, 리눅스마스터 1급 핵심요약 강의 - 한권으로 끝내기_제1과목

[리눅스마스터] 리눅스마스터 2급, 리눅스마스터 1급 해심요약 강의 - 한권으로 끝내기 - 제1과목 리눅스 일반 박성업

www.youtube.com

 

 

 

2트 공부법

이번에는 ai를 이용해서 일정과 학습방법을 지침으로 추가하고, 약 2주 코스로 진행해보려 합니다.

학습방법은 1주동안 이론 공부하고, cmd 켜고 실습해보고, 퀴즈 10문제 씩 내는 방식으로 진행해봤는데 효과가 좋은 것 같습니다.

앞으로 학습내용 공유드리도록 하겠습니다~

 

학습 계획

더보기

Week 1: 이론 학습 + 퀴즈 (12/3 ~ 12/7)

Day 1 (12/3 화요일) - 파일 및 디렉터리 관리

  • 파일 생성, 복사, 이동, 삭제 명령어 (touch, cp, mv, rm)
  • 디렉터리 관리 (mkdir, rmdir, cd, pwd, ls)
  • 파일 내용 확인 (cat, more, less, head, tail)
  • 파일 찾기 (find, locate, which, whereis)

Day 2 (12/4 수요일) - 파일 권한 및 소유권

  • 파일 권한 이해 (rwx, 8진수 표기법)
  • chmod, chown, chgrp 명령어
  • 특수 권한 (SetUID, SetGID, Sticky bit)
  • 파일 속성 관리 (chattr, lsattr)
  • 링크 (하드링크, 심볼릭링크)

Day 3 (12/5 목요일) - 프로세스 관리

  • 프로세스 개념 (PID, PPID, 포그라운드/백그라운드)
  • 프로세스 확인 (ps, pstree, top, htop, jobs)
  • 프로세스 제어 (kill, killall, pkill, nice, renice)
  • 프로세스 우선순위 (nice 값)
  • 작업 스케줄링 (cron, at, batch)

Day 4 (12/6 금요일) - 파일시스템 + 에디터 + 소프트웨어 관리

파일 시스템 관리:

  • 파일 시스템 종류 (ext4, xfs 등)
  • 마운트/언마운트 (mount, umount, /etc/fstab)
  • 디스크 관리 (df, du, fdisk, mkfs)
  • 쿼터(quota) 관리

에디터 (vi/vim):

  • vi 기본 사용법
  • 명령 모드, 입력 모드, 라인 모드
  • 주요 명령어 (검색, 치환, 저장, 종료)

소프트웨어 설치:

  • RPM 패키지 관리
  • YUM/DNF 사용법
  • 소스 컴파일 설치

Day 5 (12/7 토요일) - 네트워크 + Shell + 텍스트 처리

네트워크 기본:

  • 네트워크 설정 (ifconfig, ip, nmcli)
  • 네트워크 파일 (/etc/hosts, /etc/resolv.conf, /etc/sysconfig/network-scripts)
  • 네트워크 테스트 (ping, traceroute, netstat, ss)

Shell:

  • Shell 종류 (bash, sh, csh 등)
  • 환경 변수 설정
  • 표준 입출력 및 리다이렉션 (>, >>, <, |)

텍스트 처리:

  • grep, sed, awk
  • cut, sort, uniq, wc
  • 압축 및 아카이브 (tar, gzip, bzip2, xz, zip)

 

Day 1 시작: 파일 및 디렉터리 관리

  • 파일 생성, 복사, 이동, 삭제 명령어 (touch, cp, mv, rm)
  • 디렉터리 관리 (mkdir, rmdir, cd, pwd, ls)
  • 파일 내용 확인 (cat, more, less, head, tail)
  • 파일 찾기 (find, locate, which, whereis)

 

1. 기본 파일 관리 명령어

  • touch: 빈 파일 생성 또는 타임스탬프 변경
# 빈 파일 생성
touch test.txt

# 여러 파일 한번에 생성
touch file1.txt file2.txt file3.txt

# 특정 경로에 파일 생성
touch /home/user/newfile.txt
  • cp: 파일/디렉터리 복사 (옵션: -r 재귀, -p 속성유지)
# 기본 복사
cp original.txt backup.txt

# 디렉터리 복사 (재귀 : recursive)
cp -r /home/user/docs /backup/docs

# 속성 유지하며 복사 (권한, 타임스탬프 등 유지, perserve : 보존)
cp -p file.txt backup.txt

# cp -i interactive 대화형, 덮어쓰기 전 확인
# cp -f force 강제, 확인없이 진행
# cp -v verbose 상세, 복사과정 표시
  • mv: 파일 이동 또는 이름 변경
# 이름 변경
mv oldname.txt newname.txt

# 다른 디렉터리로 이동
mv file.txt /tmp/

# 이동하면서 이름 변경
mv file.txt /backup/newfile.txt

# mv -i interactive 대화형, 덮어쓰기 전 확인
# mv -f force 강제, 확인없이 진행
# mv -v verbose 상세, 이동과정 표시
  • rm: 파일 삭제 (옵션: -r 재귀, -f 강제)
# 기본 삭제
rm file.txt

# 강제 삭제 (확인 없이)
rm -f file.txt

# 디렉터리 삭제 (재귀)
rm -r directory/

# 디렉터리 강제 삭제
rm -rf directory/

# rm -i interactive 대화형, 덮어쓰기 전 확인
# rm -v verbose 상세, 이동과정 표시

 

 

 

2. 디렉터리 관리

  • mkdir: 디렉터리 생성 (옵션: -p 상위 디렉터리도 생성)
# 디렉터리 생성
mkdir newdir

# 상위 디렉터리도 함께 생성 (parents: 부모, 상위디렉터리도 함께 생성)
mkdir -p /home/user/project/src

# mkdir -v verbose 상세, 이동과정 표시
  • rmdir: 빈 디렉터리 삭제
# 빈 디렉터리 삭제
rmdir emptydir
  • ls: 파일 목록 보기 (옵션: -l 상세, -a 숨김파일, -h 용량)
# 기본 목록
ls

# 상세 정보 (권한, 소유자, 크기, 날짜)
ls -l #long format (상세정보)

# 숨김 파일 포함
ls -a # all

# 상세 + 숨김 파일
ls -la 

# 용량을 사람이 읽기 쉽게
ls -lh # human-readable

# 최신 수정 파일 먼저
ls -lt # time (시간순 정렬)

# 하위 디렉터리까지 재귀적으로
ls -R # recursive

# /etc 디렉터리의 .conf 파일만 보기
ls -l /etc/*.conf

# 최근 수정된 파일 5개
ls -lt | head -5

 

 

3. 파일 내용 확인

  • cat: 전체 내용 출력
# 전체 내용 출력
cat file.txt

 

  • head: 앞부분 출력 (기본 10줄)
# 처음 10줄 보기
head file.txt

# 처음 5줄 보기
head -5 file.txt

# head -n (number : 숫자, 출력할 줄 수 지정)
  • tail: 뒷부분 출력 (옵션: -f 실시간)
# 마지막 10줄 보기
tail file.txt

# 마지막 20줄 보기
tail -20 file.txt

# 실시간 로그 보기 (follow : 따라가기, 실시간 모니터링)
tail -f /var/log/syslog

# tail -n (number : 숫자, 출력할 줄 수 지정)
  • more/less: 페이지 단위로 보기
# 기본 사용
more file.txt

# Space: 다음 페이지
# Enter: 한 줄씩
# q: 종료

----

# 기본 사용 (more 보다 더 많이 사용됨)
less file.txt

# 주요 단축키:
# Space 또는 f: 다음 페이지
# b: 이전 페이지
# ↑↓: 한 줄씩 이동
# /검색어: 검색
# n: 다음 검색 결과
# q: 종료
# G: 파일 끝으로
# g: 파일 처음으로

# 로그 파일 보기
less /var/log/syslog

# 여러 파일 보기
less file1.txt file2.txt
# (:n 다음파일, :p 이전파일)

# 라인 번호 표시 (Number : 줄번호 표시)
less -N file.txt

# lees -S (chop long lines : 긴줄 자르기, 가로 스크롤)

 

 

4. 파일 찾기

  • find: 조건에 맞는 파일 찾기 (예: find /home -name "*.txt")
# 이름으로 찾기
find /home -name "*.txt"

# 특정 크기 이상 파일 찾기
find /home -size +100M

# 최근 7일 이내 수정된 파일
find /home -mtime -7

# find -name = name (이름으로 검색)
# find -iname = ignore case name (대소문자 무시하고 이름 검색)
# find -type = type (파일 유형, f=파일, d=디렉터리)
# find -size = size (크기로 검색)
# find -mtime = modification time (수정 시간)
  • locate: 데이터베이스에서 빠르게 검색
# 빠른 검색 (데이터베이스 기반)
locate filename
  • which: 실행 파일 경로 찾기
# 실행파일 위치 찾기
which ls
  • whereis: 바이너리, 소스, 매뉴얼 파일 위치
whereis ls

 

 

느낀 점

  • 리눅스 배울 때 피부로 와닿는 어려움이 바로 명령어인데요
    • 다른 개발자들이 제게 도움을 줄때  "터미널 켜서 어디 디렉터리로 가서 ls 쳐봐" 하는데
    • "cd ? home ? 현재 경로? 아아 모르겠다~" 했던 경험 다들 있으시죠...
  • 명령어는 줄임말을 풀어서 보니 갑자기 쉬워졌습니다.
    • " 아 cd ~ 체인지 디렉터리~ ls ~ 리스트~ " 하면서요
    • 명령어에 사용되는 옵션도 공통으로 사용되는게 많아서 한번 익혀두시면 편리하더라구요.
  • 터미널 켜고 디렉터리 만들고, 파일 만들고 이름/ 권한/ 소유자 변경 등등 해보면서 "아 이게 이뜻이구나 ~" 했습니다 ㅋㅋ