리눅스(Linux)란?

devtree·2024년 11월 21일
post-thumbnail

리눅스(Linux)란

리눅스는 리누스 토발즈가 개발한 운영체제 커널입니다.

주요 특징

  • 오픈소스: 소스 코드가 공개되어 누구나 수정 및 재배포 가능.
  • 유닉스 기반: 안정적이고 다중 사용자 환경을 지원.
  • 다양한 배포판: 서버용과 데스크톱용으로 최적화된 배포판 존재.
    • 예: Ubuntu, CentOS, Red Hat, Debian 등.

리눅스 구조

  1. 프로그램: 사용자가 명령어를 입력하는 터미널.
  2. : 사용자의 명령어를 해석하고 커널에 전달.
  3. 커널: 운영체제의 핵심으로, 하드웨어와 소프트웨어를 연결.

리눅스 동작 원리

  1. 사용자가 터미널에 명령어 입력.
  2. 셸이 명령어를 커널로 전달.
  3. 커널이 하드웨어를 제어해 작업 수행.
  4. 결과를 셸을 통해 사용자에게 출력.

리눅스 명령어

1. 파일 및 디렉토리 관리

  • ls: 현재 디렉토리 내용 확인.
    • ls -l: 자세히 보기.
    • ls -a: 숨김 파일 포함.
  • cd: 디렉토리 이동.
    • cd ..: 상위 디렉토리로 이동.
  • rm: 파일/디렉토리 삭제.
    • rm -r dir: 디렉토리와 그 내부 파일 삭제.
  • cp: 파일/디렉토리 복사.
    • cp -r src dest: 디렉토리 복사.

2. 파일 내용 관리

  • cat: 파일 내용 출력.
    • cat file.txt: 파일 내용 확인.
  • tail: 파일의 마지막 몇 줄 출력.
    • tail -f file.log: 로그 파일 실시간 모니터링.

3. 프로세스 및 네트워크 관리

  • ps: 현재 실행 중인 프로세스 목록 확인.
    • ps aux: 상세 프로세스 정보.
  • top: 실시간 프로세스 및 시스템 자원 모니터링.
  • ping: 네트워크 연결 상태 확인.
    • ping google.com: 구글로 연결 테스트.
  • curl: HTTP 요청 수행.
    • curl -I https://example.com: 헤더 정보만 가져오기.

4. 시스템 관리

  • df: 디스크 사용량 확인.
    • df -h: 사람이 읽기 쉬운 형식으로 출력.
  • free: 메모리 사용량 확인.
    • free -h: 사람이 읽기 쉬운 형식으로 출력.
  • uptime: 시스템 가동 시간 및 로드 확인.

5. 사용자 및 권한 관리

  • chmod: 파일 권한 변경.
    • chmod 755 file: 소유자 rwx, 그룹/기타 rx.
  • chown: 파일 소유자 변경.
    • chown user:group file: 소유자와 그룹 변경.
  • sudo: 관리자 권한으로 명령 실행.

6. 패키지 관리 (Ubuntu 기준)

  • sudo apt update: 패키지 리스트 업데이트.
  • sudo apt install [패키지명]: 패키지 설치.
  • sudo apt remove [패키지명]: 패키지 제거.

우분투(Ubuntu) 관련 정보

  • 우분투는 리눅스 배포판 중 하나로, 사용하기 쉬운 인터페이스와 안정성 덕분에 서버와 데스크톱에서 많이 사용됩니다.
  • 우분투의 주요 특징:
    • 사용자 친화적: GUI 환경이 잘 갖춰져 있어 리눅스를 처음 접하는 사용자에게 유리함.
    • 광범위한 커뮤니티: 방대한 커뮤니티가 있어 문제 해결이 용이.
    • 장기 지원(LTS): 우분투 LTS(Long-Term Support) 버전은 5년간 보안 업데이트를 제공합니다.

리눅스를 사용하는 이유 (DevOps 관점)

  1. 서버 환경: 안정성과 보안성이 뛰어나 서버 운영에 적합.
  2. 자동화와 스크립트 작성: Bash 스크립트 등을 활용해 작업 자동화.
  3. 네트워크 관리: 다양한 네트워크 도구 지원.
  4. 컨테이너: Docker와 Kubernetes 같은 DevOps 도구와의 높은 호환성.
  5. 오픈소스: 비용 절감 및 커스터마이징 가능.

리눅스는 DevOps에서 서버 관리, 배포, 모니터링 등 핵심 도구로 필수적인 기술입니다! 😊!

profile
devops에 대한 지식을 가볍게 가져가세요

0개의 댓글