-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

樹莓派開始,玩轉Linux

( 簡體 字)
作者:Vamei,周昕梓類別:1. -> 電腦組織與體系結構 -> 單晶片 -> Raspberry Pi
譯者:
出版社:電子工業出版社樹莓派開始,玩轉Linux 3dWoo書號: 49341
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:6/1/2018
頁數:356
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121342660
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

我是抱著玩的心態開始用電腦的。自從家里有了電腦之后,我就想方設法抓起鼠標和鍵盤打一會兒游戲。《金庸群俠傳》《仙劍》《星際》《盟軍敢死隊》,這些老游戲都玩了個遍。父母擔心我沉迷游戲,一度沒收了我的鼠標和鍵盤。總之,當時的電腦只是個娛樂平臺。
那個時候已經在提“20世紀是計算機的世紀”。好萊塢電影開始把黑客塑造成孤膽俠客。我經常抱著《電腦報》或《大眾軟件》,幻想著自己成為一名俠客一般的計算機高手。但對于一個內地小城的孩子來說,深入接觸計算機技術的機會很有限。我曾經很認真地找了一套計算機等級考試的書看,把二進制運算、SQL命令、QBasic語法都背得滾瓜爛熟,卻因為裝不好編譯環境,最終沒能寫出一個可以使用的軟件。讀那些頂級黑客的傳記,講他們從小如何如何編程,一直很好奇他們是如何度過環境搭建這個難關的。后來發現,這些人都有機會接觸一些編程高手,因此在他們的眼里,這根本不是太大的問題。
上大學時,我選擇了物理專業。物理專業做數值模擬和數據處理,C語言和Fortran語言編程也是必修課。有了大學里的資源,編程環境的搭建變成了小菜一碟。只是自己的電腦太過老邁,動不動就要死機。當朋友們呼嘯著打Dota時,我卻在為Word觸發的藍屏頭痛。相熟的朋友看不下去,扔給我一張光盤,要我重裝Ubuntu系統。Ubuntu是當時最流行的一個Linux版本。死馬當活馬醫,我安裝了光盤上的Ubuntu。系統裝好了,電腦死機的次數大為減少。不過Linux下的圖像化界面確實和Windows有差距,辦公軟件也比不上Office。我戚戚然地把Linux當作低成本的二等方案。但無論如何,當時正值我做“大學生研究計劃”,運行穩定的Linux還是救我于水火。事后請朋友吃飯,問朋友哪里來的光盤,才曉得Ubuntu的安裝光盤可以免費領取。
更讓我刮目相看的是Linux下的軟件分發。那個時代還沒有蘋果App Store這樣的東西。所謂的在線軟件分發,就是上網下載exe安裝包。用了Ubuntu之后,我需要的軟件基本都可以在軟件源中找到。在終端輸入一行命令,編譯環境就搭建好了。不用擔心病毒,而且大部分情況下也不需要付費。再加上學校里有Ubuntu鏡像,下載一個軟件往往只需要幾秒鐘。于是,探索Linux下的軟件成了我的一大業余愛好,我漸漸習慣了用ImageMagick來做圖片處理,用FFmpeg來轉換視頻,用Wget來做網絡下載。這些基于命令行的應用軟件,再搭配bash的批處理功能,往往能實現強大的復合功能。
我也越來越享受Linux系統提供的編程環境。在寫C語言和Fortran語言作業時,我就開始用vim編寫自己的作業,用GCC和GFortran來編譯,再用GDB來調試。這個過程要比Windows下的IDE麻煩。但當接觸其他語言時,相同的工具可以復用,不用每一次都花費大量時間來熟悉全新的IDE。后來在Linux下學習Python語言時,很容易就可以上手。如果說編程是去游樂園,那么Linux為入園玩耍提供了直通車。想起小時候為編譯環境苦惱的自己,真想穿越時空送去一張Ubuntu的安裝盤。
我覺得對于一個電腦愛好者來說,Linux最美的地方就是開放。Linux的開放可以分為多個層面。軟件層面是開放的,用戶可以免費使用。文檔也是開放的,你可以在終端下用man命令方便地查詢。操作系統是開放的,你可以自由地調整系統,也可以深入了解其原理。代碼上亦是開放的,你隨時可以看到世界上頂級程序員寫的源代碼。在Linux系統下,“實現”和“如何實現”是合二為一的。吃魚的同時,釣魚的本事也可以學到。因此,Linux提供了一個絕佳的學習平臺。
后來,太太送給我一部樹莓派作為生日禮物。我驚喜地發現,樹莓派使用的操作系統正是Linux。更棒的是,樹莓派的底層硬件也很開放。它可以方便地通過有線或無線的方式和硬件外設進行連接。它對使用方式沒有太多限制。于是,在后來的智能硬件創業項目,我總是在研發版本中使用樹莓派。無論是作為硬件的樹莓派,還是作為軟件的Linux,都遵循了相同的規律:開放戰勝了封閉。知識的共享帶來了更加活躍的創造力,也給社會帶來了協同合作的機會。
幾年前,我讀到印度的一個公益項目。這個項目募集舊電腦,在電腦上安裝Linux系統,再發放給貧困地區的兒童使用。這個項目不僅給孩子們帶來了歡樂,還改變了他們的命運。當樹莓派發布的新聞出來時,我想到的就是這款微型電腦的社會意義。后來讀到樹莓派之父厄普頓發明這臺小電腦的初衷,果然也是教育。我由此確信,有很多人和我抱著相同的見解。
如今,“科技取代人類”的言論甚囂塵上,很多人對技術霸權頂禮膜拜,對人類的未來充滿絕望。其實,科技本身是中性的。科技可以取代人們的工作,也可以幫助人們更好地就業。像樹莓派和Linux這樣的技術,尊重了用戶本身的創造力。它們用一種開放協作的態度,提高了社會的溫度。我也一直抱著這樣的理念,堅持在博客上分享自己的所知。我還記得自己在探索計算機時無路可循的尷尬。即使是出于簡單的同理心,我也希望自己的分享能幫助任何一個在門檻上抓耳撓腮的學習者。
借著這股心勁,我克服了寫作困難,投入這本書的寫作中。我希望這本書能以樹莓派硬件為平臺,全面講解Linux原理。全靠昕梓的通力合作,我才能順利完成這個野心勃勃的目標。杜鵑、陳思為幫我審讀了全書,提出了大量的修改意見,讓書稿變得真正可讀。安娜會在關鍵的時候給我們提供任何所需的幫助,全程引導了寫作過程。最后,這本書還要感謝上海地鐵11號線。全靠這班地鐵上的空座位,我才能坐著寫出大部分文字。
在設計本書內容時,昕梓和我決定尊重讀者,不避諱艱深的內容。畢竟,樹莓派本身只是一個入口。這個入口的背后有著豐富的操作系統知識。無論是編程,還是深入理解計算機,一定深度的操作系統知識都不可或缺。我們會從樹莓派的基本使用講起,一直深入操作系統原理本身。在第5部分,我們還加入了基于樹莓派的實踐項目,希望能拋磚引玉,激發用戶的創造力。當然,篇幅所限,也不得不舍棄一些細節,但我相信,只要體驗到邊玩邊學電腦的樂趣,那么其他技術的掌握也都可以沿著相同的軌跡重復進行。
那樣的話,這本書就沒有遺憾了。

Vamei
2018.2.25
內容簡介:

本書以樹莓派基礎工具,講解Linux操作系統。樹莓派是近年來流行的微型電腦,能用于各種有趣的硬件開發。樹莓派中安裝了Linux系統,可以充當操作系統的學習平臺。本書按照“樹莓派背景知識——樹莓派使用——Linux使用——操作系統原理——實操項目”的順序展開。讀者不僅能體驗到玩樹莓派的樂趣,而且能全面了解操作系統的核心概念和原理。

目錄:

第1部分 怎樣的樹莓派
第1章 樹莓派的誕生 2
第2章 樹莓派的心臟 7
第3章 樹莓派的大腦 12
第2部分 使用樹莓派
第4章 開始使用樹莓派 20
4.1 解剖樹莓派 20
4.2 操作系統的安裝與啟動 23
4.3 圖形化界面 24
4.4 Scratch 26
4.5 KTurtle 27
第5章 貝殼里的樹莓派 31
5.1 初試Shell 31
5.2 用命令了解樹莓派 32
5.3 什么是Shell 35
5.4 Shell的選擇 36
5.5 命令的選項和參數 37
5.6 如何了解一個陌生的命令 38
5.7 Shell小竅門 38
第6章 好編輯 40
6.1 圖形化的文本編輯器 40
6.2 使用nano 42
6.3 語法高亮 44
6.4 文件基礎操作 45
第7章 更好的樹莓派 47
7.1 常見初始化配置 47
7.2 軟件升級與安裝 49
第8章 漂洋過海連接你 51
8.1 局域網SSH登錄 51
8.2 Bonjour 53
8.3 互聯網SSH登錄 53
8.4 文件傳輸 56
第9章 時間的故事 60
9.1 NTP服務 60
9.2 時區設置 61
9.3 實時時鐘 62
9.4 date的用法 65
第10章 規劃小能手 67
10.1 用cron規劃任務 67
10.2 用cron開機啟動 68
10.3 用/etc/init.d實現開機啟動 68
10.4 避免使用/etc/rc.local 71
10.5 Shell中的定時功能 71
第11章 GPIO的觸手 73
11.1 GPIO簡介 73
11.2 控制LED燈 74
11.3 兩個樹莓派之間的GPIO 75
11.4 UART編程 77
11.5 用UART連接PC 79
11.6 用UART登錄樹莓派 79
第12章 玩轉藍牙 80
12.1 藍牙介紹 80
12.2 BLE介紹 82
12.3 Bluez 85
12.4 了解樹莓派上的藍牙 86
12.5 樹莓派作為BLE外設 87
12.6 樹莓派作為BLE中心設備 88
12.7 樹莓派作為Beacon 89
第13章 你是我的眼 91
13.1 攝像頭的安裝與設置 91
13.2 攝像頭的基本使用 92
13.3 用VLC做網絡攝像頭 92
13.4 用Motion做動作捕捉 93
第3部分 進入LINUX
第14章 Linux的真身 96
14.1 什么是內核 96
14.2 什么是GNU軟件 98
14.3 Linux的發行版 99
第15章 你好,文件 101
15.1 路徑與文件 101
15.2 目錄 102
15.3 硬鏈接 103
15.4 軟鏈接 104
15.5 文件操作 105
15.6 文件搜索 106
第16章 從程序到進程 108
16.1 指令 108
16.2 C程序 110
16.3 程序編譯 111
16.4 看一眼進程 112
第17章 萬物皆是文本流 114
17.1 文本流 114
17.2 標準輸入、標準輸出、標準錯誤 116
17.3 重新定向 117
17.4 管道 118
17.5 文本相關命令 119
第18章 我的地盤我做主 121
18.1 我是誰 121
18.2 root和用戶創建 122
18.3 用戶信息文件 124
18.4 文件權限 125
18.5 文件權限管理 127
第19章 會編程的bash(上) 129
19.1 變量 129
19.2 數學運算 131
19.3 返回代碼 132
19.4 bash腳本 133
19.5 函數 136
19.6 跨腳本調用 137
第20章 會編程的bash(下) 138
20.1 邏輯判斷 138
20.2 選擇結構 140
20.3 循環結構 143
20.4 bash與C語言 146
第21章 完整架構 148
21.1 內核模式與系統調用 148
21.2 庫函數 149
21.3 Shell 151
21.4 用戶程序 151
第22章 函數調用與進程空間 153
22.1 函數調用 153
22.2 跳轉 155
22.3 棧與情境切換 157
22.4 本地變量 158
22.5 全局變量和堆 159
第23章 穿越時空的信號 161
23.1 按鍵信號 161
23.2 kill命令 162
23.3 信號機制 163
23.4 信號處理 164
23.5 C程序中的信號 166
第4部分 深入Linux
第24章 進程的生與死 170
24.1 從init到進程樹 170
24.2 fork系統調用 171
24.3 資源的fork 172
24.4 最小權限原則 174
24.5 進程的終結 174
第25章 進程間的悄悄話 177
25.1 管道 177
25.2 管道的創建 178
25.3 其他IPC方式 179
第26章 多任務與同步 185
26.1 并發與分時 185
26.2 多線程 186
26.3 競態條件 189
26.4 多線程同步 190
第27章 進程調度 194
27.1 進程狀態 194
27.2 進程的優先級 195
27.3 O(n)和O(1)調度器 196
27.4 完全公平調度器 199
第28章 內存的一頁故事 201
28.1 內存 201
28.2 虛擬內存 202
28.3 內存分頁 203
28.4 多級分頁表 204
第29章 倉庫大管家 207
29.1 外部存儲設備 207
29.2 外部存儲器的掛載 208
29.3 ext文件系統 209
29.4 FAT文件系統 211
29.5 文件描述符 212
第30章 鳥瞰文件樹 213
30.1 /boot和樹莓派啟動 213
30.2 應用程序相關 214
30.3 /etc與配置 215
30.4 系統信息與設備 216
30.5 其他目錄 217
第31章 分級存儲 219
31.1 CPU緩存 219
31.2 頁交換 220
31.3 交換空間 221
31.4 外存的緩存與緩沖 222
第32章 遍閱網絡協議 225
32.1 通信與互聯網協議 225
32.2 協議分層 226
第33章 樹莓派網絡診斷 229
33.1 基礎工具 229
33.2 網絡層 230
33.3 路由 231
33.4 網絡監聽 231
33.5 域名解析 232
第5部分 樹莓派小應用
第34章 樹莓派平板電腦 234
34.1 平板電腦 234
34.2 硬件介紹 234
34.3 硬件的安裝 235
34.4 配置操作系統 236
第35章 天氣助手 238
35.1 讀取互聯網API 238
35.2 發送郵件 242
第36章 架設博客 245
36.1 安裝服務器軟件 245
36.2 安裝Typecho 247
36.3 讓別人可以訪問你的網站 248
第37章 離線下載 250
37.1 安裝下載工具Aria2 250
37.2 Aria2的使用 251
37.3 遠程使用Aria2 251
37.4 安裝圖形化下載管理工具 252
第38章 訪客登記系統 255
38.1 編寫命令行小程序 255
38.2 嘗試Tkinter 257
38.3 制作訪客登記系統 260
38.4 訪客名片和訪客拍照 261
第39章 節能照明系統 263
39.1 傳感器 263
39.2 讀取傳感器數據 264
39.3 控制照明電路 266
第40章 樹莓派挖礦 268
40.1 比特幣錢包 268
40.2 在樹莓派上挖礦 270
40.3 區塊鏈存儲服務 272
第41章 高性能計算 275
41.1 Spark 275
41.2 樹莓派與Spark 276
41.3 單機版?計算 277
41.4 樹莓派集群 278
第42章 藍牙即時通信 281
42.1 樹莓派與藍牙 281
42.2 藍牙服務端 282
42.3 藍牙客戶端程序 284
42.4 服務端和客戶端通信 285
42.5 實現文字聊天功能 285
42.6 數據加密傳輸 286
第43章 制作一個Shell 291
43.1 配置項目 291
43.2 輸入輸出設置 293
43.3 初步的Shell 295
43.4 文字顏色與其他配置 296
43.5 部分Shell 功能 297
43.6 Shell主程序 304
第44章 人工智能 311
44.1 樹莓派的準備 311
44.2 YOLO識別 313
44.3 圖形化顯示結果 316
附錄A 字符編碼 318
附錄B Linux命令速查 320
附錄C C語言語法摘要 328
附錄D Makefile基礎 332
附錄E gbd調試C程序 334
附錄F 參考書目及簡介 338
后記 340
序: