본문 바로가기
Linux

Linux-1

by 글로리. 2020. 8. 10.

운영체제

  • 하드웨어와 소프트웨어를 직접적으로 관리하여 동작하게 하는 시스템 프로그램
    • 사용자가 컴퓨터를 쉽게 사용하게 함.
    • 운영체제 프로그램없이는 컴퓨터 사용불가
    • 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

댓글