Computer Science/Computer Science

Linux: 리눅스란, 쉘, 프롬포트, 로그인쉘, 터미널, 리눅스 디렉토리 구조

Ofglen 2023. 11. 27. 03:00

 

리눅스 

넓은 의미의 리눅스: 리눅스 커널 + 명령어 + 애플리케이션 (사용자가 바로 사용 가능)

좁은 의미의 리눅스: 리눅스 커널

커널: OS에서 하드웨어 제어하는 소프트웨어

 

 

리눅스 종류

  • Red Hat: Red Hat Enterprise Linux, CentOs, Fedora
  • Debian: Debian GNU/Linux, Ubuntu

 

커널의 인터페이스

사용자가 커널을 직접 조작할 수 없기 때문에 사용자와 하드웨어 사이에서 명령어를 전달하여 커널의 실행 결과를 출력하는 소프트웨어

 

 

커널과 쉘이 분리된 이유

리눅스 외 OS를 사용할 때 쉘만 이식하면 동일하게 사용 가능

쉘을 사용하며 에러 또는 높은 부하가 발생해도 본체인 리눅스 커널에 미치는 영향 최소화

 

쉘 종류

sh

표준 쉘. 오래된 쉘이라 기능이 적고 대화형에서 사용하기 불편해서 로그인 쉘로 사용 거의 안함

 

bash

sh 바탕으로 기능 추가됨

 

 

 

프롬포트

쉘이 사용자에게 명령어를 받을 준비가 되었음을 나타냄

 

 

프롬포트 기호

일반 사용자: $

슈퍼 사용자: # 

 

 

로그인 쉘 

/bin/bash: 사용자 로그인 후 처음으로 시작되는 쉘 (리눅스 자동 쉘 시작)

 

#!/bin/bash

#!: 셔뱅(shebang) -> 쉘 지정 실행

#! <경로> 에 위치한 스크립트 파일 bash로 실행 

 

 

터미널

리눅스에서 돌아가는 쉘의 입출력 화면을 제공하는 소프트웨어

 

 

터미널 종류

Windows: PuTTY

macOS: terminal

Linux: GENOME Termonal, Konsole

 

 

 

디렉토리

여러 개의 파일을 담아서 정리하는 것

리눅스에서는 파일만 다룸

 

 

리눅스 디렉토리 구조

  • /: 최상위 디렉토리 (루트 디렉토리)
  • /bin: Binary. 시스템 관련된 주요 명령어 저장. (mv, cat)
  • /dev: 물리적 장치들이 파일화 되어 저장
  • /etc: 애플리케이션 환경 설정 파일
  • /home: 사용자별 개인용 디렉토리 (사용자 이름이 디렉토리 이름으로 사용)
  • /sbin: System-binary. 시스템 관리자용 명령어 
  • /tmp: 임시 파일. (일반적으로 모든 사용자들에게 열려 있어, 정기적으로 이 디렉토리 안의 파일을 삭제하도록 설정된 배포판도 있으므로 중요한 파일을 /tmp에 보관 지양)
  • /usr: 새로 설치한 프로그램 저장. cf. Windows - Program Files 폴더
  • /var: 로그, 스풀링 파일(나중 처리) 저장. (메일 서버로 운영하면 메일 저장)
  • /boot: 부팅 관련 파일
  • /lib: 각종 라이브러리 저장
  • /mnt: CD-ROM. 네트워크 파일 시스템 마운트 할 때 사용됨
  • /proc: 현재 실행되고 있는 프로세스들을 파일화 되어 저장
  • /root: root 계정의 홈 디렉토리