리눅스
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권한은 읽기, 쓰기, 실행으로 나뉜다.
| 권한 | 의미 |
|---|---|
| r | read |
| w | write |
| x | execute |
스크립트를 실행하려면 실행 권한이 필요할 수 있다.
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는 프로젝트가 실제 서버에서 돌아가게 만드는 바닥 지식이다.