대학교 시절에는 리눅스란 말을 듣고 지레 겁먹었던 기억이 난다. 

아무것도 모르는 것에 다가간다는것은 어려웠다 

이후에 리눅스를 자주 사용하며 개발이나 운영에 있어서 윈도보다 편하다는 느낌이 들기도 한다. 

리눅스에 대해서 알아보자 

 

 

1. 리눅스의 정의 

  • 컴퓨터의 운영체제 중 하나 - 리누스 토르발스가 처음 출시한 운영 체제 커널인 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영체제 계열 
  • 위의 말은 너무 어렵다 그냥 리누스 토르발스라는 사람이 처음 제작했구나 만 알면 된다 
  • 우리가 주로 사용하는 리눅스 운영체제로는 Ubuntu, CentOS, SuLinux, 등등이 있다. 
  • 여기서 위의 각각의 운영체제가 다 같은 리눅스라는 것인가? - 아니다 
  • 위에서 말한 Ubuntu, CentOS, SuLinux는 정확히 말하면 리눅스 배포판(Linux distribution)이다. 
  • 리눅스 배포판이 먼가? 말 그대로 리눅스에서 분산? 나눠진? 분리된? 운영체제들이다 
    리눅스 커널을 기반으로 동작하고 GNU 소프트웨어 및 여러 가지 자유 소프트웨어로 구성된 운영체제이다 
    GNU Software? - "그누"라고도 부르며 운영 체제의 하나이자 컴퓨터 소프트웨어의 모음집이다. 

2. 리눅스 배포판의 종류 

  • 리눅스 배포판 나무위키에 나와있는 리눅스의 발전과정이다. 
  • 보면 생각과 다르게 매우 엄청 많은 수의 운영체제, 갈래, 가지들이 있다. 
  • 대표적인 리눅스 배포판의 시조?는 데비안(Debian), 레드햇(Redhat), 안드로이드(Android) 가있다.
    MacOS는 UNIX이다
  • 그럼 다음 궁금증은 데비안에는 어떤게어떤 게 있고 레드햇에는 어떤 게 있냐일 것이다 
    또는 우분투는 어딧지? CentOS는 어딨지? 가 될 것이다. 
  • 그다음 궁금증은 데비안? 레드햇? 안드로이드가 어떻게 다르냐? 가 될 것이다 

3. 우분투와 CentOS는 어느 배포판에 속하나? 

  • 우분투는 데비안계열 배포판에서 가장 유명하다고 할 수 있다. 
  • 데비안 계열에서 들어봤을 법한 운영체제는 글쓴이 기준으로는 라즈베리파이OS와 우분투 밖에 없는 거 같다.
  • 레드햇 계열은 대표적으로 CentOS와 페도라가 있다. 
    CentOS는 무료 버전이라 많이 들어보았겠지만 페도라는 글쓴이도 사용해보지는 않았다. VirtualBox에서 가끔 아 저런 거도 있구나 라고 보기만 했던 기억이 있다. 

3. 데비안과 레드햇의 차이점 

  • 데비안과 레드햇은 기본적으로 몇 가지 명령어가 다르다 대표적으로 다른 명령어는 설치 - apt, yum, 패키지 - dpkg, rpm
  • yum, apt 
    처음 리눅스를 가지고 계발을 했을 때 가장 자주한 실수가 구글 검색에 "리눅스 XXX 설치"라고 검색한 것이다. 
    계속 우분투에서 YUM이 안된다고 YUM은 어떻게 설치하는지 알아봤던 기억이 있다. 물론 우분투에 yum을 설치할 수 있지만 저장소가 업데이트가 자동으로 되지 않아 가능하면 사용하지 않는 것이 좋은 거 같다 
  • dpkg, rpm ( RedHat Package Manager)
    윈도를 예로 들면 설치 exe파일이라고 생각하면 된다 위의 명령어를 통해 다운로드한 패키지 파일을 설치할 수 있다. 
    가끔 우분투에서 rpm확장자로 된 설치 파일을 실행해야 할 수도 있는데 그때는 Alien을 install 한 후 파일을 변환하기도 한다 
    확장자는 dpkg - .deb    rpm - .rpm이다 

4. 리눅스의 기본 명령어 

  • cd - change directory - 경로를 이동할 때 사용한다 
  • pwd - print working directory - 현재 디렉터리(폴더)의 경로를 출력한다 
  • ls - list - 디렉토리 내에 있는 파일 또는 폴더의 목록을 출력한다 
  • cp - copy - 파일 또는 디렉터리를 복사한다 
  • mv - move - 파일 또는 디렉터리를 이동한다 ( 복사 후 삭제를 함으로 cp보다 오래걸림, 이름 변경할 때도 사용함)
  • mkdir - make directory - 디렉토리를 생성한다 
  • rm - remove - 삭제 
  • cat - concatenate - 단순 파일의 내용을 출력할 때 또는 파일 여러 개를 합쳐서 하나의 파일로 만들 때 
  • find - find - 특정 파일이나 디렉터리 검색
  • ps - process - 실행 중인 프로세스 출력 \
  • kill - kill - 대상 하는 프로세스 중지 
  • service - 시스템 전체 서비스에 대한 명령 -서비스 재시작, 시작, 중지 등등 
  • shutdown - 시스템 종료
  • top -  시스템의 상태 확인 - 메모리, GPU, Process
  • wget - URL에서 파일 다운로드
  • grep - 정규식 터미널 명령 - 하나의 명령어에 부가적으로 사용해서 특정 파일들만 추출 
  • clear - 터미널 화면 출력 지우기 
  • echo - 터미널 콘솔 창에 특정 텍스트 출력 
  • sudo - 관리자 권한으로 실행 
  • chmod - 권한 변경 777, 666, .... 000 
  • tar - 압축파일 관련 압축해제, 압축하기
  • df - 디스크 확인 

'IT기초' 카테고리의 다른 글

(3) Process, Thread, Multi-thread, Multi-process  (0) 2022.11.09
(2) CPU Instruction Cycle  (0) 2022.11.09
[네트워크] 개발자용 네트워크 기초  (0) 2021.09.28

+ Recent posts