← 목록으로 돌아가기

리눅스

Linux 기초

서버 환경에서 프로젝트를 실행하기 위해 정리한 Linux 기본 개념, 명령어, 권한, 프로세스, 네트워크 확인 흐름

Linux는 웹 서비스, 보안 솔루션, 배포 환경을 다룰 때 기본이 되는 운영체제다.

이번 공부에서는 단순히 명령어를 외우는 것보다 서버에서 프로그램이 어떻게 실행되고, 파일과 권한이 어떻게 관리되며, 네트워크 상태를 어떻게 확인하는지를 중심으로 정리했다.


왜 Linux를 공부하는가

AI 웹접근제어 보안 솔루션을 만들려면 개발 환경뿐 아니라 실행 환경도 이해해야 한다.

  • Django 서버 실행
  • Python 가상환경 설정
  • DB 서버 연결
  • 패킷 확인
  • 로그 확인
  • 권한 문제 해결
  • 배포 환경 구성

이런 작업은 대부분 Linux 환경에서 진행된다.


기본 디렉터리 개념

Linux에서는 모든 것이 파일처럼 다뤄진다.

경로의미
/home사용자별 작업 공간
/etc설정 파일
/var/log로그 파일
/usr프로그램과 라이브러리
/tmp임시 파일
/bin, /sbin기본 실행 명령어

프로젝트를 진행할 때는 설정 파일, 로그 파일, 실행 파일의 위치를 구분해서 볼 수 있어야 한다.


자주 쓰는 명령어

bash
pwd
ls -al
cd
mkdir
touch
cp
mv
rm
cat
less
tail -f

특히 tail -f는 로그를 실시간으로 볼 때 자주 사용한다.

bash
tail -f app.log

권한과 실행

Linux에서는 파일마다 소유자와 권한이 있다.

bash
ls -al

예시:

text
-rwxr-xr-x

권한은 읽기, 쓰기, 실행으로 나뉜다.

권한의미
rread
wwrite
xexecute

스크립트를 실행하려면 실행 권한이 필요할 수 있다.

bash
chmod +x run.sh

프로세스 확인

서버에서 프로그램이 실행 중인지 확인하려면 프로세스를 봐야 한다.

bash
ps aux

포트를 사용하는 프로세스를 확인할 때는 다음 흐름으로 접근한다.

bash
netstat -tulnp

또는 환경에 따라:

bash
ss -tulnp

네트워크 확인

웹 차단 프로젝트에서는 네트워크 상태 확인이 중요하다.

확인할 내용:

  • 현재 IP 주소
  • gateway
  • DNS
  • 열려 있는 port
  • 특정 서버와 통신 가능 여부

예시 명령어:

bash
ip addr
ip route
ping 8.8.8.8
curl http://example.com

프로젝트와 연결되는 부분

Linux 공부는 단독 과목이 아니라 프로젝트 실행 기반이다.

AI 웹접근제어 프로젝트에서는 다음 작업에 연결된다.

  • Django 서버 실행
  • MariaDB 접속
  • Python 가상환경 관리
  • tcpdump로 패킷 확인
  • 로그 파일 분석
  • Cron으로 크롤러 주기 실행

정리하면 Linux는 프로젝트가 실제 서버에서 돌아가게 만드는 바닥 지식이다.