-
운영체제

-
리눅스 소개
- 리눅스는 1991년에 리누스 토르발스 (Linus Torvalds)에 의해 개발된 오픈소스 운영체제
- 리눅스는 유닉스를 모방하여 만들어진 운영체제
- 맥 OS, 리눅스 등 많은 운영체제가 유닉스에 영향을 받아 만들어짐
- 이로 인해 맥북과 리눅스는 유사한 운영체제 환경
- 이에 반해 윈도우는 비교적 독자적인 방향
- 안드로이드 운영체제는 리눅스 커널을 기반으로 개발(2000년대 중반)
- 이후 많은 운영체제가 무료로 배포된 리눅스에 영향을 받아 만들어졌고, 리눅스 운영체제를 기본으로 다양한 프로그램을 추가한 수많은 배포판이 나오게됨
-
리눅스 배포판
- 리눅스에는 수백개의 배포판이 존재
- 리눅스커널이라는 공통된 운영체제 커널을 사용하되 갖가지 다른 응용프로그램을 다르게 조합해 만든, 리눅스 운영체제
- 크게는 redhat계열, debian계열이 존재
- 데비안계열은 ubuntu, debian등이 대표적
- 레드헷계열은 redhat, centos등이 대표적인 배포판
- 도커에서 사용하는 가벼운 alphine리눅스도 존재
- 일반 웹서비스에서는 우분투가 1위
- 상업용 시장에서는 레드헷이 1위
-
리눅스 주요 개념
-
커널

- 커널(kernel)은 컴퓨터 시스템의 핵심적인 부분으로, 하드웨어와 소프트웨어 간의 상호작용을 관리
- 메모리 관리, 입출력관리, 프로세스 관리 등
- 프로세스는 컴퓨터에서 실행 중인 프로그램을 의미
-
파일 시스템 구조
- 파일 시스템은 계층적 구조를 가지며, 가장 상위에는 루트 디렉토리 (/)
- 주요 디렉토리로는 /bin, /etc, /home, /var 등
- /bin은 시스템을 부팅하거나 유지 관리할 때 필요한 필수 사용자 명령어 등이 저장(ls, cp, mv, cat 등의 기본적인 명령어들)
- /etc는 사용자 계정, 네트워크 설정등의 파일들이 저장
- /home/사용자계정명은 사용자의 홈 디렉토리
- /var는 로그와 같은 내용이 자주 변할 수 있는 파일들을 저장하는 디렉토리
-
사용자와 그룹
- 리눅스에서 사용자는 여러 그룹에 속하게 하여 그룹으로 관리
- 권한 관리를 통해 특정 사용자나 그룹이 파일이나 디렉토리에 접근할 수 있는 권한을 지정
-
쉘 (Shell) 프로그램
- 사용자와 운영체제 간의 인터페이스 프로그램. 쉘은 사용자의 명령을 해석하여 운영체제 커널에 전달
- 대표적인 쉘 프로그램으로는 bash(기본), zsh, sh 등
- echo $0 명령어로 현재 사용중인 쉘 프로그램 확인가능
-
리눅스 실습 준비
- 가상환경에서 리눅스 설치
- vmware 가상환경 지원 프로그램 설치
- 모두 default set으로 설치 진행
- 우분투 이미지 다운로드
- 우분투 OS 설치
-
주요 쉘 명령어
- 디렉터리 관련
- pwd
- mkdir
- ls명령어
- cd
- 디렉토리 이동 명령어
- 절대경로 이동 cd /root/abc/cbd
- 상대경로 이동 cd ..
- cd만 치면 홈 경로로 이동
- cd / 를 치면 root경로로 이동
- cd -를 치게 되면 직전 폴더로 이동
- .은 현재경로를 의미, ..은 상위경로를 의미
- 자동완성과 히스토리
- tap키를 눌러 자동완성
- history명령어로 이전 명령어 조회
- 도스키 사용(상하 화살표키)
- clear
- 파일 관련
- rm
- 파일이나 디렉토리 삭제
- rm, rm –f, rm -rf
- cp
- 파일이나 디렉토리를 복사
- cp –r 하면 디렉토리까지 모두 복사(r : recursive)
- mv
- 파일이나 디렉토리를 이동
- 잘라내서 붙이기와 같은 기능
- touch
- 용량 0인 파일을 생성
- 이미 존재할 경우에는 수정 시간을 변경
- cat
- 텍스트로 작성된 파일을 화면에 출력
- more 명령어는 페이지 단위로 출력
- head, tail
- 리다이렉션( >, >>, | 등)의 활용
- grep
- find
- 사용자와 그룹
- 그외
-
쉘 제어문
-
vi 에디터