리눅스 소개
리눅스는 1991년에 리누스 토르발스(Linus Torvalds)에 의해 개발된 오픈소스 운영체제
리눅스는 유닉스를 모방하여 만들어진 운영체제
● 맥 OS, 리눅스 등 많은 운영체제가 유닉스에 영향을 받아 만들어짐
- 이로 인해 맥북과 리눅스는 유사한 운영체제 환경
- 이에 반해 윈도우는 비교적 독자적인 방향
● 안드로이드 운영체제는 리눅스 커널을 기반으로 개발(2000년대 중반)
● 이후 많은 운영체제가 무료로 배포된 리눅스에 영향을 받아 만들어졌고, 리눅스 운영체제를 기반으로 다양한
프로그램을 추가한 수많은 배포판이 나오게됨
리눅스 배포판
리눅스에는 수백개의 배포판이 존재
● 공통된 운영체제 커널을 사용하되 갖가지 다른 응용프로그램을 다르게 조합해 만든, 리눅스
운영체제크게는 redhat계열, debian계열이 존재
● 크게는 redhat계열, debian계열이 존재
- 데이만계열은 ubuntu, debian등이 대표적
- 레드헷계열은 redhat, cenmtos등이 대표적인 배포판
● 도커에서 사용하는 가벼운 alphine리눅스도 존재
● 일반 웹서비스에서는 ubuntu가 1위
● 상업용 시장에서는 redhat이 1위
리눅스 주요 개념
커널
● 커널(kernel)은 컴퓨터 시스템의 핵심적인 부분으로, 하드웨어와 소프트웨어 간의 상호작용을 관리
메모리 관리, 입출력관리, 프로세스 관리등
● 프로세스는 컴퓨터에서 실행 중인 프로그램을 의미
파일 시스템 구조
● 파일 시스템은 계층적 구조를 가지며, 가장 상위에는 루트 디렉토리(/)
● 주요 디렉토리로는 /bin, /etc, /home, /var, /usr 등
- /home은 사용자의 홈 디렉토리, / etc는 시스템 설정 파일을저장
사용자와 그룹
● 리눅스에서 사용자는 여러 그룹에 속하게 하여 그룹으로 관리
● 권한 관리를 통해 특정 사용자나 그룹이 파일이나 디렉토리에 접근할 수 있는 권한을 지정
쉘(Shell)
● 사용장와 운영체제 간의 인터페이스 프로그램. 쉘은 사용자의 명령을 해석하여 운영체제 커널에 전달
● 대표적인 쉘로는 bash, zsh 등
리눅스 실습 준비
● 가상환경에서 리눅스 설치
VSCode, Git, VMware, Ubuntu 설치
git repository에 user.name, user.email 잘 세팅해야 잔디가 잘 심어진다