모두를 위한 리눅스 프로그래밍 : 북윈도
리뷰 0 위시 120

모두를 위한 리눅스 프로그래밍 요약정보 및 구매

리눅스 구조와 C 언어로 배우는 리눅스 첫걸음

상품 선택옵션 0 개, 추가옵션 0 개

출판사 제이펍
저자 아오키 미네로
ISBN 9791188621408 (1188621408)
정가 30,000원
판매가 27,000원(10% 할인)
배송비 무료배송
포인트 정책 설명문 닫기

00포인트

포인트 정책 설명문 출력

선택된 옵션

관심상품

상품 정보

사은품
상품 기본설명
리눅스 구조와 C 언어로 배우는 리눅스 첫걸음
상품 상세설명


리눅스의 구조와 함께 배우는 gcc 프로그래밍의 왕도 리눅스에서 많이 사용하는 명령어들을 C 언어로 만들어보는 예제를 통해 리눅스와 C 언어를 동시에 익히며 쉽고 빠르게 진도를 낼 수 있다. 또한 리눅스라는 거대한 시스템을 파일 시스템, 프로세스, 스트림이라는 세 개의 키워드로 일관되게 설명하고 있어서 이제 막 리눅스에 입문하는 초보자에게는 이만한 책이 또 없을 것이다. 책을 읽고 난 후에는 리눅스와 C 언어에 대해서는 어느 정도 자신감을 가지고 네트워크 관련 프로그램까지도 만들 수 있게 될 것이다.





목차
제I부 리눅스의 구조
제1장 리눅스 프로그래밍 시작하기 ........ 3
1.1 책의 개요 4
1.2 프로그래밍 환경 준비 8
1.3 gcc를 사용한 빌드(1) 10
1.4 gcc를 사용한 빌드(2) 13
1.5 커맨드라인 인자 16
1.6 개발 환경 이야기 20
1.7 정보를 얻는 방법 22

제2장 리눅스 커널의 세계 ........ 24
2.1 운영체제 25
2.2 라이브러리 30

제3장 리눅스의 세 가지 중요 개념 ........ 33
3.1 파일 시스템 34
3.2 프로세스 39
3.3 스트림 41
3.4 리눅스의 세 가지 중요 개념 정리 45

제4장 리눅스와 사용자 ........ 46
4.1 사용자와 그룹 47
4.2 셸과 단말 55

제II부 리눅스 프로그래밍의 근간
제5장 스트림 관련 시스템 콜 ........ 63
5.1 이번 장에서 다루는 내용 64
5.2 파일 디스크립터 65
5.3 표준 입력, 표준 출력, 표준 에러 출력 66
5.4 스트림 읽기 및 쓰기 69
5.5 파일 열기 72
5.6 cat 명령어 만들기 75
5.7 기타 시스템 콜 83
5.8 연습문제 87

제6장 스트림 관련 라이브러리 함수 ........ 88
6.1 stdio 89
6.2 바이트 단위 입출력 93
6.3 stdio로 cat 명령어 만들기 96
6.4 문자열 입출력 98
6.5 고정 길이 입출력 105
6.6 파일 오프셋 작업 107
6.7 파일 디스크립터와 FILE 타입 109
6.8 버퍼링 작업 111
6.9 EOF와 에러 112
6.10 stdio의 동작 확인하기 114
6.11 연습문제 117

제7장 head 명령어 만들기 ........ 118
7.1 head 명령어 만들기 119
7.2 옵션 파싱 125
7.3 gdb를 사용한 디버깅 134
7.4 연습문제 140

제8장 grep 명령어 만들기 ........ 141
8.1 grep 명령어 만들기 142
8.2 한글 문자열 처리와 국제화 149
8.3 연습문제 156

제9장 리눅스의 디렉터리 구조 ........ 157
9.1 기본적인 구조 158
9.2 /usr 디렉터리 160
9.3 /var 디렉터리 163
9.4 루트 밑의 주요 디렉터리 165
9.5 디렉터리를 구분하는 기준 169

제10장 파일 시스템 관련 API ........ 170
10.1 디렉터리 내용 읽어 들이기 171
10.2 디렉터리 만들기 176
10.3 디렉터리 삭제하기 180
10.4 하드 링크 182
10.5 심볼릭 링크 186
10.6 파일 삭제 189
10.7 파일 이동 191
10.8 메타 정보 획득하기 193
10.9 메타 정보 변경하기 198
10.10 파일 시스템과 스트림 202
10.11 연습문제 203

제11장 프로세스와 하드웨어 ........ 204
11.1 프로세스란 무엇인가? 205
11.2 메모리 관리 관련 API 215
11.3 프로그램이 완성될 때까지 218
11.4 연습문제 223

제12장 프로세스 관련 API ........ 224
12.1 기본적인 프로세스 API 225
12.2 프로세스의 생애 231
12.3 파이프 235
12.4 프로세스 관계 240
12.5 연습문제 245

제13장 시그널 관련 API ........ 246
13.1 시그널 247
13.2 시그널 포착하기 249
13.3 시그널 전송 256
13.4 Ctrl + C 257
13.5 연습문제 259

제14장 프로세스 환경 ........ 260
14.1 현재 디렉터리 261
14.2 환경 변수 264
14.3 자격 증명 267
14.4 사용자와 그룹 271
14.5 프로세스가 사용하는 리소스 273
14.6 날짜와 시간 275
14.7 로그인 281
14.8 연습문제 284

제III부 리눅스 네트워크 프로그래밍
제15장 네트워크 프로그래밍의 기초 ........ 287
15.1 인터넷의 구조 288
15.2 호스트 이름과 리졸버 292
15.3 소켓 API 295
15.4 이름 해결 299
15.5 daytime 클라이언트 작성 301
15.6 연습문제 306

제16장 HTTP 서버 만들기 ........ 307
16.1 WWW와 HTTP 308
16.2 HTTP 312
16.3 HTTP 서버 개략 315
16.4 서비스 개시까지 320
16.5 struct HTTPRequest 322
16.6 요청 읽어 들이기 325
16.7 struct FileInfo 331
16.8 응답 출력하기 334
16.9 동작 테스트 338

제17장 본격적인 HTTP 서버 구현 ........ 340
17.1 이번 장에서 수행할 내용 341
17.2 스스로 네트워크에 접속하기 344
17.3 복수 접속을 병렬 처리 348
17.4 데몬 만들기 353
17.5 로그 기록 355
17.6 chroot()로 안정성 높이기 360
17.7 완성! 364

제18장 이 책을 다 읽은 후 ........ 365
18.1 리눅스/유닉스 전반 366
18.2 커널이 어떻게 구현되었는지 알기 위한 책 367
18.3 이식성 368
18.4 GUI 프로그래밍 370
18.5 단말 조작 372
18.6 make 374
18.7 셸 스크립트 376
18.8 버전 관리 시스템 377
18.9 도큐먼트 378
18.10 패키지와 배포 379

APPENDIX 부록 ........ 380
A.1 gcc의 주요 커맨드라인 옵션 381
A.2 참고 문헌 383
책속으로
다음으로, C 언어 컴파일러가 필요하다. 리눅스에서는 gcc(GNU Compiler Collection)를 많이 사용한다. 다른 컴파일러를 사용해야 할 강력한 이유가 없다면 gcc를 사용하기 바란다. gcc가 설치되었는지 여부는 다음 명령어를 통해 확인할 수 있다. _8pAPI(Application Programming Interface)란, 프로그래밍을 통해 무언가를 사용할 때의 인터페이스를 말한다. 커널의 API는 물론 시스템 콜이다. 그러나 경우에 따라서는 설정 파일이나 명령어조차도 API가 될 수 있다. 의외로 API라는 말은 프로그래밍할 때 사용하는 많은 것을 포괄하는 폭넓은 개념인 것이다. _31p먼저 스트림이 단말에 연결된 경우에는 버퍼가 가득 찰 때까지 기다리지 않고 개행(‘n’)을 만나는 시점에서 write()를 실행한다. 이유는, 반대편에 모니터와 같은 단말이 있다면 사람이 출력을 보고 있을 가능성이 높기 때문이다. 버퍼가 가득 차기까지는 오랜 시간이 걸릴 수도 있기 때문에 적절한 순간에 바로 출력해 주는 것이 프로그램의 응답이 빨라지고 사용자의 사용성도 좋아진다. _90p리눅스를 사용하면 정규 표현식을 사용할 기회가 많다. 예를 들어 vi나 emacs와 같은 편집기에서도 정규 표현식을 사용하여 텍스트를 검색할 수 있으며, less 등의 뷰어에서도 마찬가지다. awk와 sed, 펄(perl), 루비(ruby) 등의 도구에서도 정규 표현식이 중요한 역할을 한다. _142p보통 C 언어 책에서는 정수 타입에 대해 char, short, int 또는 long까지만 다루는데, C99부터는 이에 더해 long long이라고 하는 타입이 존재한다. long long 타입은 최소 64비트가 보장되는 정수 타입이다. 물론, unsigned long long 타입도 있다. printf()에서 signed long long 타입의 값을 표시할 때는 %lld를 사용하고, unsigned long long 타입의 경우에는 %llu을 사용한다. _195p환경 변수(environment variable)는 프로세스의 부모/자식 관계를 통하여 전파되는 전역 변수와 같은 것이다. 보통 셸을 사용할 때 PATH나 EDITOR와 같은 환경 변수를 설정한 경험이 있을 것이다. 환경 변수는 항상 설정해 두고 싶은 값을 프로그램에 전달하기 위해 사용한다. 예를 들어 환경 변수 LESS에 "-i"를 설정해 두면 less는 항상 -i 옵션과 함께 실행된다. 이와 비슷한 환경 변수로 MORE와 GZIP 등이 있다. 명령어가 참조하는 환경 변수는 각 명령어의 man 페이지에 기재되어 있으니 확인해 보기 바란다. _264p
출판사 서평
개발자 관점에서 배우는 알기 쉬운 리눅스 입문서!이 책은 리눅스 구조를 쉽게 배울 수 있는, 그리고 리눅스 gcc 프로그래밍의 입문 서적으로 호평받은 1판에서 최신 상황을 반영하고 전체적으로 내용을 업데이트하였다. 개발자 관점에서 리눅스 구조를 해설하고, 리눅스를 구성하는 개념과 리눅스 프로그래밍의 표준 기법을 설명하며, Hello World!에서 HTTP 서버 구축까지 다룬다.리눅스 입문서인 이 책은 리눅스에서 사용할 수 있는 간단한 프로그램 개발을 통해 OS의 기본적인 역할과 구조를 이해할 수 있으며, 리눅스용 프로그램 개발에 무엇이 필요한지 독자 스스로 판단할 수 있도록 도와준다.이 책의 대상 독자
* 프로그래밍을 통해 리눅스 구조를 파악하고 싶은 분
* C 언어 입문을 마치고 리눅스 프로그래밍을 익히고 싶은 분
* 리눅스나 유닉스 프로그래밍 관련 다른 책들이 읽기 어려웠던 분
* 윈도우에서 C나 C++을 다뤄봤으나 리눅스에서의 프로그래밍은 처음인 분
상품 정보 고시
도서명 모두를 위한 리눅스 프로그래밍
저자 아오키 미네로
출판사 제이펍
ISBN 9791188621408 (1188621408)
쪽수 416
출간일 2018-11-08
사이즈 188 * 245 * 27 mm /801g
목차 또는 책소개 제I부 리눅스의 구조
제1장 리눅스 프로그래밍 시작하기 ........ 3
1.1 책의 개요 4
1.2 프로그래밍 환경 준비 8
1.3 gcc를 사용한 빌드(1) 10
1.4 gcc를 사용한 빌드(2) 13
1.5 커맨드라인 인자 16
1.6 개발 환경 이야기 20
1.7 정보를 얻는 방법 22

제2장 리눅스 커널의 세계 ........ 24
2.1 운영체제 25
2.2 라이브러리 30

제3장 리눅스의 세 가지 중요 개념 ........ 33
3.1 파일 시스템 34
3.2 프로세스 39
3.3 스트림 41
3.4 리눅스의 세 가지 중요 개념 정리 45

제4장 리눅스와 사용자 ........ 46
4.1 사용자와 그룹 47
4.2 셸과 단말 55

제II부 리눅스 프로그래밍의 근간
제5장 스트림 관련 시스템 콜 ........ 63
5.1 이번 장에서 다루는 내용 64
5.2 파일 디스크립터 65
5.3 표준 입력, 표준 출력, 표준 에러 출력 66
5.4 스트림 읽기 및 쓰기 69
5.5 파일 열기 72
5.6 cat 명령어 만들기 75
5.7 기타 시스템 콜 83
5.8 연습문제 87

제6장 스트림 관련 라이브러리 함수 ........ 88
6.1 stdio 89
6.2 바이트 단위 입출력 93
6.3 stdio로 cat 명령어 만들기 96
6.4 문자열 입출력 98
6.5 고정 길이 입출력 105
6.6 파일 오프셋 작업 107
6.7 파일 디스크립터와 FILE 타입 109
6.8 버퍼링 작업 111
6.9 EOF와 에러 112
6.10 stdio의 동작 확인하기 114
6.11 연습문제 117

제7장 head 명령어 만들기 ........ 118
7.1 head 명령어 만들기 119
7.2 옵션 파싱 125
7.3 gdb를 사용한 디버깅 134
7.4 연습문제 140

제8장 grep 명령어 만들기 ........ 141
8.1 grep 명령어 만들기 142
8.2 한글 문자열 처리와 국제화 149
8.3 연습문제 156

제9장 리눅스의 디렉터리 구조 ........ 157
9.1 기본적인 구조 158
9.2 /usr 디렉터리 160
9.3 /var 디렉터리 163
9.4 루트 밑의 주요 디렉터리 165
9.5 디렉터리를 구분하는 기준 169

제10장 파일 시스템 관련 API ........ 170
10.1 디렉터리 내용 읽어 들이기 171
10.2 디렉터리 만들기 176
10.3 디렉터리 삭제하기 180
10.4 하드 링크 182
10.5 심볼릭 링크 186
10.6 파일 삭제 189
10.7 파일 이동 191
10.8 메타 정보 획득하기 193
10.9 메타 정보 변경하기 198
10.10 파일 시스템과 스트림 202
10.11 연습문제 203

제11장 프로세스와 하드웨어 ........ 204
11.1 프로세스란 무엇인가? 205
11.2 메모리 관리 관련 API 215
11.3 프로그램이 완성될 때까지 218
11.4 연습문제 223

제12장 프로세스 관련 API ........ 224
12.1 기본적인 프로세스 API 225
12.2 프로세스의 생애 231
12.3 파이프 235
12.4 프로세스 관계 240
12.5 연습문제 245

제13장 시그널 관련 API ........ 246
13.1 시그널 247
13.2 시그널 포착하기 249
13.3 시그널 전송 256
13.4 Ctrl + C 257
13.5 연습문제 259

제14장 프로세스 환경 ........ 260
14.1 현재 디렉터리 261
14.2 환경 변수 264
14.3 자격 증명 267
14.4 사용자와 그룹 271
14.5 프로세스가 사용하는 리소스 273
14.6 날짜와 시간 275
14.7 로그인 281
14.8 연습문제 284

제III부 리눅스 네트워크 프로그래밍
제15장 네트워크 프로그래밍의 기초 ........ 287
15.1 인터넷의 구조 288
15.2 호스트 이름과 리졸버 292
15.3 소켓 API 295
15.4 이름 해결 299
15.5 daytime 클라이언트 작성 301
15.6 연습문제 306

제16장 HTTP 서버 만들기 ........ 307
16.1 WWW와 HTTP 308
16.2 HTTP 312
16.3 HTTP 서버 개략 315
16.4 서비스 개시까지 320
16.5 struct HTTPRequest 322
16.6 요청 읽어 들이기 325
16.7 struct FileInfo 331
16.8 응답 출력하기 334
16.9 동작 테스트 338

제17장 본격적인 HTTP 서버 구현 ........ 340
17.1 이번 장에서 수행할 내용 341
17.2 스스로 네트워크에 접속하기 344
17.3 복수 접속을 병렬 처리 348
17.4 데몬 만들기 353
17.5 로그 기록 355
17.6 chroot()로 안정성 높이기 360
17.7 완성! 364

제18장 이 책을 다 읽은 후 ........ 365
18.1 리눅스/유닉스 전반 366
18.2 커널이 어떻게 구현되었는지 알기 위한 책 367
18.3 이식성 368
18.4 GUI 프로그래밍 370
18.5 단말 조작 372
18.6 make 374
18.7 셸 스크립트 376
18.8 버전 관리 시스템 377
18.9 도큐먼트 378
18.10 패키지와 배포 379

APPENDIX 부록 ........ 380
A.1 gcc의 주요 커맨드라인 옵션 381
A.2 참고 문헌 383
배송공지

사용후기

회원리뷰 총 0개

사용후기가 없습니다.

상품문의

등록된 상품문의

상품문의 총 0개

상품문의가 없습니다.

교환/반품

[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.

[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21

[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담

[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)

[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.

[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.

회원로그인

오늘 본 상품

  • 모두를 위한 리눅스 프로그래밍
    모두를 위한 리눅스
    27,000
  • 15초 척추체조로 모든 통증을 없앤다
    15초 척추체조로
    9,900
  • 포에버 데이 원
    포에버 데이 원
    14,400
  • 그때 이렇게 화냈어야 했는데!
    그때 이렇게 화냈어
    12,600
  • 코로나 시대의 역발상 트렌드
    코로나 시대의 역발
    16,200
  • 직장인 공부법
    직장인 공부법
    15,300
  • 원하는 것이 모두 이루어지는 1%의 마법
    원하는 것이 모두
    12,600
  • 밤의 숨소리
    밤의 숨소리
    14,850
  • 악성코드 분석 시작하기
    악성코드 분석 시작
    32,400
  • 직장인을 위한 실무 데이터 분석 with 엑셀
    직장인을 위한 실무
    19,800
  • 영감의 글쓰기
    영감의 글쓰기
    14,400
  • 윤리, 최대한 쉽게 설명해 드립니다
    윤리, 최대한 쉽게
    12,420
  • 송쌤의 엔트리 게임 코딩 학교
    송쌤의 엔트리 게임
    16,200
  • 킵 샤프 늙지 않는 뇌
    킵 샤프 늙지 않는
    15,300
  • 디지털로 생각하라
    디지털로 생각하라
    14,400
  • R, JAGS, Stan을 이용한 베이지안 데이터 분석 바이블
    R, JAGS, S
    37,800
  • 오토캐드(AutoCAD)(2016)
    오토캐드(AutoC
    22,500
  • 있는 그대로의 글쓰기
    있는 그대로의 글쓰
    13,500
  • 소설처럼 읽고 실행하는 SQL
    소설처럼 읽고 실행
    18,000
  • 사소한 아이디어의 힘
    사소한 아이디어의
    15,300
  • 오토캐드 트레이닝 북
    오토캐드 트레이닝
    26,100
  • 콘텐츠가 너희를 자유롭게 하리라
    콘텐츠가 너희를 자
    13,500
  • 나쁜 피부 굿바이
    나쁜 피부 굿바이
    13,500
  • 길 하나 건너면 벼랑 끝
    길 하나 건너면 벼
    16,200
  • 사이버공간과 법문화
    사이버공간과 법문화
    10,000
  • 반응형 디자인 도입하기
    반응형 디자인 도입
    16,200