Develop

[리눅스 마스터 2급-2차] 4.파일시스템, 에디터, 소프트웨어 관리 본문

자격증

[리눅스 마스터 2급-2차] 4.파일시스템, 에디터, 소프트웨어 관리

230801 2025. 12. 7. 23:34

안녕하세요~

오늘은 파일시스템, vi 에디터, 소프트웨어 관리에 대해서 공부했습니다.

 


1. 파일시스템 관리

파일시스템(File System): 디스크에 데이터를 저장하고 관리하는 체계

 

주요 리눅스 파일시스템

  • ext2/ext3/ext4: 리눅스 표준 파일시스템
  • xfs: 고성능 저널링 파일시스템
  • swap: 스왑 영역용 파일시스템

 


 

📌 파티션 관리 명령어

fdisk - (Fixed DISK): 파티션 생성/삭제/확인

*# 파티션 목록 확인*
fdisk -l

*# 디스크 파티션 작업*
fdisk /dev/sda
*# 내부 명령어:
# p - 파티션 정보 출력
# n - 새 파티션 생성
# d - 파티션 삭제
# w - 변경사항 저장
# q - 저장 없이 종료*

parted - (PARTition EDitor): GPT 파티션 관리

*# 파티션 정보 확인*
parted -l

*# 대화형 모드*
parted /dev/sda

 


 

📌 파일시스템 생성

mkfs - (MaKe File System): 파일시스템 생성

*# ext4 파일시스템 생성*
mkfs.ext4 /dev/sda1

*# xfs 파일시스템 생성*
mkfs.xfs /dev/sda2

*# 스왑 영역 생성*
mkswap /dev/sda3

 

 


 

📌 마운트 관리

mount - 파일시스템을 디렉터리에 연결

*# 기본 마운트*
mount /dev/sda1 /mnt/data

*# 옵션과 함께 마운트*
mount -t ext4 -o ro /dev/sda1 /mnt/data
*# -t: 파일시스템 타입 지정
# -o: 마운트 옵션
#   ro - 읽기 전용
#   rw - 읽기/쓰기
#   noexec - 실행 금지
# 마운트 정보 확인*
mount
df -h

umount - (UnMOUNT): 마운트 해제

umount /mnt/data
umount /dev/sda1

*# 강제 해제*
umount -f /mnt/data

/etc/fstab - 부팅 시 자동 마운트 설정 파일

*# 형식: 장치 마운트포인트 파일시스템 옵션 dump fsck*
/dev/sda1  /data  ext4  defaults  0  2

 

 


 

📌 파일시스템 점검

fsck - (File System ChecK): 파일시스템 검사/복구

*# 파일시스템 검사*
fsck /dev/sda1

*# 자동 복구*
fsck -y /dev/sda1
*# -y: 모든 질문에 yes 응답
# -a: 자동 복구*

 


 

2. vi 에디터

📌 vi 모드

  1. 명령 모드 (Command Mode): 처음 시작 모드
  2. 입력 모드 (Insert Mode): 텍스트 입력
  3. ex 모드 (Last Line Mode): 명령어 실행

 


 

📌 주요 명령어

모드 전환

i    *# 현재 커서 위치에서 입력 모드*
a    *# 커서 다음 위치에서 입력 모드*
o    *# 아래 줄에 입력 모드*
I    *# 줄 맨 앞에서 입력 모드*
A    *# 줄 맨 뒤에서 입력 모드*
O    *# 위 줄에 입력 모드*

ESC  *# 명령 모드로 전환*
:    *# ex 모드로 전환*

커서 이동

h    *# 왼쪽*
j    *# 아래*
k    *# 위*
l    *# 오른쪽*

0    *# 줄 맨 앞*
$    *# 줄 맨 뒤*
gg   *# 파일 맨 앞*
G    *# 파일 맨 뒤*
:숫자 *# 특정 줄로 이동*

삭제/복사/붙여넣기

x    *# 한 글자 삭제*
dd   *# 한 줄 삭제*
5dd  *# 5줄 삭제*
dw   *# 단어 삭제*

yy   *# 한 줄 복사*
5yy  *# 5줄 복사*
yw   *# 단어 복사*

p    *# 붙여넣기 (아래)*
P    *# 붙여넣기 (위)*

검색/치환

/문자열   *# 아래 방향 검색*
?문자열   *# 위 방향 검색*
n        *# 다음 검색*
N        *# 이전 검색*

:s/old/new/     *# 현재 줄에서 첫 번째 old를 new로*
:s/old/new/g    *# 현재 줄에서 모든 old를 new로*
:%s/old/new/g   *# 전체 파일에서 모든 old를 new로*

저장/종료

:w       *# 저장*
:q       *# 종료*
:wq      *# 저장 후 종료*
:q!      *# 저장 안하고 강제 종료*
:wq!     *# 강제 저장 후 종료*

기타

u        *# 실행 취소 (undo)*
Ctrl+r   *# 다시 실행 (redo)*
.        *# 마지막 명령 반복*

 


 

3. 소프트웨어 관리

📌 RPM 기반 (RedHat, CentOS, Fedora)

rpm - (RedHat Package Manager): 패키지 관리

*# 패키지 설치*
rpm -ivh package.rpm
*# -i: install (설치)
# -v: verbose (상세 정보)
# -h: hash (진행상황 표시)

# 패키지 업그레이드*
rpm -Uvh package.rpm
*# -U: Upgrade (업그레이드)

# 패키지 삭제*
rpm -e package
*# -e: erase (삭제)

# 설치된 패키지 확인*
rpm -qa              *# 전체 패키지 목록*
rpm -qi package      *# 패키지 상세 정보*
rpm -ql package      *# 패키지 파일 목록*
rpm -qf /bin/ls      *# 파일이 속한 패키지 확인

# 설치 전 패키지 정보 확인*
rpm -qip package.rpm  *# 패키지 정보*
rpm -qlp package.rpm  *# 파일 목록*

 

yum - (Yellowdog Updater Modified): 자동 의존성 해결 패키지 관리자

*# 패키지 설치*
yum install package

*# 패키지 삭제*
yum remove package

*# 패키지 업데이트*
yum update package   *# 특정 패키지*
yum update          *# 전체 업데이트

# 패키지 검색*
yum search keyword
yum list installed  *# 설치된 패키지*
yum list available  *# 설치 가능한 패키지

# 패키지 정보 확인*
yum info package

*# 저장소 목록*
yum repolist

 


 

📌 Debian 기반 (Ubuntu, Debian)

dpkg - (Debian PacKaGe): 패키지 관리

*# 패키지 설치*
dpkg -i package.deb

*# 패키지 삭제*
dpkg -r package      *# 설정 파일 유지*
dpkg -P package      *# 완전 삭제

# 패키지 확인*
dpkg -l              *# 전체 패키지 목록*
dpkg -L package      *# 패키지 파일 목록*
dpkg -S /bin/ls      *# 파일이 속한 패키지*

 

apt/apt-get - (Advanced Package Tool): 자동 의존성 해결 패키지 관리자

*# 패키지 목록 업데이트*
apt update

*# 패키지 설치*
apt install package

*# 패키지 삭제*
apt remove package
apt purge package    *# 설정 파일까지 삭제

# 패키지 업그레이드*
apt upgrade          *# 패키지 업그레이드*
apt full-upgrade     *# 전체 업그레이드 (의존성 변경 포함)

# 패키지 검색*
apt search keyword
apt list --installed

*# 패키지 정보*
apt show package

*# 불필요한 패키지 삭제*
apt autoremove

 


 

📌 소스 컴파일 설치

*# 1. 압축 해제*
tar -xzvf package.tar.gz
cd package

*# 2. 설치 환경 설정*
./configure --prefix=/usr/local

*# 3. 컴파일*
make

*# 4. 설치*
make install

*# 5. 삭제 (선택)*
make uninstall