'컴퓨터/리눅스 note'에 해당되는 글 1건

티스토리에 리눅스에 관한 내용을 두서없이 여지껏 포스팅했었데요. 저도 제 포스팅을 찾기가 어렵기도 하고 티스토리에서 코드삽입을 하게 되면 이게 일자로 쭉 쓰여져있는 x같은 현상이 생겨서 문서로 배포하도록 결정했습니다. 

차례대로 설명이 되어 있으므로, 찾아보셔도 되고, 입문자분들께서는 부족하지만 처음부터 보셔도 됩니다.  

현재 초기단계의 배포라서 오타, 오류 등이 있을텐데, 차차 수정하면서 버전을 올려서 다시 배포하도록 하겠습니다. 제가 원래는 좋아요와 댓글 구걸은 하지 않는데, 얼마나 문서를 다운 받으셨는지, 오류 내용이 무엇인지 확인하기 위해서  좋아요! 댓글!  남겨주시면 감사하겠습니다.

아래의 구글 드라이브를 통해서 다운받으실 수 있습니다. 

linux_note_v1.0

 

목차는 아래와 같습니다.

리눅스

1 리눅스 역사

          1.1 System V

1.2 BSD

1.3 LINUX

1.4 POSIX

1.5 GNU

2 리눅스 배포판

          2.1 Debian

2.2 Ubuntu

2.3 CentOS

2.4 Kali

3 리눅스 특징

4

          4.1

          4.2

          4.3

5 리눅스 운영체제의 구조

5.1 어플리케이션 실행 흐름

 

 

시스템 다루기

1 한계

          1.1 컴파일 시점 한계

1.2 실행 시점 한계 - sysconf

1.3 실행 시점 한계 – pathconf, fpathconf

1.4 예제한계 알아보기

2

          2.1

2.2

                    2.2.1 export

                   2.2.2

          2.3

                    2.3.1 setenv, unsetenv

                   2.3.2 putenv

                   2.3.3 getenv

2.3.4 하기

 

파일

1.1 파일입출력

          1.1 open

1.2 close

1.3 read

1.4 write

1.5 lseek

1.6 예제-파일 기, 읽기

1.7 리다이렉션

         1.7.1 입력 Redirection

         1.7.2 출력 Redirection

         1.7.3 에러 Redirection

         1.7.4 파일로 Redirection

                    1.7.5 Append

                    1.7.6 Redirection

1.8 파이프

2 파일제어

2.1 파일 권한

2.1.1 특수 권한 SUID, SGID

2.1.2 특수 권한 Stiky

2.1.3 umask

2.2 링크

2.2.1 하드 링크

2.2.2 심볼릭 링크

2.2.3 링크 커맨드 구현

2.3 파일 상태

2.3.1 파일 상태 확인

2.4 파일 컨트롤 - fcntl

2.4.1 파일 속성 조회, 변경

2.4.2 비차단(NON-Block) 모드

2.4.3 예제 – CLOEXEC 이해

2.5 파일 서술자 복제

2.5.1 dup

2.5.2 dup2

2.5.3 파일 서술자 복제1

2.5.4 예제파일 서술자 복제2

2.6 디렉토리 다루기

2.6.1 opendir

2.6.2 readdir

2.6.3 closedir

2.6.4 디렉토리 파일 리스트 출력

2.6.5 예제하위 디렉토리 읽기

3 러리

3.1 일,

3.2  

          3.3 C

                    3.3.5 기,

                    3.3.8 기,

                    3.3.9 근(Random Access)

                              3.3.9.4 오기

          3.4

                    3.4.1

                    3.4.2

                              3.4.2.4 오기

                              3.4.2.5 – setbuf

                              3.4.2.6 - setvbuf

 

유저

1 사용자관리

          1.1 /etc/passwd

1.2 /etc/shadow

1.3 /etc/group

1.4 사용자 정보 조회 – pwd API

1.4.1 getpwuid, getpwnam

1.4.2 setpwent, getpwent, endpwent

1.4.3 예제사용자 정보 조회

1.5 비밀 관련 API

1.5.1 getspnam, setspent, getspent, endspent

2 사용자 UID(RUID, EUID, SUID) 그룹 ID(RGID, EGID, SGID)

          2.1 uid 조회 함수들

2.1.1 getuid, geteuid, getresuid

2.1.2 예제사용자 UID 조회

2.2 uid 설정 함수들

2.2.1 setuid, getgid

2.2.2 예제 – setuid 특징

2.2.3 setreuid, setregid

2.2.4 setresuid, setresgid

2.2.5 예제 – uid 설정 함수들 관찰

2.3 Saved User ID 쓰임새

2.3.1 예제 – Saved User ID 활용

2.4 실습간단 login 프로그램 구현

 

프로세스

1 프로세스 상태

1.1 리눅스 프로세스 상태

1.2 실습프로세스 상태 확인

2 프로세스 실행

3 프로세스 종료exit 함수

          3.1 exit 함수

3.1.1 파일 디스크립터 방출

3.2.2 atexit 호출

3.2.2 _exit 호출

4 비국소(nonlocal) 분기

          4.1 setjmp, longjmp

          4.2 예제 – setjmp, longjmp 활용

5 프로세스 생성

          5.1 자식 프로세스 생성 – fork

         5.1.1 고아 프로세스

5.1.2 wait

5.1.3 좀비 프로세스

5.1.4 SIGCHLD 이용한 wait

5.1.5 실습다수의 자식 프로세스 wait

5.1.6 자식 프로세스 종료 상태 알아오기

5.1.7 waitpid

             5.1.7.1 예제 – waitpid 사용

             5.1.7.2 예제비차단 waitpid

6 exec 함수들

          6.1 exec 기본 사용방법

6.2 exec 특징

           6.2.1 CLOEXEC

6.3 예제간단 shell

7 프로세스 그룹

          7.1 프로세스 그룹 Id 가져오는 API

          7.1.1 getpgrp

7.1.2 getpgid

7.2 프로세스 그룹 사례들

7.2.1 사례 1 – 스크립트

7.2.2 사례 2 – 자식 프로세스

7.2.3 사례 3 – 파이프

7.3 프로세스 그룹 ID 설정 API

7.3.1 예제프로세스 그룹 ID 설정 현상

8 세션

         

 

데몬 프로세스

1 데몬 프로세스 특징

2 데몬 프로세스 구현

3 로그

3.1 로그 API

         3.1.1 openlog

         3.2.2 syslog

        3.3.3 예제로그 별도 저장

4 시스템 데몬

    4.1 시스템 데몬 사용

4.1.1 시스템 데몬 실행 파일 생성

4.1.2 시스템 데몬 Unit 작성

4.1.2.1 시스템 데몬 unit 섹션

4.1.2.2 시스템 데몬 service 섹션

4.1.2.3 시스템 데몬 install 섹션

4.1.3 systemctl이용한 데몬 제어

4.1.3.1 데몬 실행

4.1.3.2 데몬 상태 확인

4.1.3.3 데몬 중지

4.1.3.4 데몬 재시작

4.1.3.5 부팅 데몬 실행

 

신호

1 신호보내기

1.1 kill 명령어

1.2 kill, raise API

2 신호 종류

3 signal 함수 시그널 특징

3.1 SIGINT

3.2 SIGTSTP

3.3 SIGSTOP

3.4 SIGCHLD

3.5 SIGSHUP

3.6 SW interrupt 특징

3.7 느린 시스템 콜에서 신호

4 시그널 제어

4.1 시그널 집합

4.1.1 sigemptyset, sigfillset

4.1.2 sigaddset, sigdelset

4.1.3 sigismember

4.2 시그널 차단

4.2.1 sigprocmask

4.2.2 – sigprocmask1

4.2.3 – sigprocmask2 시그널 차단

4.2.4 sigpending

4.2.5 sigsuspend

4.3 sigaction

4.3.1 – sigaction으로 signal 구현

4.3.2 예제 – sigaction으로 SIGCHLD 제어

 

 

스레드

1 리눅스 스레드

1.1 pthread_create

1.2 pthread_join

1.3 pthread_detach

2 동기화

2.1 임계영역

2.2 뮤텍스(Mutex)

2.1.1 pthread_mutex_init

2.1.2 pthread_mutex_lock, pthread_mutex_unlock

2.1.3 pthread_mutex_destroy

2.1.5 예제 – system v 공유메모리 사용

2.3 세마포어(Semaphore)

2.3.1 P연산

2.3.2 V 연산

2.3.3 세마포어 API

2.3.3.1 semget

2.3.3.2 semctl

2.3.3.3 semop

2.3.3.4 예제세마포어 적용 쓰레드

2.4 조건변수

2.4.1 조건변수 API

2.4.1.1 pthread_cond_init

2.4.1.2 pthread_cond_wait

2.4.1.3 pthread_cond_signal

2.4.1.4 예제조건 변수 API 사용

2.4.1.5 생산자소비자 문제

3 교착상태(DeadLock)

3.1 교착상태 발생 조건

          3.1.1 상호 배제

          3.2.2 점유와 대기

          3.2.3 비선점 조건

          3.1.2 환형 대기

3.2 예제교착상태 발생 프로그램

3.3 교착상태 해결

          3.3.1 교착상태 예방

          3.3.2 교착상태 회피

          3.3.3 교착상태 회복

           

 

IPC

1 파이프(Pipe)

1.1 예제파이프 사용1

1.2 예제파이프 사용2

2 공유메모리

2.1 System V 공유 메모리

2.1.1 shmget

2.1.2 shmat

2.1.3 shmdt

2.1.4 shmctl

2.1.5 예제 – system v 공유메모리 사용

2.2 POSIX 공유 메모리

2.2.1 shm_open

2.2.2 ftruncate

2.2.3 shm_unlink

2.2.4 예제 – POSIX 공유메모리 사용

3 메시지

3.1 System V 메시지

3.1.1 msgget

3.1.2 msgsnd

3.1.3 msgrcv

3.1.4 msgctl

3.1.5 예제 – System V 메시지큐 사용

3.2 POSIX 메시지

3.2.1 mq_open

3.2.2 mq_send, mq_timedsend

3.2.3 mq_receive, mq_timedreceive

3.2.4 mq_close

3.2.5 mq_unlink

3.2.6예제 – POSIX 메시지 사용

 

네트워크

1 OSI 7 계층

2 TCP/IP

2.1 전송 프로토콜 – TCP, UDP

2.2 네트워크 프로토콜 - IP

3  소켓

3.1 네크워크 관련 API

3.1.1 socket

3.1.2 bind

3.1.3 listen

3.1.4 accept

3.1.5 connect

3.1.6 send

3.1.7 recv

3.1.8 shutdown

3.1.9 바이트 순서 변환

3.1.10 인터넷 주소 변환

3.2 서버클라이언트 통신 구현

3.2.1 단일 클라이언트 처리 서버, 클라이언트 코드

3.2.2 멀티 프로세스 서버

3.2.3 멀티 스레드 서버

3.2.4 다중입출력 – select 활용

3.2.5 다중입출력 – poll 활용

3.2.6 다중입출력 epoll 활용

                 3.2.6.1 Level Trigger

                 3.2.6.2 Edge Trigger

                 3.2.6.3 epoll_create

                 3.2.6.4 epoll_ctl

                 3.2.6.5 epoll_wait

                 3.2.6.6 Level Trigger 서버

                 3.2.6.7 Edge Trigger 서버

3.3 Datagram 소켓 서버

 

반응형
블로그 이미지

REAKWON

와나진짜

,