Linux

작성일 2026.06.30 수정일 2026.07.01 조회 115

기본 정보

  • 명칭: Linux
  • 한글명: 리눅스
  • 분류: 운영체제(OS)
  • 최초 공개: 1991년
  • 개발자: Linus Torvalds
  • 라이선스: GNU GPL
  • 주요 용도: 서버, 클라우드, 임베디드, 데스크톱, 개발 환경
  • 관련 기술: 운영체제, Ubuntu, Docker, Nginx, SSH

개요

Linux는 오픈소스 기반의 운영체제 커널(Kernel) 이며, 이를 기반으로 다양한 배포판(Distribution)이 만들어진다.

현재 전 세계 웹 서버, 클라우드 서버, AI 서버, 슈퍼컴퓨터, NAS, IoT 기기 등 다양한 환경에서 가장 많이 사용되는 운영체제 중 하나이다.

개발자와 서버 관리자는 Linux를 사용하여 웹 서버 구축, 데이터베이스 운영, 컨테이너 실행, 자동화 스크립트 작성 등 다양한 작업을 수행한다.


Linux 구조

사용자(User)

↓

Shell

↓

Kernel

↓

Hardware

운영 구조

사용자 명령

↓

Shell(Bash)

↓

Kernel

↓

CPU / Memory / Disk

↓

결과 반환

주요 특징

  • 오픈소스
  • 무료 사용 가능
  • 높은 안정성
  • 뛰어난 보안성
  • 멀티태스킹
  • 멀티유저 지원
  • 다양한 배포판
  • 강력한 CLI(Command Line Interface)

주요 구성 요소

Kernel

운영체제의 핵심이다.

담당 기능

  • 메모리 관리
  • CPU 관리
  • 프로세스 관리
  • 파일 시스템
  • 장치 제어

Shell

사용자가 명령어를 입력하는 환경이다.

대표 Shell

  • Bash
  • Zsh
  • Fish
  • Sh

File System

/

├── home

├── etc

├── var

├── usr

├── tmp

├── boot

└── root

대표 배포판

배포판특징
Ubuntu가장 대중적인 배포판
Debian안정성 중심
Rocky LinuxRHEL 호환
AlmaLinux기업용 서버
Fedora최신 기술 적용
Arch Linux고급 사용자
Kali Linux보안 및 침투 테스트

기본 명령어

현재 위치 확인

pwd

파일 목록

ls

상세 보기

ls -al

디렉터리 이동

cd /home

상위 폴더

cd ..

디렉터리 생성

mkdir project

파일 생성

touch index.php

파일 복사

cp file.txt backup.txt

파일 이동

mv old.txt new.txt

파일 삭제

rm file.txt

폴더 삭제

rm -rf folder

⚠️ rm -rf는 매우 강력한 명령이므로 사용 시 주의가 필요하다.


파일 내용 보기

cat file.txt

긴 파일 보기

less file.txt

파일 검색

find . -name "*.php"

문자열 검색

grep "error" log.txt

사용자 관리

현재 사용자

whoami

권한 변경

sudo command

권한(Permission)

chmod 755 file.sh

소유자 변경

chown user:user file.txt

프로세스 관리

실행 중인 프로세스

ps -ef

실시간 확인

top

향상된 모니터링

htop

메모리 확인

free -h

디스크 확인

df -h

디렉터리 용량

du -sh *

네트워크 확인

IP 확인

ip addr

포트 확인

ss -tulpn

Ping

ping google.com

서비스 관리 (systemd)

서비스 시작

sudo systemctl start nginx

서비스 중지

sudo systemctl stop nginx

서비스 상태

sudo systemctl status nginx

자동 실행

sudo systemctl enable nginx

패키지 관리

Ubuntu

sudo apt update

sudo apt install nginx

Rocky Linux

sudo dnf install nginx

SSH

원격 접속

ssh user@192.168.0.10

SSH는 Linux 서버 관리의 기본이다.


Bash Script

#!/bin/bash

echo "Hello Linux"

자동화 작업에 많이 사용된다.


Crontab

매일 새벽 3시 실행

0 3 * * * /home/backup.sh

자동 백업, 로그 정리 등에 활용된다.


Linux와 Windows 비교

LinuxWindows
오픈소스상용
CLI 강력GUI 중심
서버 점유율 높음데스크톱 점유율 높음
무료라이선스 필요
개발 환경 우수일반 사용자 친화적

Linux와 Unix

LinuxUnix
오픈소스대부분 상용
다양한 배포판기업용 중심
자유로운 수정제한적
커뮤니티 활발안정성 중심

대표 활용 분야

  • 웹 서버
  • 클라우드
  • AI 서버
  • NAS
  • Docker
  • Kubernetes
  • DevOps
  • 데이터베이스 서버

구름님의 활용 사례

현재까지의 대화를 기준으로 구름님은 Linux를 다음과 같이 활용하고 있다.

  • Ubuntu 서버 운영
  • Synology NAS 관리
  • Nginx 운영
  • PHP 서비스 운영
  • Docker 활용
  • AWS EC2 관리
  • Crontab 자동화
  • SSH 원격 관리

추천 학습 순서는 다음과 같다.

기본 명령어

↓

파일 권한

↓

SSH

↓

Nginx

↓

Docker

↓

Crontab

↓

Systemd

↓

모니터링

↓

보안

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • SSH 키 기반 로그인 사용
  • root 직접 로그인 비활성화
  • 정기적인 시스템 업데이트
  • systemctl 활용
  • Crontab 자동화
  • 로그 모니터링
  • 방화벽(UFW, firewalld) 설정
  • 백업 자동화
  • Docker 활용
  • Git을 통한 서버 설정 관리

Linux와 함께 사용하는 기술


대표 활용 사례

  • 웹 서버 구축
  • PHP 서비스 운영
  • Node.js 서버
  • Python AI 서버
  • Docker 컨테이너 운영
  • NAS 관리
  • CI/CD 서버
  • 클라우드 인프라

관련 문서


출처

  • Linux Kernel 공식 홈페이지
  • Linux.org
  • Ubuntu 공식 문서