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 계정의 홈 디렉토리