책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 리눅스/유닉스 프로그래밍
· ISBN : 9791156002239
· 쪽수 : 543쪽
· 출판일 : 2025-08-29
목차
1장 오픈소스 소프트웨어란
1.1 오픈소스 소프트웨어는 무엇인가
1.1.1. 오픈소스 소프트웨어의 정의
1.1.2. 오픈소스 소프트웨어의 역사
1.2 많이 활용되는 오픈소스 소프트웨어
1.2.1. 운영체제
1.2.2. 웹 서버
1.2.3. 데이터베이스 시스템
1.2.4. 기타 오픈소스 소프트웨어
1.3 오픈소스 소프트웨어 개발
1.3.1. 오픈소스 소프트웨어 프로젝트 개발방식
1.3.2. 오픈소스 소프트웨어 커뮤니티
1.3.3. 오픈소스 소프트웨어 저장소
1.4 오픈소스 소프트웨어의 현재와 미래
1.4.1. 오픈소스 소프트웨어의 현재
1.4.2. 오픈소스 소프트웨어의 미래
1.4.3. 오픈소스와 리눅스에 관심을 가져야하는 이유
연습문제
2장 오픈소스 라이선스란
2.1 소프트웨어의 배포 모델
2.1.1. 독점 소프트웨어와 오픈소스 소프트웨어의 특징
2.1.2. 오픈소스 소프트웨어의 장단점
2.2 오픈소스 라이선스에 대한 이해
2.2.1. 오픈소스 라이선스의 정의
2.2.2. 오픈소스 소프트웨어 라이선스의 중요성
2.2.3. 카피레프트(Copyleft) 조항에 따른 오픈소스 라이선스 분류
2.2.4. 주요 오픈소스 라이선스
2.2.5. 라이선스의 준수 사항
2.2.6. 오픈소스 소프트웨어 활용과 라이선스 정책
2.3 기업과 오픈소스 라이선스
2.3.1. 기업과 라이선스
2.3.2. 라이선스 분쟁 사례
연습문제
3장 Ubuntu 설치하기
3.1 VirtualBox 설치
3.2 우분투 가상머신 생성
3.2.1. 우분투 운영체제 다운로드
3.2.2. 가상머신 생성
3.2.3. 가상머신에 우분투 설치
3.3 우분투 SSH 연결
3.3.1. 가상머신 네트워크 생성
3.3.2. 네트워크 인터페이스 추가
3.3.3. SSH 설정
3.3.4. PuTTY로 SSH 설정
연습문제
4장 리눅스 시스템 구조와 기초 명령
4.1 리눅스 파일 관리
4.1.1. 리눅스 파일의 구성요소
4.1.2. 리눅스 파일의 종류
4.1.3. 디렉터리 계층 구조와 경로
4.1.4. 기초 명령어
4.1.5. 디렉터리 관리 명령어
4.1.6. 파일 관리 명령어
4.2 리눅스의 구조
4.3 리눅스 쉘 명령어
4.3.1. 쉘 기본 명령어
4.3.2. 쉘 특수 문자
4.3.3. 환경 변수
4.3.4. 에일리어스(alias)
4.3.5. 히스토리(history)
4.3.6. 배시 쉘 환경 설정 파일
연습문제
5장 리눅스 파일 및 패키지 관리
5.1 리눅스 액세스 관리
5.1.1. 리눅스 파일의 속성
5.1.2. 리눅스 파일의 접근 권한
5.1.3. 리눅스 파일의 일반 접근 권한 변경
5.1.4. 리눅스 파일의 기본 접근 권한 변경
5.1.5. 리눅스 파일의 특수 접근 권한
5.2 패키지 관리하기
5.2.1. 리눅스 패키지 구성
5.2.2. 리눅스 패키지 설치
5.3 파일 아카이브 및 압축
연습문제
6장 리눅스 텍스트 에디터 활용
6.1 리눅스 텍스트 편집기 종류
6.1.1. gedit
6.1.2. vi
6.1.3. 모드형 편집기와 비모드형 편집기
6.2 vi 동작 모드
6.3 입력 모드 및 커서 이동
6.3.1. 입력 모드
6.3.2. 커서 이동
6.3.3. 화면 이동
6.4 내용 수정 및 삭제
6.4.1. 내용 수정
6.4.2. 내용 삭제
6.5 기타 기능
6.5.1. 명령 취소
6.5.2. 복사, 자르기, 붙여넣기
6.5.3. 내용 검색
6.5.4. 내용 바꾸기
6.6 vi 환경설정
6.6.1. vi 내에서 명령으로 설정
6.6.2. .exrc 파일에 설정
연습문제
7장 리눅스 운영을 위한 프로세스 및 사용자 관리
7.1 프로세스
7.1.1. 프로세스의 개념
7.1.2. 프로세스 종류
7.2 프로세스 관리 명령
7.2.1. ps 명령어
7.2.2. pgrep 명령어
7.2.3. kill 명령어
7.3 프로세스 작업 제어
7.3.1. 포그라운드 및 백그라운드 작업
7.3.2. 작업 제어
7.3.3. 시스템 모니터링
7.4 시스템 사용자 관리
7.4.1. 런레벨
7.4.2. 사용자 계정 관련 파일
7.4.3. 사용자 관리 명령어
7.4.4. 그룹 관리 명령어
7.4.5. 사용자 식별 명령어
연습문제
8장 리눅스 파일 시스템
8.1 파일 시스템
8.1.1. 파일 시스템 개념
8.1.2. 파일 시스템 유형
8.1.3. 운영체제별 파일 시스템
8.2 리눅스 파일 시스템
8.2.1. 리눅스 파일 시스템 종류
8.2.2. 리눅스 파일 시스템 생성
8.2.3. 리눅스 파일 시스템 명령어
8.2.4. 리눅스 파일 시스템 마운트
8.3 LVM 설정과 관리
8.3.1. LVM의 정의
8.3.2. LVM 생성
8.3.3. LVM 확장
8.3.4. LVM 제거
8.3.5. LVM 관리 명령어
연습문제
9장 리눅스 네트워크와 보안
9.1 네트워크 기본 개념
9.1.1. 네트워크 기초
9.1.2. 네트워크 주소
9.1.3. 네트워크 주변장치
9.2 네트워크 관리
9.2.1. 네트워크 관리 기본
9.2.2. 네트워크 설정
9.2.3. 네트워크 모니터링
9.2.4. GUI 환경에서 네트워크 설정
9.3 Linux 보안 관리
9.3.1. 정보 보안 기초
9.3.2. SELinux
9.3.3. SELinux 설치 및 설정
9.4 리눅스 방화벽 관리
9.4.1. 방화벽 정의
9.4.2. 방화벽 사용 규칙
9.4.3. GUI 환경에서의 방화벽
연습문제
10장 Git/GitHub를 활용한 소스코드 관리 및 개발 협업
10.1 소스코드 형상관리 시스템
10.1.1. 소스코드 형상관리란
10.1.2. 소스코드 형상관리 시스템 종류
10.2 GitHub 둘러보기
10.3 Git 이해하기
10.3.1. DVCS
10.3.2. Git 개념
10.3.3. Git 용어
10.4 Git 설치 및 설정
10.5 Git 기초
10.5.1. Git 저장소 생성 방법
10.5.2. 기존 디렉터리를 Git 저장소로 생성
10.5.3. 원격 저장소 Clone 방식으로 Git 저장소 생성
10.5.4. 레포지토리에 변경점 반영
10.5.5. 파일 무시
10.5.6. 파일 삭제 및 이름 변경
10.5.7. Staged와 Unstaged 상태의 변경 내용 확인
10.5.8. 스테이징 영역 생략
10.5.9. 커밋 히스토리 조회하기
10.5.10. 되돌리기
10.5.11. 파일 상태를 Unstaged로 변경
10.6 Git 브랜치
10.6.1. 브랜치란
10.6.2. 브랜치 생성
10.6.3. 브랜치와 Merge
10.6.4. 리모트 브랜치
10.7 Forking Workflow
10.7.1. 저장소 Fork
10.7.2. Pull Request
연습문제
11장 VSCode 기반 개발환경 구축
11.1
11.1 다양한 오픈소스 IDE
11.2
11.2 VSCode 개발환경 구축하기
11.2.1. 리눅스 환경에서 VSCode 설정
11.2.2. Windows 환경에서 VSCode 설정
11.2.3. VSCode에서의 GCC 설정
11.3
11.3 VSCode와 GitHub 연동
11.3.1. VSCode와 레포지토리 연결
11.3.2. 원격 레포지토리에 커밋 반영
11.4
11.4 GitHub Copilot 활용
11.4.1. GitHub Copilot 설정
11.4.2. GitHub Copilot 설치
11.4.3. GitHub Copilot 시작
11.4.4. GitHub Copilot Chat
연습문제
12장 GCC와 바이너리 핸들링
12.1
12.1 GCC 컴파일러
12.1.1. GCC 사용법
12.1.2. 소스코드 변환과정
12.2
12.2 GDB를 이용한 디버깅
12.3
12.3 바이너리 파일 살펴보기
12.3.1. od 명령어
12.3.2. Symbol Table
12.3.3. ELF 파일 형식
12.3.4. objdump 명령어
연습문제
13장 Markdown을 활용한 프로젝트 문서 관리
13.1
13.1 Markdown이란
13.2
13.2 Markdown 기본 문법
13.2.1. 제목 서식
13.2.2. 목록 서식
13.2.3. 코드 블럭 서식
13.2.4. 표 서식
13.2.5. 인용구 서식
13.2.6. 글꼴 서식
13.2.7. 체크박스 서식
13.2.8. 하이퍼링크 서식
13.3
13.3 GitHub와 VSCode에서의 마크다운 문서 확인
13.4
13.4 Notion 활용하기
13.4.1. Notion이란
13.4.2. Notion 계정 생성
13.4.3. Notion 시작하기
13.4.4. Notion 사용법
13.4.5. Notion 페이지 공유 및 게시
연습문제
14장 리눅스 서비스 구축
14.1
14.1 가상머신 네트워크 환경 구성
14.1.1. VirtualBox 네트워크 설정
14.1.2. Ubuntu 네트워크 설정
14.2
14.2 데이터베이스 시스템 구축하기
14.2.1. MySQL 설치
14.2.2. MySQL 데이터 타입
14.2.3. MySQL 기초 쿼리문
14.2.4. MySQL 데이터베이스 관리
14.3
14.3 웹 서버 구축하기
14.3.1. Apache2 설치
14.3.2. 웹페이지 수정하기
연습문제
15장 Docker와 AWS 클라우드 서비스
15.1
15.1 클라우드 서비스
15.1.1. 클라우드 서비스란
15.1.2. 가상화와 컨테이너
15.2
15.2 Docker
15.2.1. Docker의 정의
15.2.2. Docker 설치
15.2.3. Docker 사용법
15.2.4. Dockerfile를 활용한 이미지 생성
15.2.5. Docker 컨테이너를 이미지로 추출
15.3
15.3 아마존 웹 서비스 실습
15.3.1. AWS 등록
15.3.2. AWS 인스턴스 생성
15.3.3. 외부에서 인스턴스 접속하기
15.3.4. 웹 서버 띄우기
15.3.5. 고정 IP 할당
연습문제