[1일차] 2025 정보처리산업기사 운영체제 – 운영체제 종류 리눅스편


오늘은 유닉스에 이어 리눅스(Linux) 운영체제를 정리했다.

리눅스는 오픈소스 기반으로 개발된 운영체제이며, 서버와 클라우드 환경의 표준으로 자리 잡고 있다.

윈도우보다 명령 중심적이지만, 구조가 명확하고 시스템 제어가 자유로워 실무와 시험에서 모두 중요하게 다뤄진다.


1. 리눅스의 개요

리눅스는 1991년 리누스 토르발스(Linus Torvalds)가 개발한 커널에서 시작되었다.

“유닉스 호환”을 목표로 만들어졌으며, 누구나 수정·배포 가능한 GPL(General Public License) 을 따른다.

현재는 커널을 중심으로 배포판(Distro)이 다양하게 발전했으며,

대표적인 계열은 다음과 같다.

계열대표 배포판특징
Debian 계열Ubuntu, Kali직관적, 패키지 관리가 쉬움
Red Hat 계열CentOS, Fedora, RHEL안정적, 기업용 서버 중심
Arch 계열Arch Linux, Manjaro최신 버전 중심, 커스터마이징 자유도 높음

2. 리눅스의 구조

리눅스는 커널(Kernel), 쉘(Shell), 파일 시스템(File System), 유틸리티(Utilities) 로 구성된다.

구성 요소역할
커널메모리·프로세스·장치 제어, 시스템 핵심
사용자의 명령을 해석해 커널에 전달
파일 시스템/을 루트로 하는 계층 구조
유틸리티명령과 도구 모음 (ls, grep, tar, ps, top 등)

3. 디렉터리 구조

리눅스의 파일 시스템은 모든 경로가 / 루트에서 시작된다.

/
├── bin      : 기본 명령어
├── boot     : 부팅 관련 파일
├── dev      : 장치 파일
├── etc      : 설정 파일
├── home     : 사용자 디렉터리
├── lib      : 라이브러리
├── root     : 관리자 홈 디렉터리
├── sbin     : 시스템 명령어
├── tmp      : 임시 저장소
├── usr      : 응용 프로그램, 라이브러리
└── var      : 로그 및 캐시 데이터

4. 파일 권한과 소유권

리눅스의 권한 구조는 rwx(읽기·쓰기·실행) 세 가지로 구성된다. 각 파일과 디렉터리는 소유자, 그룹, 기타 사용자(others) 단위로 권한이 구분된다.

예시:

-rwxr-xr--
구분설명
소유자 (owner)파일 작성자
그룹 (group)소유자와 같은 그룹 사용자
기타 사용자 (others)그 외 사용자

숫자 권한 예시 (r=4, w=2, x=1)

chmod 755 script.sh   # 소유자: rwx / 그룹, 기타: r-x
chmod 644 file.txt    # 소유자: rw / 그룹, 기타: r

소유자 변경:

chown user1:devteam data.log

기본 권한 설정 (umask)

umask는 새로 생성되는 파일이나 디렉터리의 기본 권한을 제한하는 설정값이다. 즉, “기본 권한 = 시스템 기본값 – umask” 공식으로 계산된다.

항목기본 권한
파일666 (rw-rw-rw-)
디렉터리777 (rwxrwxrwx)

예를 들어 umask 022 로 설정되어 있다면, 파일은 666 - 022 = 644, 디렉터리는 777 - 022 = 755 권한으로 생성된다.

umask         # 현재 설정 확인
umask 002     # 그룹 쓰기 허용 (664 / 775)
umask 077     # 개인만 접근 가능 (600 / 700)

현재 쉘 환경에서 umask 명령을 실행하면 4자리 형태(예: 0002)로 표시될 수 있다. 이는 앞의 한 자리가 특수 권한 비트(setuid, setgid, sticky bit)를 의미하며, 일반적인 환경에서는 umask 022umask 0022 가 동일하게 작동한다.

로그인 시 자동 적용하려면 ~/.bashrc 또는 /etc/profile 에 다음을 추가한다.

echo "umask 0022" >> ~/.bashrc

결과적으로 umask 는 파일 생성 시의 “기본 보안 정책”을 결정하며, chmod 와 함께 리눅스 권한 관리의 핵심을 이룬다.


5. 관리자 권한 (sudo)

일반 사용자로 로그인해도 sudo 명령을 통해 일시적으로 관리자 권한을 얻을 수 있다.

sudo apt update
sudo systemctl restart ssh

관리 권한 설정은 /etc/sudoers 파일에서 정의된다.


6. 패키지 관리 시스템

리눅스는 배포판에 따라 패키지 관리 방식이 다르다.

계열명령 예시설명
Debian 계열 (Ubuntu 등)sudo apt install nginxAPT(Aptitude) 사용
Red Hat 계열 (CentOS 등)sudo yum install httpdYUM/DNF 사용
Arch 계열sudo pacman -S vimPacman 사용

7. 기본 명령어

명령어설명
pwd현재 경로 출력
ls -al파일 목록 보기
cd, mkdir, rmdir디렉터리 이동·생성·삭제
cp, mv, rm파일 복사·이동·삭제
cat, less, tail파일 내용 확인
grep, find, awk데이터 검색·필터링
df -h, du -sh *디스크 사용량 확인
ps, top, kill프로세스 관리
tar, gzip, unzip압축 및 해제
systemctl, service서비스 관리

8. 서비스 관리 (systemctl)

리눅스의 systemd는 서비스와 프로세스를 관리한다.

sudo systemctl start nginx      # 서비스 시작
sudo systemctl stop nginx       # 중지
sudo systemctl restart nginx    # 재시작
sudo systemctl status nginx     # 상태 확인
sudo systemctl enable nginx     # 부팅 시 자동 실행

9. 사용자 및 그룹 관리

사용자 관리

sudo useradd devuser
sudo passwd devuser
sudo userdel devuser

그룹 관리

sudo groupadd devteam
sudo usermod -aG devteam devuser
id devuser

관련 파일

  • etc/passwd: 사용자 계정 정보
  • etc/group : 그룹 정보
  • etc/shadow : 암호화된 비밀번호 저장

10. 프로세스 관리

ps -ef            # 전체 프로세스 목록
top               # 실시간 상태 확인
kill -9 [PID]     # 프로세스 강제 종료
jobs              # 백그라운드 작업 목록
fg %1             # 포그라운드로 이동
bg %1             # 백그라운드 재시작

프로세스 상태

상태의미
R실행 중 (Running)
S대기 (Sleeping)
Z좀비 (Zombie)
T중지 (Stopped)

11. 파일 압축과 묶기

tar cvf backup.tar /home/user
tar xvf backup.tar
gzip backup.tar
gunzip backup.tar.gz

옵션 요약

  • c: 생성(create)
  • x: 해제(extract)
  • v: 처리 과정 표시(verbose)
  • f: 파일 지정(file)

12. 네트워크 관리 명령

ping 8.8.8.8                # 네트워크 연결 확인
ip addr show                # IP 정보 확인
netstat -tuln               # 열려 있는 포트
ss -tuln                    # netstat 대체 명령
nslookup naver.com          # DNS 조회
traceroute google.com       # 경로 추적

13. Vi 에디터 사용법

모드설명
명령 모드기본 상태 (탐색, 삭제, 복사 등)
입력 모드i, a, o 키로 진입
명령행 모드: 입력 후 wq, q! 등 실행

주요 명령어

명령기능
i입력 모드로 전환
x한 글자 삭제
dd한 줄 삭제
yy한 줄 복사
p붙여넣기
/문자열검색
:wq저장 후 종료
:q!저장하지 않고 종료

14. 시스템 로그 관리

시스템 동작 상태는 /var/log 디렉터리에 기록된다.

파일설명
/var/log/messages시스템 전반 로그
/var/log/secure로그인 및 보안 관련
/var/log/cron예약 작업 로그
/var/log/dmesg부팅 시 커널 로그
/var/log/syslog일반 로그

tail -n 50 /var/log/messages grep “error” /var/log/secure

15. 자동화 (Cron)

crontab -e

예시: 매일 9시에 백업 실행

0 9 * * * /home/user/backup.sh

필드 구성: 분 시 일 월 요일 명령

16. 학습 정리

주제주요 명령비고
사용자 관리useradd, passwd, idetc/passwd
권한 관리chmod, chownrwx 조합
프로세스ps, top, killPID, 상태 확인
파일 관리cp, mv, find파일 탐색, 정리
압축/해제tar, gzip백업 자동화
네트워크ping, netstat, ss연결 점검
편집기vi, :wq, :q!시험 단골
로그/자동화tail, grep, crontab점검, 예약

다음 학습 예고

다음은 [2일차] 정보처리산업기사 운영체제 – 프로세스 관리 기초로 이어진다.

프로세스의 생성과 종료, 스케줄링, CPU 관리 기법을 중심으로 정리할 예정이다.

정보처리산업기사 관련링크 모음

  • 큐넷(Q-Net) 정보처리산업기사 안내
    -> 바로가기
  • 큐넷 원서접수 페이지 (정보처리산업기사 실기)
    -> 바로가기
  • 한국산업인력공단 공식 홈페이지
    ->바로가기
  • 이기적 2025 정보처리산업기사 실기 교재 공식몰 (영진닷컴)
    -> 바로가기
  • HRD-Net (직업훈련포털)
    -> 바로가기

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”