0916~0919_開學季語言展

好的程式設計師總是要離開Windows的 –從學習Linux Shell開始

達洋貓《櫻花樹》一卡通

達洋貓《櫻花樹》一卡通

【開學大作戰】一卡通全面限時9折起

  • 9 441
    490

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

在Linux 系統中,Shell 是使用者與系統核心之間進行互動的介面,是整個Linux 系統中非常重要的組成部分。Shell 指令稿程式設計成為一個優秀的系統管理員和Linux開發者必須掌握的技術之一。

本書由具有十幾年實作經驗的最前線工程師撰寫,以實用性為主旨。從最基本的Shell 程式設計環境的架設和變數開始,一直到Shell 指令稿的偵錯技術,由淺入深,系統地介紹了Shell 程式設計各個方面的基礎知識。最後透過2 個實際的綜合實例,向讀者介紹如何使用Shell 指令稿來解決實際問題。

目錄

1 認識Shell 程式設計

01 Shell 入門基礎
1.1 為什麼學習和使用Shell 程式設計
1.2 什麼是Shell  
1.2.1 Shell 的起源  
1.2.2 Shell 的功能  
1.2.3 Shell 的分類  
1.3 作為程式語言的Shell  
1.3.1 互動式程式
1.3.2 建立指令稿
1.3.3 把指令稿設定為可執行  
1.4 向指令稿傳遞參數
1.4.1 Shell 指令稿的參數
1.4.2 參數擴充
1.5 第一個Shell 程式:Hello,Bash Shell!
1.5.1 Shell 指令稿的基本元素
1.5.2 指定指令解讀器
1.5.3 Shell 指令稿中的註釋和風格
1.5.4 如何執行Shell 程式  
1.5.5 Shell 程式的退出狀態
1.6 小結

02 Shell 程式設計環境的架設
2.1 在不同的作業系統上架設Shell 程式設計環境  
2.1.1 在Windows 上架設Shell 程式設計環境
2.1.2 在Linux 上架設Shell 程式設計環境
2.1.3 在FreeBSD 上架設Shell 程式設計環境  
2.2 編輯器的選擇
2.2.1 圖形化編輯器  
2.2.2 vi(vim)編輯器  
2.3 系統環境的架設  
2.3.1 Shell 設定檔
2.3.2 指令別名 -33
2.4 小結  

2 Shell 程式設計基礎

03 變數和參考
3.1 深入認識變數  
3.1.1 什麼是變數
3.1.2 變數的命名
3.1.3 變數的類型
3.1.4 變數的定義
3.1.5 變數和引號
3.1.6 變數的作用域  
3.1.7 系統變數  
3.1.8 環境變數
3.2 變數設定值和清空  
3.2.1 變數設定值
3.2.2 參考變數的值  
3.2.3 清除變數  
3.3 參考和取代  
3.3.1 參考
3.3.2 全參考  
3.3.3 部分參考  
3.3.4 指令取代  
3.3.5 逸出  
3.4 小結  

04 條件測試和判斷敘述
4.1 條件測試  
4.1.1 條件測試的基本語法  
4.1.2 字串測試  
4.1.3 整數測試  
4.1.4 檔案測試  
4.1.5 邏輯運算符號  
4.2 條件判斷敘述  
4.2.1 使用簡單的if 敘述進行條件判斷
4.2.2 使用if else 敘述進行流程控制
4.2.3 使用if elif 敘述進行多條件判斷
4.2.4 使用exit 敘述退出程式
4.3 多條件判斷敘述case  
4.3.1 多條件判斷敘述case 的基本語法
4.3.2 利用case 敘述處理選項參數  
4.3.3 利用case 敘述處理使用者輸入
4.4 運算符號  
4.4.1 算術運算子
4.4.2 位元運算符號
4.4.3 自動增加/ 自減運算子  
4.4.4 數字常數的進位
4.5 小結     

05 循環結構
5.1 步進循環敘述for
5.1.1 帶列表的for 循環敘述  
5.1.2 不帶列表的for 循環敘述  
5.1.3 類似C 風格的for 循環敘述  
5.1.4 使用for 循環敘述處理陣列  
5.2 until 循環敘述  
5.2.1 until 敘述的基本語法
5.2.2 利用until 敘述批次增加使用者  
5.3 while 循環敘述  
5.3.1 while 敘述的基本語法
5.3.2 透過計數器控制while 循環結構
5.3.3 透過結束標記控制while 循環結構
5.3.4 了解while 敘述與until 敘述的區別
5.4 巢狀循環  
5.5 利用break 和continue 敘述控制循環
5.5.1 利用break 敘述控制循環  
5.5.2 利用continue 敘述控制循環  
5.5.3 分析break 敘述和continue 敘述的區別  
5.6 小結

06 函數
6.1 函數
6.1.1 什麼是函數
6.1.2 函數的定義
6.1.3 函數的呼叫
6.1.4 函數連結
6.1.5 函數的傳回值
6.1.6 函數和別名
6.1.7 再議全域變數和區域變數
6.2 函數參數
6.2.1 含有參數的函數的呼叫方法  
6.2.2 取得函數參數的個數  
6.2.3 透過位置變數接收參數值
6.2.4 移動位置參數
6.2.5 透過getopts 接收函數參數
6.2.6 間接參數傳遞
6.2.7 透過全域變數傳遞資料
6.2.8 傳遞陣列參數
6.3 函數程式庫檔案
6.3.1 函數程式庫檔案的定義  
6.3.2 函數程式庫檔案的呼叫
6.4 遞歸函數
6.5 小結

07 陣列
7.1 定義陣列
7.1.1 透過指定元素值來定義陣列
7.1.2 透過declare 敘述定義陣列  
7.1.3 透過元素值集合定義陣列
7.1.4 透過鍵值對定義陣列
7.1.5 陣列和普通變數
7.2 陣列的設定值
7.2.1 按索引為元素設定值
7.2.2 透過集合為陣列設定值  
7.2.3 在陣列尾端追加新元素  
7.2.4 透過循環為陣列元素設定值     
7.3 存取陣列  
7.3.1 存取第1 個陣列元素  
7.3.2 透過索引存取陣列元素
7.3.3 計算陣列的長度  
7.3.4 透過循環檢查陣列元素
7.3.5 參考所有的陣列元素
7.3.6 以切片方式取得部分陣列元素
7.3.7 陣列元素的取代
7.4 刪除陣列
7.4.1 刪除指定陣列元素  
7.4.2 刪除整個陣列
7.5 陣列的其他操作
7.5.1 複製陣列
7.5.2 連接陣列  
7.

序/導讀



隨著網際網路技術的發展,Linux 已經逐步成為主流的伺服器作業系統。在Linux 系統中,Shell 是使用者與系統核心之間進行互動的介面,是整個Linux 系統中非常重要的組成部分。Shell 指令稿程式設計成為一個優秀的系統管理員和Linux開發者必須掌握的技術之一。Bash Shell 已經成為絕大部分Linux 系統預設的Shell程式,本書旨在系統介紹Shell 程式設計的相關知識和技巧。

在Shell 發展的幾十年中,出現了許多介紹Shell 程式設計的書籍。但是,其內容並沒有隨著技術的發展而獲得補充。另外,許多書籍不是偏重理論,缺乏實作性;就是泛泛而論,缺乏深入的闡述。本書由具有十幾年實作經驗的最前線工程師撰寫,以實用性為主旨。從最基本的Shell 程式設計環境的架設和變數開始,一直到Shell 指令稿的偵錯技術,由淺入深,系統地介紹了Shell 程式設計各個方面的基礎知識。最後透過2 個實際的綜合實例,向讀者介紹如何使用Shell 指令稿來解決實際問題。

本書特色

1. 內容全面,系統性強
本書非常全面地討論了Shell 程式設計各個方面,基本上涵蓋了與Shell 程式設計有關的所有重要的基礎知識。

2. 深入淺出,循序漸進
對絕大部分的初學者來說,Shell 程式設計是一件非常困難的事情。本書從最基本的基礎知識開始講起,一直到最後的Shell 指令稿偵錯技術。在介紹某個基礎知識的時候,也儘量從最簡單的內容開始,逐步深入,避免使初學者產生畏懼的心理。

3. 由第一線工程師撰寫,重實作,實用性強
本書以目前最為流行的Bash Shell 為基礎,針對Shell 程式設計中最容易遇到的問題,依次展開論述。無論是初學者,還是具有一定經驗的Linux 開發和維護人員,都可以從中獲得有用的知識。

4. 重點突出,脈絡清晰
對於比較重要的基礎知識,本書都進行了非常深入的探討和程式示範,讓讀者不僅知其然,更要知其所以然,只有這樣,才能達到融會貫通的境界。

5. 專案案例具代表性,實戰性強,高應用價值
最後一篇提供了2 個綜合案例。這些案例來自作者所開發的實際專案,具有很高的應用價值和參考性。這些案例分別使用不同的框架組合實現,便於讀者融會貫通地了解本書中所介紹的技術。稍加修改,便可用於實際專案開發中。

本書內容及知識系統

第1 篇 認識Shell 程式設計(第1 ∼ 2 章)
本篇主要介紹了Shell 入門的基礎和Shell 程式設計環境的架設。主要包含什麼是Shell、為什麼要學習Shell 程式設計、最簡單的Shell 程式的組成、如何在不同的作業系統上面架設Shell 程式設計環境,以及編輯器的選擇等。

第2 篇 Shell 程式設計基礎(第3 ∼ 13 章)
本篇主要介紹了Shell 程式設計所有關的所有重要的基礎知識。主要包含Shell變數、條件測試和判斷敘述、循環結構、函數、陣列、正規表示法、基本文字處理、流編輯、awk 工具、檔案操作,以及子Shell 與處理程序處理等。

第3 篇 Shell 程式設計實戰(第14 ∼ 15 章)
本篇主要介紹了Shell 指令稿的偵錯技術及2 個綜合實例。主要包含Shell 程式設計常見問題、4 種常用的Shell 指令稿偵錯技術。綜合實例包含系統服務指令稿,以及Apache 記錄檔管理指令稿的撰寫方法。

適合閱讀本書的讀者
1. 需要全面學習Shell 程式設計技術的人員;
2. 廣大Linux 程式設計師;
3. Linux 系統管理員;
4. 網站管理工程師;
5. 希望加強Linux 系統管理和開發水準的人員;
6. 專業教育訓練機構的學員;
7. Linux 下的所有程式設計人員;
8. 需要一本案頭必備查詢手冊的人員。

閱讀本書的建議
◎ 沒有Linux 程式設計基礎的讀者,建議從第1 章依序閱讀並演練每一個實例。
◎ 擁有一定Linux 程式設計基礎的讀者,可以根據需求選擇閱讀各個章節及實例。
◎對於每一個基礎知識和實例,先自己思考一下實現的想法,然後再閱讀,學習效果會更好。
◎Shell 程式設計非常需要大量的實際操作,並且每項功能都會有多種實現方法。

讀者可以在閱讀本書基礎知識以及實例的基礎上,對本書的實例進行改編,以其他的方式實現實例的功能。這樣了解起來就更加容易,也會更加深刻。

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9789863793618
    • 分級
    • 普通級
    • 頁數
    • 520
    • 商品規格
    • 23*17
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing