Linux 서버 관리 – 전체 노트 (CIITM Dhanbad)
Source: Dev.to
UNIT – I : Linux 소개, 파일 시스템 및 기본 명령
1. Linux 소개
- Linux는 무료, 오픈소스, 안전하고 안정적인 운영 체제입니다.
- UNIX 기반이며, 다음 분야에서 널리 사용됩니다:
- 서버
- 클라우드 시스템
- 네트워킹
- 사이버 보안
- 개발
- 특징:
- 높은 보안성
- 빠른 성능
- 바이러스 저항성
- 다중 사용자 환경
2. Linux의 기본 특징
- 다중 사용자 및 다중 작업
- 이식성 및 오픈소스
- 강력한 네트워킹 지원
- 높은 커스터마이징 가능성
- 강력한 쉘 및 스크립팅
3. Linux 배포판 (디스트리뷰션)
일반적인 Linux 배포판:
- Ubuntu
- Debian
- RedHat (RHEL)
- Fedora
- CentOS
- Kali Linux
- Linux Mint
4. Linux의 장점
- 무료 및 오픈소스
- 매우 안정적
- 바이러스 없음
- 강력한 명령줄
- 프로그래밍 및 서버 지원
- 커뮤니티 지원
5. Linux가 파일에 접근하는 방식
Linux는 inode 기반 파일 시스템을 사용하며, 각 파일은 다음을 가집니다:
- inode 번호
- 파일 유형
- 파일 권한
- 소유자 및 그룹
- 크기
- 저장 위치
Linux는 모든 것을 파일로 취급합니다. 여기에는 다음이 포함됩니다:
- 장치
- 디렉터리
- 프로세스
- 소켓
6. Linux 표준 디렉터리
| Directory | Purpose |
|---|---|
/ | 루트 디렉터리 |
/home | 사용자 홈 디렉터리 |
/root | 루트 사용자 홈 |
/bin | 기본 사용자 명령 |
/sbin | 시스템 관리자 명령 |
/etc | 설정 파일 |
/dev | 장치 파일 |
/var | 로그 및 가변 데이터 |
/usr | 설치된 소프트웨어 |
/tmp | 임시 파일 |
7. 기본 파일 및 디렉터리 명령
| Command | Description |
|---|---|
pwd | 현재 디렉터리 표시 |
cd | 디렉터리 변경 |
ls | 파일 목록 |
cp | 파일 복사 |
mv | 이동 / 이름 변경 |
rm | 파일 삭제 |
mkdir | 디렉터리 생성 |
rmdir | 디렉터리 삭제 |
file | 파일 유형 표시 |
more, less | 긴 파일 보기 |
8. cat을 이용한 파일 만들기 및 보기
cat > file.txt # create
cat file.txt # view
9. 파일 비교 명령
cmp file1 file2– 바이트 단위 비교comm file1 file2– 라인 단위 비교
10. 디스크 관련 명령
df -h– 디스크 사용량 표시du -sh folder– 폴더 크기mount– 디스크 마운트umount– 디스크 언마운트
UNIT – II : 쉘, 프로세스, 파이프, 필터, 스케줄링 및 VI 편집기
1. 쉘 이해하기
쉘은 명령 인터프리터입니다. 대표적인 쉘:
- Bash (기본)
- Zsh
- Ksh
- Tcsh
2. Linux의 프로세스
프로세스 = 실행 중인 프로그램. 일반적인 명령:
ps # 프로세스 표시
top # 실시간 모니터링
kill PID # 종료
jobs # 백그라운드 작업 표시
3. 파이프를 이용한 프로세스 연결
ls | wc -l
파이프는 한 명령의 출력을 다른 명령의 입력으로 전달합니다.
4. 입출력 리다이렉션
| Operator | Meaning |
|---|---|
> | 파일로 출력 |
>> | 출력 추가 |
2> | 오류 리다이렉트 |
&> | 출력 + 오류 |
5. 도움말 명령
man commandhelp commandinfo command
6. 백그라운드 처리
command &
jobs
bg %1
fg %1
7. 다중 프로세스 관리
pspgrephtopkill
8. 프로세스 우선순위 변경
nice -n 10 program
renice 5 PID
9. 명령 스케줄링
cron 사용
crontab -e
at 사용
at 5pm
10. 파일 및 유틸리티 명령
| Command | Description |
|---|---|
touch | 빈 파일 생성 |
wc | 라인/단어/문자 수 세기 |
cut | 열 추출 |
dd | 데이터 복사/변환 |
expr | 수학 명령 |
bc | 계산기 도구 |
11. VI / VIM 편집기
모드
- 명령 모드
- 입력 모드
- 마지막 라인 모드
유용한 명령
i " 입력
x " 문자 삭제
:w " 저장
:q " 종료
:wq " 저장 후 종료
/text " 텍스트 검색
12. 간단한 필터 명령
prheadtailcutpastesortuniqtr
13. 정규식 필터
grep– 패턴 검색egrep– 확장 grepsed– 검색 및 치환
예시:
sed 's/old/new/g' file.txt
UNIT – III : 쉘 프로그래밍 및 시스템 관리 기본
1. 쉘 프로그래밍 소개
쉘 스크립트는 Linux 명령을 담은 텍스트 파일입니다.
예시:
#!/bin/bash
echo "Hello Linux"
실행:
chmod +x script.sh
./script.sh
2. 쉘 프로그래밍 개념
변수
name="Abhishek"
echo $name
조건문
if [ $a -gt 10 ]; then
echo "OK"
fi
반복문
for i in 1 2 3; do echo $i; done
함수
hello(){ echo "Hello"; }
3. 시스템 관리 작업
- 사용자 관리
- 디스크 관리
- 네트워크 설정
- 패키지 설치
- 백업 및 복원
- 시스템 모니터링
4. 설정 및 로그 파일
로그는 다음에 저장됩니다:
/var/log/
주요 파일:
/etc/passwd/etc/shadow/etc/fstab/etc/hosts
5. Linux 설치 과정
- USB/DVD로 부팅
- 파티션 생성
- 기본 시스템 설치
- 부트로더 설치
- 재부팅
6. 시스템 시작 / 종료
shutdown -h now
reboot
systemctl reboot
UNIT – IV : 사용자 관리, 파일 시스템, 권한 및 네트워킹
1. 사용자 계정 관리
사용자 추가
useradd username
passwd username
사용자 삭제
userdel username
2. 권한 및 소유권
권한 종류
- 읽기 (r)
- 쓰기 (w)
- 실행 (x)
권한 변경
chmod 755 file
소유자 / 그룹 변경
chown user file
chgrp group file
3. 그룹 관리
groupadd group
groupdel group
4. 사용자 계정 비활성화
usermod -L user
5. 파일 시스템 생성 및 마운트
mkfs.ext4 /dev/sdb1
mount /dev/sdb1 /mnt
6. 슈퍼유저 (su / sudo)
su
sudo command
7. 백업 및 복원
cprsynctarscp
8. 패키지 설치 및 제거
Ubuntu/Debian
apt install package
apt remove package
RHEL/CentOS
yum install package
yum remove package