TOP
class="layout-aside-left paging-number">
본문 바로가기
프로그래밍 및 기타/리눅스

[Linux] 리눅스의 개념 및 기초 (+ 기본 명령어)

by 기록자_Recordian 2025. 2. 23.
728x90
반응형
리눅스(Linux) 란?

 

리눅스(Linux)는 오픈 소스 운영 체제로, 컴퓨터 역사상 가장 많은 기여자가 관여하고 있으며, 소스 코드가 공개되어 있는 대표적인 오픈 소스 프로젝트다. 많은 서버와 임베디드 장치에서 리눅스가 사용되며, 개인용 컴퓨터와 모바일 기기에서도 응용되고 있다.

세계적으로 널리 사용되고 있는데, Linux 재단에 따르면 퍼블릭 클라우드 컴퓨팅 워크로드의 90%, 스마트폰의 82%, 임베디드 기기의 62%, 슈퍼 컴퓨터 시장의 99%가 Linux로 작동한다고 한다.

 

리눅스는 오픈 소스 소프트웨어로, 누구나 무료로 사용할 수 있다. 맥OS, 윈도우 등의 상업용 운영 체제와 달리 오픈 소스이기 때문에 사용자가 자유롭게 수정하고 배포할 수 있다. 따라서 굉장히 다양한 배포판이 존재한다. 각 배포판은 서로 다른 목적과 필요에 맞게 최적화되어 있어, 사용자는 자신에게 가장 적합한 리눅스를 선택할 수 있다.  (우분투, 레드햇, 데비안, 페도라 등)

리눅스 마스코트 Tux

1. 리눅스의 기본 개념

  • 오픈 소스: 리눅스의 소스 코드는 공개되며 누구나 자유롭게 사용, 배포, 수정할 수 있다. 
  • 유닉스 계열: 리눅스는 유닉스에서 파생된 운영 체제로, 유닉스의 철학을 따르는데, 이로 인해 안정성과 유연성을 중시한다.

2. 리눅스의 구조

  • 커널 (Kernel): 하드웨어와 소프트웨어 간의 중개 역할을 하며, 시스템의 기본적인 자원 관리(메모리, 프로세스, 장치)를 책임진다.
  • 쉘 (Shell): 사용자가 운영 체제와 상호작용할 수 있도록 하는 명령어 인터페이스. Bash, Zsh 등이 있다.
  • 파일 시스템 (File System): 데이터와 파일을 구조적으로 저장하고 관리하는 방법. ext4, XFS, Btrfs 등이 사용된다.
  • 유틸리티 및 응용 프로그램: 시스템이나 개발 작업을 위한 다양한 명령어 및 프로그램이 포함되어 있다. 예를 들어, gcc, python, apache 등이 있다.

3. 리눅스 배포판

리눅스는 여러 가지 배포판(디스트리뷰션)으로 제공된다. 각 배포판은 특정 용도나 목적에 맞춰 최적화되어 있다.

  • 우분투 (Ubuntu): 사용자 친화적인 배포판으로, 개인 사용자 및 서버에 널리 사용.
  • 레드햇 (Red Hat): 기업 환경을 위해 설계된 배포판으로, 상업적 지원을 제공. CentOS 사용자가 많다.
  • 데비안 (Debian): 안정성과 보안에 중점을 둔 배포판으로, 많은 다른 배포판의 기반이 됨.
  • 페도라 (Fedora): 최신 기술과 소프트웨어를 실험적으로 도입하는 배포판.

▶ 초보자가 연습하기 좋은 배포판: 우분투 / 서버로 사용하기 좋은 배포판: CentOS

 

4. 리눅스의 장단점


-장점

  • 안정성: 리눅스는 오랜 시간 동안 안정적으로 운영될 수 있으며, 윈도우보다 시스템 다운타임이 적다.
  • 보안: 리눅스는 유닉스 기반의 보안 모델을 제공하여, 사용자 권한 관리가 철저하다.
  • 커스터마이징: 오픈 소스 특성 덕분에 소스 코드를 수정하여 맞춤형 운영 체제를 만들 수 있다.
  • 활발한 커뮤니티: 많은 사용자와 개발자들이 리눅스에 대해 활발하게 지원하고 있어 다양한 자료와 도움을 받을 수 있다.

- 단점

  • 사용자 친화성 부족: 초보자에게는 명령어 기반의 인터페이스가 다소 어려울 수 있다. 그러나 최근의 배포판은 GUI를 강화하여 사용성을 개선하고 있다.
  • 하드웨어 호환성: 일부 소프트웨어나 하드웨어가 리눅스에서 잘 작동하지 않을 수 있다.

5. 주요 용도

  • 서버 운영: 웹 서버, 데이터베이스 서버 등에서 널리 사용된다.
  • 개발 환경: 개발자들이 다양한 프로그래밍 언어와 도구를 사용할 수 있는 환경을 제공한다.
  • 임베디드 시스템: IoT 기기와 같은 임베디드 시스템에서 동작한다.
  • 데스크탑 환경: 개인 사용자 및 개발자에게도 인기가 높다.

6. 리눅스 마스터 자격증
리눅스 사용 역량을 공식적으로 증명할 수 있는 방법으로는 ’리눅스 마스터‘가 있다. 리눅스 마스터는 리눅스에 대한 전문 지식을 검증하는 자격증이다. 한국정보통신진흥협회에서 주관하며 리눅스 기반 시스템의 운영, 관리, 보안 등을 다룬다.

리눅스 마스터는 1급과 2급으로 나뉘는데, 리눅스 마스터 2급은 리눅스의 기본적인 사용법부터 파일 시스템, 사용자 관리, 소프트웨어 설치 등의 내용으로 이루어져 있다. 기초부터 중급 수준의 내용을 다루며 1급보다 난도가 낮다.

리눅스 마스터 1급은 리눅스의 심화 지식을 요구한다. 시스템 관리부터 시스템 보안 및 관리, 네트워크 관리 등의 내용을 다룬다. 난도가 높은 편이며, 실무에서 리눅스를 활용하고자 하는 사용자들을 대상으로 한다. 리눅스 마스터 1급과 2급 모두 필기 시험과 실기 시험으로 나누어져 있다.


리눅스의 주요 용도

 

1. 서버 운영

  • 웹 서버: Apache, Nginx와 같은 웹 서버 소프트웨어를 사용하여 웹사이트를 호스팅.
  • 데이터베이스 서버: MySQL, PostgreSQL 등의 데이터베이스를 운영하는 데 적합.
  • 파일 서버: Samba, NFS를 통해 네트워크에서 파일 공유를 지원.

2. 데스크탑 환경

  • 개인 사용자가 사용하는 데스크탑 운영 체제로, 다양한 배포판(예: 우분투, 페도라)들이 존재.
  • 사용자에게 직관적인 GUI를 제공하며, 다양한 응용 프로그램을 설치하여 사용할 수 있다.

3. 임베디드 시스템

  • 가전 제품, IoT 기기, 로봇 등에 사용되는 운영 체제.
  • 제한된 리소스에서도 효율적으로 작동할 수 있는 경량화된 버전 제공.

4. 개발 환경

  • 개발자들이 소프트웨어를 개발하고 테스트하는 데 필요한 환경을 제공.
  • 다양한 프로그래밍 언어와 도구, 개발 프레임워크를 지원.

5. 클라우드 컴퓨팅

  • 클라우드 서비스 제공자(AWS, Google Cloud 등)가 리눅스를 사용하여 가상 서버를 제공하고 관리.
  • 컨테이너 기술(Docker, Kubernetes)에서도 주로 사용.

6. 슈퍼컴퓨터

  • 고성능 계산이 필요한 연구 및 복잡한 작업을 수행하는 슈퍼컴퓨터에서도 리눅스 사용.

7. 모바일 기기

  • 안드로이드 운영 체제는 리눅스 커널을 기반으로 하여 스마트폰 및 태블릿에 널리 사용.

리눅스 기본 명령어

 

윈도우에 익숙하고 리눅스를 처음 사용할 때는 CUI(Character User Interface) 환경 터미널(Terminal)에서 실행하는 리눅스 기본 명령어를 먼저 익혀야 한다.

 

1. su(Switch User) : 유저 변경

2. pwd(Print Working Directory) : 현재 위치하는 디렉토리를 절대경로 출력
참고로, 절대경로는 / 디렉토리 부터 표시하고, 상대경로는 현재 디렉토리 중심으로 출력
예를 들어, 현재 디렉토리가 /home/test 이고 /home/test/a.txt 파일을 /home/test2/ 로 복사를 할 때,
1) 절대경로 사용하면, # cp /home/test/a.txt /home/test2/b.txt
2) 상대경로 사용하면, # cp /home/test/a.txt ../test2/b.txt
. 하나는 현재 디렉토리, .. 점 두 개는 상위 디렉토리

3. ls(List) : 현재 위치한 디렉토리의 내용을 출력하는 명령어.

많이 사용하는 몇 가지 옵션.
1) ls -l : 자세하게 출력
2) ls -a : 숨김 파일 포함해서 출력, ls -la 하면 숨김파일 포함해서 자세하게 출력
3) ls -R: 하부 디렉토리까지 출력
4) ls -r: 출력 결과를 내림 차순으로 정렬
5) ls -t: 출력 결과를 수정된 시간 기준으로 정렬. 주로 ls -lrt 로 많이 사용

4. cat : concatenate(연결)에서 유래되었고, 파일의 내용을 출력

5. cp(copy) : 복사

6. mv(move) : 이동

7. rm(remove) : 삭제

8. mkdir(make directory) : 디렉토리 생성

9. rmdir(remove directory) : 디렉토리 삭제

 


다음 내용

 

[Linux] 리눅스 단축키

이전 내용 [Linux] 리눅스의 개념 및 기초 (+ 기본 명령어)리눅스(Linux) 란? 리눅스(Linux)는 오픈 소스 운영 체제로, 컴퓨터 역사상 가장 많은 기여자가 관여하고 있으며, 소스 코드가 공개되어 있는

puppy-foot-it.tistory.com


[참고]

https://wikidocs.net/194440

https://spartacodingclub.kr/blog/linux

https://btcd.tistory.com/210

나무위키

728x90
반응형