Linux就是這個范兒

Linux就是這個范兒
定價:570
NT $ 496
  • 作者:趙鑫磊
  • 出版社:人民郵電出版社
  • 出版日期:2014-07-01
  • 語言:簡體中文
  • ISBN10:7115359369
  • ISBN13:9787115359360
  • 裝訂:728頁 / 普通級 / 1-1
 

內容簡介

由來自阿里巴巴集團的資深Linux系統專家趙鑫磊和同樣來自阿里巴巴集團的支付寶網絡技術有限公司的高級專家Jie Zhang(張潔)共同著寫。

兩位作者用輕松、詼諧的語言講解了高深的Linux特性。通俗易懂、深入淺出,從Linux設計思想的角度出發,授人以漁。同時,又密切結合應用案例,透徹展示出Linux的系統架構設計是如何在實際中貫穿的,從而讓讀者真正掌握Linux的強大之處。書中不含較為復雜的技術理論問題,一切從實際出發。

全書共分為三個部分:基礎篇、進階篇和擴展篇。通過對Linux的版本選擇與安裝、基本使用與系統結構、設計哲學與思想、腳本編程與軟件開發、內核編譯、網絡與認證,以及多媒體等幾個方面的精彩講解,將Linux操作系統的靈魂與運用教授給讀者。

趙鑫磊,阿里巴巴集團資深Linux系統專家。自1998年開始使用Linux,曾參與國內著名的Linux社區發行版MagicLinux的開發工作,是一個土生土長的東北人。工作經歷豐富,開過小網吧、大學講過課、發過小廣告(時在阿里媽媽)、干過鐵路工(開發鐵路車載電視系統)、當過副總裁,但始終沒有放棄對Linux的探索與研究,並將這份經歷凝聚在了本書之中。
 

目錄

第一部分 基礎篇

第1章 第一次親密接觸2
1.1 讓Linux入駐我們的電腦2
1.1.1 我們用Linux的理由3
1.1.2 選擇哪個發行版4
1.1.3 安裝系統6
1.1.4 登錄系統15
1.2 不一樣的圖形操作15
1.2.1 沒有圖形的圖形15
1.2.2 架構設計17
1.3 主流桌面環境18
1.3.1 KDE初學者的首選18
1.3.2 GNOME不可磨滅的經典20
1.3.3 XFCE——輕量、簡單、高效21
1.3.4 LXDE——更輕,同樣精悍21
1.4 返璞歸真的命令行22
1.4.1 開始執行命令22
1.4.2 文本和圖形的切換23
1.4.3 基礎命令的操作23
1.4.4 快捷鍵26
1.4.5 錯誤信息28
1.4.6 聯機幫助——man很靠譜30
1.4.7 致命的Linux命令31
1.5 結束語32

第2章 融於心而表於行33
2.1 多用戶多任務分時操作系統33
2.2 用戶的身份35
2.2.1 澡堂子模型35
2.2.2 理解用戶角色36
2.2.3 /etc/passwd文件查看用戶37
2.2.4 /etc/group文件查看組38
2.2.5 管理用戶和組39
2.2.6 奪面雙雄——利用sudo假借身份41
2.2.7 我是誰?44
2.3 文件和它與權限的關系45
2.3.1 目錄與文件46
2.3.2 文件屬性和權限47
2.3.3 文件連接到底是什麼49
2.3.4 修改文件的屬性和權限51
2.3.5 深入文件權限52
2.3.6 文件的基本操作54
2.3.7 搜索文件55
2.3.8 對文件打包壓縮57
2.4 程序的執行問題58
2.4.1 執行程序的方法,以及多任務協調機制58
2.4.2 計划任務62
2.4.3 守護進程及其作用64
2.4.4 全面了解程序信息66
2.5 軟件的安裝方式71
2.5.1 從源代碼安裝軟件71
2.5.2 利用軟件管理工具rpm和dpkg72
2.5.3 更酷的線上升級73
2.6 磁盤的管理方式76
2.6.1 Linux的文件系統——甩Windows幾條街76
2.6.2 磁盤的基本操作78
2.6.3 /etc/fstab文件——決定分區的連接83
2.6.4 彈性調整容量——邏輯卷85
2.7 解決上網問題90
2.7.1 了解IP地址90
2.7.2 相關配置文件91
2.7.3 安裝網卡92
2.7.4 手工設定IP地址92
2.7.5 自動獲取IP地址93
2.7.6 固定IP上網方式93
2.7.7 ADSL撥號上網方式94
2.8 不能割舍的shell96
2.8.1 勤勤懇懇的bash96
2.8.2 環境變量98
2.8.3 bash的配置文件98
2.9 文本處理101
2.9.1 查看文本內容101
2.9.2 正則表達式101
2.9.3 搜索文本的grep104
2.9.4 排序和去重105
2.9.5 文件對比命令——diff105
2.10 結束語107

第3章 一棵「樹」的奧秘108
3.1 Linux的文件組織結構109
3.2 基本組織原則110
3.3 根文件系統111
3.3.1 原則與特性111
3.3.2 必備的內容112
3.3.3 可選的內容113
3.4 子目錄113
3.4.1 /bin目錄——shell命令113
3.4.2 /boot目錄——啟動過程所需內容115
3.4.3 /dev目錄——設置文件116
3.4.4 /etc目錄——配置文件116
3.4.5 /home目錄——用戶專有118
3.4.6 /lib目錄——共享庫和內核模塊119
3.4.7 /media目錄——可移動設備119
3.4.8 /mnt目錄——臨時掛接120
3.4.9 /opt目錄——附加軟件包120
3.4.10 /root目錄——root專有120
3.4.11 /sbin目錄——必備的系統軟件121
3.4.12 /srv目錄——服務進程所需數據121
3.4.13 /tmp目錄——臨時文件122
3.5 /usr目錄組織結構122
3.5.1 /usr/bin目錄123
3.5.2 /usr/include目錄123
3.5.3 /usr/lib目錄123
3.5.4 /usr/local目錄123
3.5.5 /usr/sbin目錄124
3.5.6 /usr/share目錄124
3.5.7 /usr/share/man目錄125
3.5.8 /usr/share/misc目錄126
3.6 /var目錄組織結構127
3.6.1 /var/account目錄128
3.6.2 /var/cache目錄128
3.6.3 /var/lib目錄128
3.6.4 /var/lock目錄128
3.6.5 /var/log目錄129
3.6.6 /var/mail目錄129
3.6.7 /var/opt目錄129
3.6.8 /var/run目錄129
3.6.9 /var/spool目錄130
3.6.10 /var/tmp目錄130
3.7 結束語130

第4章「笨」出來的文化和哲學131
4.1 Unix的文化和哲學133
4.2「四大笨」之一:萬般皆文本134
4.2.1 二進制的煩惱135
4.2.2 文本的快樂135
4.2.3 文本之於配置文件136
4.2.4 文本之於程序組合137
4.2.5 文本之於通信協議138
4.2.6 硬件也文本138
4.3「四大笨」之二:四處用腳本139
4.3.1 富饒的腳本語言139
4.3.2 為什麼不是C140
4.3.3 腳本的不足和混合編程141
4.3.4 強力膠水141
4.3.5 極端的例子143
4.3.6 軟件的適度規模143
4.4「四大笨」之三:規律無處尋144
4.4.1 機制與策略145
4.4.2 接口與引擎145
4.4.3 不用重新造輪子146
4.4.4 內在的支持146
4.4.5 沉默是金,吝嗇是銀147
4.5「四大笨」之四:配置亂生根148
4.5.1 什麼是不可配的148
4.5.2 配置三元素149
4.5.3 配置文件150
4.5.4 環境變量151
4.5.5 命令行選項152
4.6 什麼樣的文化154
4.6.1「傻x」的精明154
4.6.2「簡單」不簡單155
4.7 這一切的基礎大師的闡釋156

第5章 shell腳本編程159
5.1 第一個shell腳本程序159
5.2 編程的基本要素160
5.2.1 變量162
5.2.2 運算164
5.2.3 流程控制165
5.2.4 自定義函數169
5.3 輸入和輸出172
5.3.1 基本的輸出172
5.3.2 命令行參數172
5.3.3 使用read讀取文本行173
5.3.4 文件描述符174
5.3.5 格式化輸出175
5.4 調試跟蹤175
5.4.1 空變量問題175
5.4.2 缺引號問題176
5.4.3 隔離問題176
5.4.4 echo普通中見「偉大」177
5.4.5「—x」跟蹤問題本領高177
5.4.6 assert函數177
5.4.7 Caller命令178
5.4.8 trap命令178
5.5 高級特性180
5.5.1 波浪號「~~」180
5.5.2 通配符180
5.5.3 元字符181
5.5.4 轉義符182
5.5.5 命令替換183
5.5.6 運算優先級183
5.5.7 文件包含184
5.5.8 eval語句185
5.5.9 內建命令186
5.6 shell腳本編程實戰187
5.6.1 守護進程的啟動腳本187
5.6.2 讀取數據文件和平滑啟動nginx188

第6章 微型語言194
6.1 什麼是微型語言194
6.2 軟件管理的RPM196
6.2.1 構建你的第一個RPM包197
6.2.2 工作原理——分析Spec文件199
6.2.3 依賴關系203
6.2.4 個軟件多個包204
6.2.5 小結206
6.3 制作聯機幫助文檔的Groff206
6.3.1 Groff簡介207
6.3.2 Groff的工作方式208
6.3.3 如何制作一份聯機幫助文檔213
6.3.4 導出聯機幫助文檔219
6.3.5 小結220
6.4 把文本當數據庫的awk221
6.4.1 使用方法221
6.4.2 基本概念222
6.4.3 注釋與空白223
6.4.4 字符串223
6.4.5 數值225
6.4.6 變量228
6.4.7 模式與行為229
6.4.8 行為語句231
6.4.9 小結237
6.5 神奇的計算器dc和bc238
6.5.1 歷史淵源——最古老的Unix語言dc238
6.5.2 dc簡介239
6.5.3 更為常用的bc244
6.5.4 小結250
6.6 不為人知的m4250
6.6.1 m4的歷史251
6.6.2 m4的特性252
6.6.3 從HelloWorld開始253
6.6.4 工作方式255
6.6.5 小結257
6.7 結束語258

第7章 編輯器的紛爭259
7.1 獨步青雲的vi260
7.1.1 我為vi狂260
7.1.2 vi的使用261
7.1.3 vi的高級功能264
7.1.4 跟我一起打造一個IDE266
7.2 橫刀立馬的Emacs274
7.2.1 Emacs的來歷274
7.2.2 Emacs的基本使用275
7.2.3 使用Emacs必知必會278
7.2.4 Lisp語言279
7.2.5 處理中文問題283
7.2.6 跟我一起打造一個IDE283
7.3 結束語285

第8章 我是Makefile286
8.1 GNUmake及其基本用法288
8.2 基本概念289
8.2.1 第一個Makefile例子290
8.2.2 目標、條件和命令291
8.2.3 依賴292
8.2.4 工作方式292
8.2.5 基本語法293
8.3 認識規則294
8.3.1 標准規則294
8.3.2 隱式規則294
8.3.3 變量295
8.3.4 自動變量297
8.3.5 模式規則299
8.3.6 假目標300
8.3.7 路徑搜索302
8.4 高級特性303
8.4.1 文件包含303
8.4.2 命令305
8.4.3 深入變量307
8.4.4 宏與函數310
8.4.5 條件指令311
8.5 Makefile實戰312
8.5.1 自動產生依賴312
8.5.2 遞歸式的Makefile315
8.5.3 自動產生Makefile317
8.6 結束語323

第二部分 進階篇

第9章 特種文件系統326
9.1 日志和ReiserFS326
9.1.1 理解日志327
9.1.2 ReiserFS——卓越的小文件性能與渺茫的未來328
9.1.3 應用實戰331
9.1.4 小結331
9.2 進程文件系統procfs331
9.2.1 神秘的9號計划332
9.2.2 /proc目錄333
9.2.3 procfs實戰335
9.2.4 小結339
9.3 tmpfs——滿足你對「時空」的雙重渴望339
9.3.1 背景340
9.3.2 tmpfs文件系統341
9.3.3 tmpfs實戰341
9.4 devfs和sysfs345
9.4.1 devfs的由來345
9.4.2 進入devfs346
9.4.3 sysfs的由來347
9.4.4 小結348
9.5 其他特種文件系統348
9.5.1 RelayFS348
9.5.2 debugfs349
9.6 結束語349

第10章 生死與共的「兄弟」351
10.1 死心眼兒的BIOS352
10.2 小肚雞腸的MBR(主引導記錄)353
10.2.1 MBR的結構353
10.2.2 磁盤分區表353
10.2.3 MBR的功能355
10.3 和事佬GRUB(牛B的統一引導加載器)355
10.3.1 Bootloader355
10.3.2 GRUB的功能356
10.3.3 GRUB的工作流程357
10.4 唇齒相依的內核啟動參數358
10.4.1 什麼是內核啟動參數358
10.4.2 內核啟動參數的格式359
10.4.3 常用的內核啟動參數359
10.5 自力更生的Linux內核360
10.5.1 內核引導協議360
10.5.2 內核為什麼要壓縮360
10.5.3 startup_32361
10.5.4 start_kernel362
10.5.5 kernel_init362
10.6 及時雨initramfs363
10.6.1 尋找init的問題363
10.6.2 較早的initrd363
10.6.3 為什麼選擇initramfs364
10.7「生」、「死」永相伴的init進程364
10.7.1 名不副實364
10.7.2 運行級別365
10.7.3 進入運行級別之前368
10.7.4 進入運行級別369
10.7.5 轉換運行級別371
10.8 幕后英雄們371
10.8.1 終端372
10.8.2 getty系列命令372
10.8.3 DisplayManager373
10.8.4 偽終端374
10.8.5 配置文件374
10.9 結束語375

第11章 獨霸網絡的「蜘蛛神功」376
11.1 功夫理論:網絡知識376
11.2「蜘蛛神功」第一層:網絡工具378
11.2.1 馬步:ifconfig378
11.2.2 掌法:route380
11.2.3 腿功:netstat381
11.2.4 眼力:DNS二把刀383
11.2.5 身法:tcpdump385
11.3「蜘蛛神功」第二層:套接字387
11.4 內功心法:TCP/IP協議棧初探388
11.4.1 枯樹盤根:系統調用388
11.4.2 凝神靜態:sockfs文件系統390
11.4.3 氣沉丹田:sk_buff392
11.5 臨戰雜談397
11.5.1 對UDP的錯誤的認識398
11.5.2 事半功倍,調節內核參數399

第12章 一個網絡一個世界402
12.1 You’’veGotaMail402
12.1.1 Email服務模式402
12.1.2 架設Postfix服務器405
12.1.3 Email故事的結局409
12.2 聯接世界的Web應用409
12.2.1 Web服務器410
12.2.2 數據庫412
12.2.3 解釋型語言413
12.2.4 架設Web服務器414
12.3 銅牆鐵壁真功夫——Linux內核集成的IP信息包過濾系統419
12.3.1 iptables420
12.3.2 netfilter423
12.3.3 實踐出真知426
12.3.4 小盒子的秘密427
12.4 分享文件的樂趣434
12.4.1 NFS438
12.4.2 Samba442
12.5 在虛擬與現實之間穿梭——實現安全的連接446
12.5.1 VPN實現方式447
12.5.2 IPSecVPN448
12.5.3 SSLVPN452

第13章 打通任督二脈455
13.1 了解網絡驅動455
13.1.1 網絡設備閑談455
13.1.2 ioctl這把刷子456
13.1.3 設備驅動的秘密459
13.2 無線風光在險峰461
13.2.1 WLAN461
13.2.2 Bluetooth466
13.2.3 NFC——近距無線通信469
13.2.4 謎底474
13.3 奇跡是執着創造出來的474
13.3.1 從2.4到2.6474
13.3.2 從2.6到3.0477

第14章 身在江湖479
14.1 C2級安全認證479
14.2 Linux的安全問題480
14.2.1 黑客入侵480
14.2.2「病毒泛濫」482
14.2.3 拒絕服務攻擊483
14.2.4 小結484
14.3 PAM用戶認證機制485
14.3.1 什麼是PAM(可拔插認證模塊)485
14.3.2 PAM的體系結構485
14.3.3 配置PAM487
14.3.4 密碼映射494
14.4 應用PAMAPI495
14.4.1 開發概述495
14.4.2 PAM事務496
14.4.3 事務屬性498
14.4.4 用戶認證499
14.4.5 認證憑證500
14.4.6 PAM會話501
14.4.7 用戶認證流程502
14.4.8 模塊開發507
14.4.9 密碼的保存508
14.5 安全增強系統509
14.5.1 主動訪問控制DAC509
14.5.2 強制訪問控制MAC510
14.5.3 SELinux——Linux的MAC實現511
14.6 結束語515

第15章 七種武器516
15.1 長生劍:fork516
15.1.1 從線程說起516
15.1.2 古老而充滿活力的進程520
15.1.3 多進程程序開發523
15.1.4 進程間通信的實現531
15.2 離別鉤:VFS537
15.2.1 一切都是文件538
15.2.2 一棵有生命的「樹」538
15.2.3 VFS簡介539
15.2.4 基本數據結構540
15.2.5 sockfs541
15.3 孔雀翎:mmap(內存映射)543
15.3.1 理解mmap543
15.3.2 虛擬內存技術544
15.3.3 應用mmap548
15.4 碧玉刀:epoll(增強I/O復用)553
15.4.1 C10K問題553
15.4.2 epoll的優點554
15.4.3 epoll的工作模式555
15.4.4 正確使用epoll556
15.4.5 用epoll解決C100K問題561
15.5 多情環:udev564
15.5.1 設計理念564
15.5.2 基本構成565
15.5.3 配置文件566
15.5.4 規則566
15.6 霸王槍:LVS567
15.6.1 負載均衡567
15.6.2 一個中國人的勇氣569
15.6.3 LVS的特點570
15.6.4 LVS的工作模式571
15.6.5 LVS的負載均衡調度算法576
15.7 拳頭:module578
15.7.1 內核中的Web服務578
15.7.2 編寫你的第一個module579
15.7.3 module與普通程序的不同582
15.7.4 module與用戶通信584
15.7.5 內核加載module的原理590
15.8 結束語592

第16章 誰都可以從頭再來——從頭開始編譯一套Linux系統593
16.1 初識工具鏈——准備環境的必備工具594
16.1.1 編譯器594
16.1.2 連接器594
16.1.3 程序庫595
16.1.4 工具鏈——破解奇特的四角戀595
16.2 准備環境596
16.2.1 宿主系統環境597
16.2.2 生成工具鏈的binutils598
16.2.3 生成工具鏈的gcc599
16.2.4 生成工具鏈的glibc600
16.2.5 解決工具鏈的一些問題603
16.2.6 第二次生成工具鏈的binutils604
16.2.7 第二次生成工具鏈的gcc605
16.2.8 豐富工具鏈的功能608
16.2.9 整理工具鏈610
16.2.10 小結610
16.3 生成目標系統的運行環境611
16.3.1 准備工作611
16.3.2 安裝glibc614
16.3.3 調整工具鏈617
16.3.4 安裝binutils617
16.3.5 安裝gcc618
16.3.6 安裝其他基礎設施620
16.3.7 系統啟動腳本622
16.3.8 結束語623
16.4 定制Linux內核623
16.4.1 內核的make參數624
16.4.2 定制界面625
16.4.3 編譯與安裝626
16.5 獨立運行627
16.5.1 /etc/fstab文件627
16.5.2 使用GRUB配置啟動過程627
16.6 結束語628

第三部分 擴展篇

第17章 窈窕淑女君子好逑630
17.1 女人心事難捉摸——Linux圖形環境630
17.1.1 XWindow630
17.1.2 桌面系統638
17.1.3 XOrg639
17.2 雲想衣裳花想容——Qt與GTK644
17.2.1 發展歷史644
17.2.2 GTK與Qt的比較646
17.2.3 大家閨秀Qt648
17.2.4 小鳥依人GTK657

第18章 這里也是鼓樂笙簫667
18.1 與多媒體的第一次握手667
18.1.1 聽聲668
18.1.2 看影669
18.1.3 多媒體工作室674
18.2 鼓——ffmpeg676
18.2.1 羞辱柱與軟件許可676
18.2.2 多媒體的來龍去脈678
18.2.3 家庭成員684
18.3 樂——MPlayer與VLC685
18.3.1 綠色的MPlayer685
18.3.2 浪漫的VLC687
18.4 笙——FrameBuffer690
18.4.1 原理691
18.4.2 設置FrameBuffer691
18.4.3 文字倒置滾動692
18.5 簫——V4L2與ALSA697
18.5.1 V4L2698
18.5.2 ALSA703
18.6 結束語707

第19章 團結就是力量708
19.1 標准的前世今生708
19.1.1 一場拆分引發的標准708
19.1.2 站在POSIX肩膀上的LSB709
19.1.3 工作組711
19.1.4 標准化流程712
19.2 認證713
19.3 工具714
19.3.1 LSBSDK715
19.3.2 AppChecker716
19.3.3 DistributionChecker718
19.3.4 LSBNavigator720
19.3.5 lsb_release的規范定義和實現720
19.4 LSB的前世今生721
19.4.1 吃一塹,長一智722
19.4.2「哥只是個傳說」723
19.4.3 意氣風發的LSB5.0724
19.5 結束語724

附錄 我的Linux,我做主725
網路書店 類別 折扣 價格
  1. 新書
    87
    $496