본문 바로가기
Code/길벗 학습단 13기 - 리눅스

길벗 학습단 13기 - 리눅스 - 1주차 학습후기

by Beyonder 2025. 2. 23.

 

 

코딩 자율학습 리눅스 입문 with 우분투 - 예스24

기초부터 탄탄하게!실습하며 배우는 리눅스 입문서리눅스에 처음 도전하는 분을 위한 입문용 책이다. 따라 하기 쉽도록 입문자 눈높이에서 이해하기 쉽게 설명한다. 리눅스를 처음 접할 때 어

www.yes24.com

 

1주차
1일
2일
3일
4일
5일
목차
1장 리눅스 소개
1.1 운영체제란
1.2 리눅스 배포판
1.3 리눅스의 쓰임과 학습 이유
2장 리눅스 실습 환경 구축하기
2.1 리눅스 실습환경 구축 방법
2.2 실습: 가상 머신에 리닉스 설치하기
3장 셸
3.1 터미널과 셸
3.2 셸 스크립트
4장 파일과 디렉터리
4.1 파일 시스템
4.2 리눅스의 파일 계층 구조
4.3 파일의 종류
4.4 디렉터리
4장 파일과 디렉터리
4.5 실습: 파읽롸 디렉터리 다루기

 

 

지은이의 말

  • 검색해서 빠르게 찾은 자료는 금방 잊혀지고, 단편적 지식이라 머릿속에 구조화 되지 않음 → 금방 잊혀짐
  • 체계적인 리눅스 학습을 위해 이 책을 출간함.
    • 컴퓨터 작동방식, 운영체제 구성 요소와 역할 등의 배경지식부터 시작.
    • 실습환경 구축을 위한 가상환경의 설명과 리눅스 설치 방법을 다룸.
    • 리눅스의 파일, 사용자와 사용자 그룹, 소유권과 권한, 프로세스 등의 핵심 개념 설명하고 실습을 통해 다시 한번 복습
    • 실제 리눅스를 다루는데 필요한 Bash를 다룸.
      • 조건문, 반복문, 함수, 리디렉션과 파이프라인은 물론 확장, 셸 옵션 등 현업에 요긴히 사용하는 모든 기능 포함.
    • 리눅스 관리의 기초내용을 다룸.
  • 이 책의 목표는 리눅스를 다양하게 활용하는 기반을 다지는 것이며, 넓고 탄탄한 기반 위에 원하는 것을 쌓아갈 수 있음.
  • 탄탄히 다져놓은 리눅스는 어떤 IT관련 일을 하더라도 두고두고 도움될 것이라 확신함.

Part 1 리눅스 이해하기

1장 리눅스 소개

  • 운영체제와 리눅스의 개념.
  • 리눅스 배포판
  • 리눅스의 사용처와 배워야 하는 이유

1.1 운영체제란

  • 부팅(booting) - 자동차가 시동을 걸 듯 컴퓨터가 운영체제를 초기화 하는 과정
  • 운영체제(OS, Operating System) - 컴퓨터나 스마트폰 같은 시스템에서 하드웨어와 소프트웨어 자운을 관리하는 시스템 소프트웨어.

  • 소프트웨어의 분류
    • 시스템 소프트웨어(system software) - 운영체제, 장치 드라이버 등
    • 응용 소프트웨어(application software) - 웹 브라우저, 엑셀 등

1.1.1 운영체제의 구성요소

  • 커널(kernel) - 하드웨어를 초기화해서 사용할 수 있게 하는 운영체제의 핵심
  • 장치 드라이버(device driver) - 하드웨어 장치를 초기화하고 운영체제와 통신을 담당하는 소프트웨어
  • 파일 시스템(file system) - HDD, SSD 등 저장 장치에 파일을 저장하고 관리하는 소프트웨어
    • FAT, NTFS, EXT4 (오픈 소스, PC 리눅스에서 주로 사용), XFS, XFS\
  • 네트워크 시스템
    • 네트워크 드라이버(network driver) - 유선랜, 와이파이, 블루투스 등 네트워크 장치를 초기화해 사용할 수 있게 해주는 장치 드라이버
    • 네트워크 스택(network stack) - 네트워크 프로토콜을 구연한 소프트웨어
    • 네트워크 프로토콜(network protocol) - 네트워크 데이터 교환의 통신 규약

1.1.2 운영체제의 역할

  • 프로그램 실행과 멀티 테스킹
    • CPU
    • 프로세스
    • 프로세스 스케줄링, 스케줄링 알고리즘, 프로세스 스케줄러, 멀티테스킹
  • 인터럽트 처리
  • 메모리 관리
  • 사용자 인터페이스 제공
    • 그래픽 사용자 인터페이스(GUI)
    • 명령어 기반 인터페이스(CLI)

1.2 리눅스 배포판

  • 레스햇 리눅스(RHEL, Red Hat Enterprise Linus)
  • 센토스(Centos) → 록키(Rocky) 리눅스
  • 우분투(Ubuntu)

1.3 리눅스의 쓰임과 학습 이유

1.3.1 어디에 쓰일까

  • 서버
  • 클라우드 컴퓨팅
  • 임베디드 시스템
  • 모바일 기기

1.3.2 누가/왜 배워야 할까

  • 소프트웨어 개발자
  • 시스템 관리자나 소프트웨어 엔지니어
  • 네트워크 엔지니어
  • 데이터 과학자나 AI  전문가

2장 리눅스 실습 환경 구축하기

2.1 리눅스 실습 환경 구축 방법

2.1.1 PC에 리눅스 직접 설치

2.1.2 가상머신에 리눅스 설치

2.1.3 클라우드 서비스로 리눅스 인스턴트 생성

2.2 실습: 가상 머신에 리눅스 설치하기

2.2.1 윈도우에 리눅스 가상 머신 생성하기

  • 우분투 데스크톱 이미지 다운로드
  • Virtualbox 설치
  • 가상머신 생성 및 우분투 설치
    • 게스트 확장 CD 이미지 삽입

2.2.2 맥OS에 리눅스 가상 머신 생성하기

  • ARM용 우분투 서버 이미지 다운로드
  • UTM 설치
  • 가상 머신 생성 및 우분투 설치
  • 우분투 데스크톱 설치
*책의 화면에는 메모리 4MB, CPU 1개로 되어 있어 따라 설치해보니, error가 발생하여 이미지도 새로 다운받고 반복하여 설차하였으나, 설치 진행과정이  너무 오래 걸리거나 멈추는 등의 문제가 발생하였다.  하지만, 메모리를 system 사양의 50% 수준으로 늘려보니 정상적으로 진행이 완료되었다.

VirtualBox에 설치된 Ubuntu 24.04.1

 

 Windows와 가상머신간 copy & paste (clipboard 공유) 하는 방법
※ Windows 화면보호기로 전환될 경우도 Ubuntu도 전환되는 것을 방지하여 매번 다시 암호 임력을 하지 않도록 하는 방법
Show App > Settings > Privacy & Security > Screen Lock >
1. Blank Screen Display Automati → Never
2. Automatic Screen Lock → Disabled

3장 셸

3.1 터미널과 셸

3.1.1 터미널

3.1.2 셸 (CLI)

3.1.3  터미널과 셸의 관계

  • 텔넷(Telnet)은 모든 데이터가 plaintext라 보안에 매우 취약.  근래는 모든 데이터가 암호화되는 SSH(Secure SHell) 프로토콜을 이용해 터미널을 안전하게 원격 운영체제에 연결. 

3.2 셸 스크립트

  • 여러 명령을 한 파일에 모아 실행

3.2.1 실습: 셸 스크립트 작성하기

  • 단축키 - Ctrl+Alt+T

3.3 기본 명령어

3.3.1 명령어 형식

$ 명령어 [옵션] [인자]

 

3.3.2 man (manual)

man [옵션] [섹션] 페이지

 

  • -a 옵션은 모든 섹션에서 페이지 조회

3.3.3 ls (list)

ls [옵션] [파일]

 

3.3.4 cd (change directory)

cd [디렉터리]

 

3.3.5 pwd (print working directory)

 

3.3.6 cat : 파일 내용 연결/조회

cat [옵션] [파일]

 

3.3.7 exit - 현재 셸 종료

exit [종료_코드]

 

3.3.8 nano - 텍스트 편집기

 

4장 파일과 디렉터리

4.1 파일 시스템

4.1.1 디스크 기반 파일 시스템

 

4.1.2 네트워크 기반 파일 시스템

 

4.1.3 가상 파일 시스템

 

4.2 리눅스의 파일 계층 구조

4.3 파일의 종류

 

4.4 디렉터리

4.4.1. 루트 디렉터리

 

4.4.2 현재 작업 디렉터리

 

4.4.3 홈 디렉터리

 

4.4.4 상대 경로와 절대 경로

4.5 실습: 파일과 디렉터리 다루기

4.5.1 디렉터리 생성하기

 mkdir [옵션]  디렉터리

 

4.5.2 디렉터리 삭제하기

rmdir 옵션]  디렉터리

 

4.5.3 파일 복사하기

cp [옵션]  원본 복사본
cp [옵션]  원본1 원본2 ... 디렉터리

 

4.5.4 파일 이동하기

mv [옵션]  원본 대상
mv [옵션]  원본1 원본2 ... 디렉터리

 

 

4.5.5 파일 삭제하기

rm [옵션]  파일

 

4.6 소프트 링크와 하드 링크

4.6.1 아이노드와 엔트리

4.6.2 소프트 링크

4.6.3 하드 링크

4.6.4 소프트 링크와 하드 링크 비교