운영체제
- 하드웨어와 소프트웨어를 직접적으로 관리하여 동작하게 하는 시스템 프로그램
- 사용자가 컴퓨터를 쉽게 사용하게 함.
- 운영체제 프로그램없이는 컴퓨터 사용불가
- window, MacOS, Linux 등
리눅스
- 커널 : 컴퓨터의 심장
- 컴파일러 : 명령어 생성을 가능케 함
- 쉘 : 명령어 입력 부분
리눅스의 종류
- 데비안(Debian)리눅스
- 레드 햇(Red Hat)리눅스 : 상용화를 하고, 가장 점유율이 높으며 유명.
- 우분투(Ubuntn)리눅스 : 개인 사용자들이 제일 많이 사용.
- CentOS : Red Hat릐 상표제거, 자체개발기술 제거.
윈도우와 리눅스의 차이점
윈도우는 디스크별로 파티션을 / 리눅스는 각각 폴더가 파티션에 해당됨
리눅스는 용도별로 폴더(파티션)을 나눔
swap : 하드디스크의 가상메모리(RAM의 자리가 없을시 사용되는 메모리)
우리가 리눅스를 가장 쉽게 접하는 유형 -> 안드로이드 폰
파티션
-> 물리적인 하드디스크 하나를 내부적으로 나누어 사용하는 것.
파티션 종류
- 주 파티션
- 기본 파티션
- 물리적 디스크 1개당 주 파티션 최대 3개가능
- 확장 파티션
- 1개 물리적 파티션에는 1개의 확장파티션만 가능.
- 별도의 저장공간 X
- 논리 파티션을 담는 그릇.
- 논리 파티션
- 4개 이상의 파티션을 사용하려면 확장파티션 안에 논리파티션을 만든다.
- 물리적 디스크 1개당 논리 파티션은 최대 12개 까지 가능.
X윈도우 : 리눅스의 바탕화면
- 리눅스 시스템에서 제공되는 그래픽 사용자 인터페이스 프로그램 중 하나
- 그놈(GNOME), KDE가 가장 대표적
쉘(Shell)
- 사용자로부터 명령을 입력받아 실행시켜주는 명령어 해석기
- 터미널에 의해 실행
- 종류 : bash, ksh, csh, sh 등
- CentOS에서는 Bash를 가장 많이 사용
가상콘솔
콘솔 : 리눅스 본체와 연결되어있는 모니터
최대 6개까지 가능, 1번째는 무조건 'X 윈도우' 바탕화면
VI편집기
- 컴퓨터 프로그램 작성용 목적으로 제작
- 설정파일 수정 및 간단한 문서 작정 도구
- 리눅스 사용에 있어서 필수
파일 및 디렉토리
- 파일의 종류
- 파일의 확장자가 무의미하고 파일의 정보로 종류가 결정
- 파일시스템, 장치명, 디렉토리 등 모든 것이 파일로 취급됨.
- 파일명의 대소문자를 구분하기 때문에 주의.
- 추가내용
- 폴더 or 파일 앞에 마침표(.) 가 붙으면 숨김파일
(~)
: 사용자 홈 디렉토리- 파일정보에서 맨 앞자리가 'd'이면 폴더, 'd'를 제외한 다른것은 파일이라 생각.
- 리눅스에서는 폴더 안에 파일이 존재하면 삭제 불가.
디렉토리 관련 용어
용어 | 설명 |
root 디렉토리 (root Directory) | 계층적 디렉토리 구조의 최상위 디렉토리 슬래시(/)로 표현 |
현재 작업 디렉토리 (Current Working Directory) |
현재 작업중인 디렉토리로 쉘 프롬프트에 표시됨 점(.)으로 표현 |
절대 경로 (Absolute Path) | root디렉토리를 기준으로 표현하는 방식 예)/home/shon |
상대 경로 ( Relative Path) | 현재 작업 디렉토리를 기준으로 표현하는 방식 예)../home/shon./home/shon |
상위 디렉토리 | 계층 구조상 현재 작업 디렉토리의 위쪽 디렉토리점 두 개(..)로 표현 |
홈 디렉토리 ( Home Directory) | 사용자의 기본 디렉토리로 로그인 시 현재 작업 디렉토리가 홈 디렉토리임 물결(~)로 표현 |
심볼릭 링크
두 개의 파일을 연결하여 놓고 두 개의 파일을 마치 하나의 파일처럼 사용
심볼릭 링크 파일을 수정하면 원본 파일도 수정됨
명령어 : ln
압축
- 리눅스에서는 하나 이상의 파일을 묶음 파일(.tar)로 생성한 후 압축을 수행.
- 다양한 압축 형식이 존재, 가장 일반적인 형식은 gz형식
- 리눅스나 맥등의 유닉스 계열 운영체제에서 가장 많이 사용하는 압축형식은 gzip
- tar 명령어에 gzip 관련 옵션을 추가하면 묶음 파일을 생성과정을 거치지 않고 한번에 일괄 압축 / 해제 가능.
압축방법 : tar zcvf 생성될_압축파일이름 압축할_파일_혹은_디렉토리
해제방법 : tar zxvf 압축파일_이름
c: 압축하기
x: 압축해제
f: 압축파일의 이름지정
v: 압축 / 압축해제시 과정을 화면에 출력
사용자
슈퍼유저
- 고정된 아이디(root)를 갖기 때문에 root라는 아이디가 슈퍼유저라는 의미로 사용
- 리눅스 시스템의 관리와 모든 접근 권한을 가짐
- 일반 사용자를 생성/관리 함.
일반사용자
- 리눅스 운영체제에 로그인하여 사용할 수 있는 사용자
- 개발자가 구현한 프로그램을 구동하기 위한 용도로도 사용
사용자 및 그룹관리를 위한 설정 파일들
- /etc/passwd 파일 : 사용자 계정 정보 파일
- root권한으로만 접근 가능
- 명시된 하나의 행이 한 명의 사용자를 의미
- 내용구성 -> 아이디:비밀번호:사용자번호:그룹번호;설명문:홈 디렉토리:쉘(Shell)지정
- 예) root:x:0:0:root:/root:bun/bash
- 매우 중요한 파일이므로 잘못 건드리면 큰일남
- /etc/shadow 파일 : 사용자 암호 파일
- 각 사용자별 로그인 비밀번호가 별도로 저장되어 있는 파일
- 암호는 별도의 암호화 알고리즘에 의해 알아보지 못하도록 저장되어있음.
- /etc/group 파일 : 사용자그룹(Group)이 저장 되어 있는 파일
- 사용자그룹(Group)정보가 저장되어 있는 파일
프로세스
- 실행중인 하나의 프로그램 단위
프로세스 용어
- Foreground Process : 화면에서 실행되는 것이 보이는 프로세스
- Background Process : 화면에 보이지 않으면서 실행되는 포르세스. 예) 백신, 방화벽 프로그램
- 프로세스번호(PID) : 운영체제에 의해 프로세스에 할당되는 고유번호
- Background 번호 : Background로 실행되는 프로세스의 순차 번호
- 부모프로세스/자식프로세스 : 실행되는 프로세스는 부모프로세스에 종속되며 종속된 프로세스는 자식프로세스
추가정리
- Background 프로그램들은 프로그램의 다운이나 예상치 못한 에러를 방지하기 위해 본인과 똑같은 자식프로세스를 만들어 놓는다.
쉘(Shell)
- 명령어를 입력 받아 커널을 통해 명령을 실힝
- 리눅스를 효율적으로 사용하기 위한 환경변수 및 지역변수 제공
- 환경변수 만드는 명령어 : export
- 쉘 스크립트 제공
쉘의 기능
- 별명 기능
- 예) #alias ls = 'ls -l'
- History 기능
- 방향키 "↑,↓" 버튼을 통해 이전 명령어 탐색
- 이름 자동완성 기능
- 탭(Tab)키를 이용한 자동완성
- 프롬프트 제어 기능
- 환경변수에 쉘 프롬프트 정보 변경
- #PS1 = "$LOGNAME@$PWD#"
- 명령 편집 기능
- 프롬프트 상에서 명령어 수정 기능
환경변수 : 리눅스가 제공하는 시스템 값
- HOME : 로그인한 사용자의 홈 디렉토리
- PWD : 현재 작업디렉토리
- LOGNAME, USER, USERNAME : 로그인한 사용자 이름
- PS1 : 쉘 프롬프트
- HOSTNAME : 호스트의 이름
- SHELL : 사용중인 쉘 이름
터미널은 몸통, 쉘은 터미널내부의 내용이라 생각하면 됨
YUM(Yellodog Update Modified)명령
YUM : 리눅스 패키지 관리도구
- 편리한 설치도구(rpm기반)
- 패키지 의존성 해결
- 프로그램 의존성 : 어떠한 파일을 설치할 때 그 파일을 실행하기 위한 파일을 설치하는 것.
- 인터넷상에서 패키지 저장소(Repository)제공
- 관리자(root)계정으로 실행
- 'su'명령어 입력
- 'sudo'명령어 입력('sudo'를 입력한 명령 구문만 관리자모드로 실행)
'Linux' 카테고리의 다른 글
Linux(개발환경 구축하기) (0) | 2020.08.22 |
---|---|
Linux(명령어 정리) (0) | 2020.08.21 |
Linux-2 (0) | 2020.08.20 |
댓글