關(guān)于我們
書單推薦
新書推薦
|
Linux命令行與shell編程實(shí)戰(zhàn)(第4版)
Linux是當(dāng)今主要的Internet服務(wù)器平臺。系統(tǒng)管理員和Web開發(fā)者需要熟諳Linux,深入掌握shell和命令行知識;由著名Linux專家Mark G. Sobell撰寫的卓越經(jīng)典書籍《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》涵蓋Linux的方方面面,將幫助你達(dá)成上述目標(biāo),成為Linux專家。《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》將全面深入地介紹系統(tǒng)管理員、開發(fā)者以及高級用戶*需要的工具,并涵蓋日常工作中*常用的參考資源。合著者M(jìn)atthew Helmke為《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》增加了很多更新內(nèi)容。
《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》適用于所有Linux版本,列舉了數(shù)百個(gè)緊貼實(shí)用的優(yōu)質(zhì)示例,從基礎(chǔ)知識講起,極為清晰地介紹了文件系統(tǒng)、shell、編輯器、實(shí)用程序、編程工具和正則表達(dá)式等*有用的Linux知識。
《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》還向Mac用戶介紹macOS命令行的相關(guān)內(nèi)容,包括僅macOS可用而其他Linux/UNIX未含的工具和實(shí)用程序。
● 單獨(dú)一章介紹MariaDB,將帶你初步領(lǐng)略廣泛應(yīng)用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)
● 精辟講解Python,為系統(tǒng)管理員和高級用戶提供指導(dǎo) ● 深入講解bash和tcsh,全面討論環(huán)境、繼承和進(jìn)程本地性,介紹基礎(chǔ)和高級shell編程知識 ● 解讀102個(gè)核心實(shí)用程序,如aspell、xargs、printf和sshfs/curlftpfs;還討論macOS特有的實(shí)用程序,如ditto和SetFile等 ● 關(guān)于使用rsync自動(dòng)完成遠(yuǎn)程備份的專業(yè)指導(dǎo) ● 數(shù)十個(gè)系統(tǒng)安全提示,包括使用ssh和scp實(shí)現(xiàn)安全通信的詳細(xì)步驟 ● 關(guān)于定制shell的提示和技巧,包括步長值、序列表達(dá)式、eval內(nèi)置命令和隱式命令行延續(xù)等 ● 使用vim和emacs的高效編輯技術(shù) ● 300多頁命令參考部分涵蓋102個(gè)實(shí)用程序,如find、grep、sort和tar等 ● 使用apt-get和dnf升級系統(tǒng) ● 還包括BitTorrent、gawk、sed、find、sort、bzip2和正則表達(dá)式等內(nèi)容
前 言
Linux 《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》闡述如何通過命令行方式使用Linux操作系統(tǒng)!禠inux命令行與shell編程實(shí)戰(zhàn)(第4版)》前幾章介紹Linux基礎(chǔ)知識。后面部分則介紹更后面的主題,詳細(xì)闡述相關(guān)技術(shù)!禠inux命令行與shell編程實(shí)戰(zhàn)(第4版)》并不針對特定的Linux版本或者某個(gè)發(fā)行版,而是適用于所有近期發(fā)布的Linux版本。 macOS 《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》還解釋如何使用macOS的UNIX/Linux基本功能。這部分內(nèi)容直奔主題,跳過了大多數(shù)人經(jīng)常與Macintosh聯(lián)系在一起的傳統(tǒng)圖形用戶界面(GUI),討論如何使用與macOS直接相連的強(qiáng)大命令行界面(CLI)。在《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》中提到Linux之處,也隱含了macOS,并指出了這兩種操作系統(tǒng)之間的區(qū)別。 命令行界面(CLI) 在計(jì)算機(jī)誕生之初,只有命令行(文本)界面(Command Line Interface,CLI),可通過命令行向Linux輸入命令。那時(shí)還沒有鼠標(biāo)和圖標(biāo),也就不能通過拖放方式進(jìn)行操作。某些程序(如emacs)使用ASCII字符集中非常有限的圖形字符實(shí)現(xiàn)了基本的窗口。反白顯示技術(shù)可將計(jì)算機(jī)屏幕分成幾個(gè)區(qū)域。
目 錄
第1章 歡迎進(jìn)入Linux和macOS世界 1 1.1 UNIX和GNU-Linux的發(fā)展史 2 1.1.1 Linux的起源:UNIX 2 1.1.2 回顧1983年 2 1.1.3 下一場景,1991年 3 1.1.4 自由代碼 3 1.1.5 享受樂趣 4 1.2 Linux的優(yōu)點(diǎn) 4 1.2.1 Linux受到硬件公司和開發(fā)人員歡迎的 原因 5 1.2.2 Linux的可移植性 6 1.2.3 C編程語言 6 1.3 Linux概述 6 1.3.1 Linux具有內(nèi)核編程接口 7 1.3.2 Linux支持多用戶 7 1.3.3 Linux支持多任務(wù) 7 1.3.4 Linux支持安全的分層文件系統(tǒng) 7 1.3.5 shell:命令解釋器和編程語言 8 1.3.6 大量有用的實(shí)用程序 9 1.3.7 進(jìn)程間的通信 9 1.3.8 系統(tǒng)管理 9 1.4 Linux的其他特性 9 1.4.1 GUI:圖形用戶界面 10 1.4.2 (互聯(lián)的)網(wǎng)絡(luò)實(shí)用程序 10 1.4.3 軟件開發(fā) 10 1.5 本章小結(jié) 11 練習(xí) 11 第Ⅰ部分 Linux和macOS操作系統(tǒng) 第2章 入門 15 2.1 《Linux命令行與shell編程實(shí)戰(zhàn)(第4版)》約定 16 2.2 從終端或終端模擬器登錄 17 2.3 在命令行中工作 18 2.3.1 識別當(dāng)前運(yùn)行的是哪種shell 18 2.3.2 校正錯(cuò)誤 18 2.3.3 重復(fù)/編輯命令行 20 2.4 su/sudo:慎用root權(quán)限 20 2.5 如何查找相關(guān)文檔 21 2.5.1 man:顯示系統(tǒng)手冊頁 21 2.5.2 apropos:搜索關(guān)鍵字 22 2.5.3 info:顯示實(shí)用程序的相關(guān)信息 23 2.5.4 --help選項(xiàng) 25 2.5.5 bash help命令 25 2.5.6 獲取幫助 25 2.6 有關(guān)登錄和密碼的更多方面 27 2.6.1 如何處理登錄失敗 27 2.6.2 遠(yuǎn)程登錄:終端模擬器、ssh和撥號 連接 28 2.6.3 使用虛擬控制臺 28 2.6.4 退出 28 2.6.5 更改密碼 28 2.7 本章小結(jié) 30 練習(xí) 30 高級練習(xí) 30 第3章 實(shí)用程序 33 3.1 特殊字符 34 3.2 基本實(shí)用程序 34 3.2.1 ls:顯示文件名 35 3.2.2 cat:顯示文本文件的內(nèi)容 35 3.2.3 rm:刪除文件 35 3.2.4 少即多:分屏顯示文本文件 35 3.2.5 hostname:顯示系統(tǒng)名 36 3.3 文件操作 36 3.3.1 cp:復(fù)制文件 36 3.3.2 mv:更改文件名 37 3.3.3 lpr:打印文件 37 3.3.4 grep:查找字符串 38 3.3.5 head:顯示文件頭部 38 3.3.6 tail:顯示文件尾部 39 3.3.7 sort:按順序顯示文件的內(nèi)容 39 3.3.8 uniq:忽略文件中重復(fù)的行 39 3.3.9 diff:比較兩個(gè)文件 40 3.3.10 file:識別文件的內(nèi)容 40 3.4 |(管道):實(shí)現(xiàn)進(jìn)程間的通信 41 3.5 4個(gè)有用的實(shí)用程序 41 3.5.1 echo:顯示文本 41 3.5.2 date:顯示日期和時(shí)間 42 3.5.3 script:記錄shell會話信息 42 3.5.4 unix2dos:將Linux文件轉(zhuǎn)換為Windows 和MacOS格式 42 3.6 壓縮和歸檔文件 43 3.6.1 bzip2:壓縮文件 43 3.6.2 bzcat和bunzip2:解壓縮文件 44 3.6.3 gzip:壓縮文件 44 3.6.4 tar:打包和解包文件 44 3.7 定位實(shí)用程序 46 3.7.1 which和whereis:定位實(shí)用程序 46 3.7.2 locate:搜索文件 47 3.8 顯示用戶和系統(tǒng)信息 47 3.8.1 who:列出系統(tǒng)上的用戶 48 3.8.2 finger:列出系統(tǒng)上的用戶 48 3.8.3 uptime:顯示系統(tǒng)負(fù)載和持續(xù)運(yùn)行時(shí)間 信息 49 3.8.4 w:列出系統(tǒng)上的用戶 49 3.8.5 free:顯示內(nèi)存使用信息 50 3.9 與其他用戶通信 50 3.9.1 write:發(fā)送消息 50 3.9.2 mesg:拒絕或接收消息 51 3.10 電子郵件 51 3.11 本章小結(jié) 52 練習(xí) 53 高級練習(xí) 54 第4章 Linux文件系統(tǒng) 55 4.1 分層文件系統(tǒng) 56 4.2 目錄文件和普通文件 56 4.2.1 文件名 57 4.2.2 工作目錄 58 4.2.3 主目錄 58 4.3 路徑名 59 4.3.1 絕對路徑名 59 4.3.2 相對路徑名 60 4.4 目錄操作 61 4.4.1 mkdir:創(chuàng)建目錄 61 4.4.2 cd:更改工作目錄 62 4.4.3 rmdir:刪除目錄 63 4.4.4 使用路徑名 63 4.4.5 mv/cp:移動(dòng)/復(fù)制文件 63 4.4.6 mv:移動(dòng)目錄 64 4.4.7 重要的標(biāo)準(zhǔn)目錄和文件 64 4.5 訪問權(quán)限 66 4.5.1 ls -l:顯示訪問權(quán)限 66 4.5.2 chmod:改變訪問權(quán)限 67 4.5.3 setuid和setgid權(quán)限 68 4.5.4 目錄訪問權(quán)限 69 4.6 ACL:訪問控制列表 70 4.6.1 啟用ACL 70 4.6.2 處理訪問規(guī)則 71 4.6.3 設(shè)置目錄的默認(rèn)規(guī)則 73 4.7 鏈接 74 4.7.1 硬鏈接 74 4.7.2 符號鏈接 76 4.7.3 rm:刪除鏈接 78 4.7.4 解引用符號鏈接 78 4.8 本章小結(jié) 81 練習(xí) 82 高級練習(xí) 83 第5章 shell 85 5.1 命令行 86 5.1.1 簡單命令 86 5.1.2 語法 86 5.1.3 處理命令行 88 5.1.4 執(zhí)行命令行 90 5.1.5 編輯命令行 90 5.2 標(biāo)準(zhǔn)輸入和輸出 90 5.2.1 作為文件的屏幕 91 5.2.2 作為標(biāo)準(zhǔn)輸入的鍵盤和作為標(biāo)準(zhǔn)輸出的 屏幕 91 5.2.3 重定向 92 5.2.4 管道 96 5.2.5 鏈 98 5.3 在后臺運(yùn)行命令 99 5.4 生成文件名/擴(kuò)展路徑名 100 5.4.1 特殊字符? 100 5.4.2 特殊字符* 101 5.4.3 特殊字符[ ] 102 5.5 內(nèi)置命令 104 5.6 本章小結(jié) 104 練習(xí) 105 高級練習(xí) 106 第Ⅱ部分 編輯器 第6章 vim編輯器 109 6.1 歷史 110 6.2 入門:用vim創(chuàng)建和編輯文件 110 6.2.1 啟動(dòng)vim 110 6.2.2 命令模式和輸入模式 112 6.2.3 輸入文本 112 6.2.4 獲取幫助 113 6.2.5 結(jié)束編輯會話 115 6.2.6 compatible參數(shù) 115 6.3 介紹vim的特性 115 6.3.1 聯(lián)機(jī)幫助 115 6.3.2 術(shù)語 116 6.3.3 操作模式 116 6.3.4 顯示 116 6.3.5 在輸入模式下校正文本 117 6.3.6 工作緩沖區(qū) 117 6.3.7 行長度與文件大小 117 6.3.8 窗口 117 6.3.9 鎖定文件 117 6.3.10 非正常結(jié)束編輯會話 118 6.3.11 崩潰后的文本恢復(fù) 118 6.4 在命令模式下移動(dòng)光標(biāo) 119 6.4.1 按字符移動(dòng)光標(biāo) 120 6.4.2 將光標(biāo)移到某個(gè)特定字符 120 6.4.3 按字移動(dòng)光標(biāo) 120 6.4.4 按行移動(dòng)光標(biāo) 121 6.4.5 按句子和段落移動(dòng)光標(biāo) 121 6.4.6 在屏幕內(nèi)移動(dòng)光標(biāo) 121 6.4.7 查看工作緩沖區(qū)的不同部分 122 6.5 輸入模式 122 6.5.1 插入文本 122 6.5.2 追加文本 122 6.5.3 為輸入文本打開行 122 6.5.4 替換文本 123 6.5.5 在輸入模式下轉(zhuǎn)義特殊字符 123 6.6 在命令模式下刪除和修改文本 123 6.6.1 撤消修改 123 6.6.2 刪除字符 123 6.6.3 刪除文本 123 6.6.4 修改文本 124 6.6.5 替換文本 125 6.6.6 修改大小寫 125 6.7 查找和替換 125 6.7.1 查找字符 126 6.7.2 查找字符串 126 6.7.3 字符串的替換 127 6.8 其他命令 129 6.8.1 連接命令 129 6.8.2 狀態(tài)命令 129 6.8.3 .(句點(diǎn)) 129 6.9 復(fù)制、移動(dòng)和刪除文本 130 6.9.1 通用緩沖區(qū) 130 6.9.2 命名緩沖區(qū) 130 6.9.3 編號緩沖區(qū) 131 6.10 文件的讀寫 131 6.10.1 讀文件 131 6.10.2 寫文件 131 6.10.3 識別當(dāng)前文件 132 6.11 參數(shù)設(shè)置 132 6.11.1 在vim中設(shè)置參數(shù) 132 6.11.2 在啟動(dòng)文件中設(shè)置參數(shù) 132 6.11.3 .vimrc啟動(dòng)文件 133 6.11.4 參數(shù) 133 6.12 高級編輯技巧 135 6.12.1 使用標(biāo)記 135 6.12.2 編輯其他文件 136 6.12.3 宏與快捷鍵 136 6.12.4 在vim中執(zhí)行shell命令 136 6.13 度量單位 137 6.13.1 字符 138 6.13.2 字 138 6.13.3 空白分隔字 138 6.13.4 行 138 6.13.5 句子 139 6.13.6 段落 139 6.13.7 屏幕(窗口) 139 6.13.8 重復(fù)因子 139 6.14 本章小結(jié) 140 練習(xí) 143 高級練習(xí) 144 第7章 emacs編輯器 145 7.1 歷史 145 7.1.1 演化 146 7.1.2 emacs與vim 146 7.2 入門:開始使用emacs 147 7.2.1 啟動(dòng)emacs 147 7.2.2 退出emacs 148 7.2.3 插入文本 148 7.2.4 刪除字符 149 7.2.5 移動(dòng)光標(biāo) 149 7.2.6 在光標(biāo)處編輯 151 7.2.7 保存和檢索緩沖區(qū)中的內(nèi)容 151 7.3 基本編輯命令 152 7.3.1 按鍵的表示與使用 152 7.3.2 鍵序列和命令 152 7.3.3 META x:運(yùn)行不帶綁定鍵的命令 153 7.3.4 數(shù)值參數(shù) 153 7.3.5 編輯點(diǎn)與光標(biāo) 153 7.3.6 在緩沖區(qū)中滾動(dòng) 153 7.3.7 刪除文本 154 7.3.8 搜索文本 154 7.3.9 通過鍵盤使用菜單欄 155 7.4 聯(lián)機(jī)幫助 156 7.5 高級編輯 157 7.5.1 撤消修改 157 7.5.2 編輯點(diǎn)、標(biāo)記和區(qū)域 158 7.5.3 剪切與粘貼:移出已剪切文本 159 7.5.4 插入特殊字符 160 7.5.5 全局緩沖區(qū)命令 161 7.5.6 訪問和保存文件 162 7.5.7 緩沖區(qū) 164 7.5.8 窗口 165 7.5.9 前臺shell命令 166 7.5.10 后臺shell命令 166 7.6 主模式:區(qū)分語言的編輯 167 7.6.1 選擇主模式 167 7.6.2 自然語言模式 167 7.6.3 C模式 169 7.6.4 定制縮進(jìn) 171 7.6.5 注釋 171 7.6.6 專用模式 172 7.7 定制emacs 172 7.7.1 .emacs啟動(dòng)文件 173 7.7.2 重映射鍵 174 7.7.3 .emacs文件示例 175 7.8 更多信息 175 7.9 本章小結(jié) 176 練習(xí) 181 高級練習(xí) 182 第Ⅲ部分 shell 第8章 bash 187 8.1 背景知識 188 8.2 啟動(dòng)文件 188 8.2.1 登錄shell 189 8.2.2 交互式非登錄shell 189 8.2.3 非交互式shell 189 8.2.4 建立啟動(dòng)文件 189 8.2.5 .(句點(diǎn))或source:在當(dāng)前shell中 運(yùn)行啟動(dòng)文件 191 8.3 符號命令 191 8.4 重定向標(biāo)準(zhǔn)錯(cuò)誤 191 8.5 編寫和執(zhí)行簡單的shell腳本 193 8.5.1 chmod:使文件可執(zhí)行 193 8.5.2 #!指定shell 194 8.5.3 #開始一行注釋 195 8.5.4 執(zhí)行shell腳本 196 8.6 控制操作符:命令分隔和命令 分組 196 8.6.1 使用分號和換行符分隔命令 196 8.6.2 |和&分隔命令及其他功能 197 8.6.3 布爾控制操作符&&和|| 198 8.6.4 ( )命令分組 198 8.6.5 繼續(xù)命令 199 8.7 作業(yè)控制 199 8.7.1 jobs:列出作業(yè) 200 8.7.2 fg:將作業(yè)移到前臺運(yùn)行 200 8.7.3 掛起作業(yè) 201 8.7.4 bg:將作業(yè)移到后臺運(yùn)行 201 8.8 操作目錄棧 201 8.8.1 dirs:顯示棧 202 8.8.2 pushd:將目錄壓入棧中 202 8.8.3 popd:將目錄從棧中彈出 202 8.9 參數(shù)和變量 203 8.9.1 用戶創(chuàng)建的變量 204 8.9.2 變量屬性 206 8.9.3 關(guān)鍵字變量 207 8.10 特殊字符 212 8.11 locale 213 8.12 時(shí)間 215 8.13 進(jìn)程 217 8.13.1 進(jìn)程結(jié)構(gòu) 218 8.13.2 進(jìn)程標(biāo)識 218 8.13.3 執(zhí)行命令 219 8.14 歷史機(jī)制 219 8.14.1 控制歷史機(jī)制的變量 220 8.14.2 重新執(zhí)行和編輯命令 221 8.14.3 Readline庫 226 8.15 別名 230 8.15.1 別名中的單引號和雙引號 231 8.15.2 別名示例 231 8.16 函數(shù) 233 8.17 控制bash的功能和選項(xiàng) 235 8.17.1 bash命令行選項(xiàng) 235 8.17.2 shell的功能 235 8.18 處理命令行 237 8.18.1 歷史擴(kuò)展 237 8.18.2 別名替換 238 8.18.3 解析和掃描命令行 238 8.18.4 命令行擴(kuò)展 238 8.19 本章小結(jié) 244 練習(xí) 245 高級練習(xí) 246 第9章 tcsh 249 9.1 shell腳本 250 9.2 進(jìn)入和退出tcsh 250 9.3 bash與tcsh的共性 252 9.3.1 命令行擴(kuò)展(替換) 252 9.3.2 作業(yè)控制 255 9.3.3 文件名替換 255 9.3.4 操作目錄棧 255 9.3.5 命令替換 256 9.4 重定向標(biāo)準(zhǔn)錯(cuò)誤 256 9.5 操作命令行 256 9.5.1 字補(bǔ)全 257 9.5.2 編輯命令行 258 9.5.3 校正拼寫 259 9.6 變量 260 9.6.1 變量替換 260 9.6.2 字符串變量 260 9.6.3 字符串變量數(shù)組 261 9.6.4 數(shù)值變量 261 9.6.5 花括號 263 9.6.6 特殊的變量形式 263 9.6.7 tcsh變量 264 9.7 控制結(jié)構(gòu) 268 9.7.1 if 268 9.7.2 goto 270 9.7.3 中斷處理 270 9.7.4 if...then...else 270 9.7.5 foreach 271 9.7.6 while 272 9.7.7 break和continue 273 9.7.8 switch 273 9.8 內(nèi)置命令 274 9.9 本章小結(jié) 277 練習(xí) 277 高級練習(xí) 278 第Ⅳ部分 編程工具 第10章 bash程序設(shè)計(jì) 281 10.1 控制結(jié)構(gòu) 282 10.1.1 if…then 282 10.1.2 if...then...else 285 10.1.3 if...then...elif 286 10.1.4 for...in 290 10.1.5 for 292 10.1.6 while 293 10.1.7 until 296 10.1.8 break與continue 297 10.1.9 case 298 10.1.10 select 302 10.1.11 Here文檔 304 10.2 文件描述符 305 10.2.1 打開文件描述符 305 10.2.2 復(fù)制文件描述符 306 10.2.3 文件描述符示例 306 10.2.4 確定文件描述符是否與終端關(guān)聯(lián) 308 10.3 參數(shù) 309 10.3.1 位置參數(shù) 309 10.3.2 特殊參數(shù) 313 10.4 變量 315 10.4.1 shell變量 315 10.4.2 環(huán)境、環(huán)境變量和繼承 316 10.4.3 擴(kuò)展空變量和未賦值的變量 319 10.4.4 數(shù)組變量 320 10.4.5 函數(shù)中的變量 321 10.5 內(nèi)置命令 322 10.5.1 type:顯示命令的相關(guān)信息 322 10.5.2 read:接收用戶輸入 322 10.5.3 exec:執(zhí)行命令或重定向文件描 述符 325 10.5.4 trap:捕獲信號 326 10.5.5 kill:終止進(jìn)程 328 10.5.6 eval:掃描、賦值并執(zhí)行命令行 329 10.5.7 getopts:解析選項(xiàng) 329 10.5.8 部分內(nèi)置命令列表 331 10.6 表達(dá)式 332 10.6.1 算術(shù)表達(dá)式 332 10.6.2 邏輯表達(dá)式(條件表達(dá)式) 333 10.6.3 字符串模式匹配 333 10.6.4 運(yùn)算符 334 10.7 隱式命令行延續(xù) 337 10.8 shell程序 337 10.8.1 遞歸的shell腳本 338 10.8.2 shell的quiz腳本 340 10.9 本章小結(jié) 345 練習(xí) 345 高級練習(xí) 346 第11章 Perl腳本語言 349 11.1 Perl簡介 350 11.1.1 更多信息 350 11.1.2 幫助 350 11.1.3 perldoc 350 11.1.4 術(shù)語 352 11.1.5 運(yùn)行Perl程序 352 11.1.6 語法 353 11.2 變量 355 11.2.1 標(biāo)量變量 356 11.2.2 數(shù)組變量 357 11.2.3 哈希變量 358 11.3 控制結(jié)構(gòu) 359 11.3.1 if/unless 359 11.3.2 if…else 361 11.3.3 if…elsif…else 361 11.3.4 foreach/for 362 11.3.5 last和next 363 11.3.6 while/until 364 11.4 處理文件 365 11.5 排序 367 11.6 子例程 368 11.7 正則表達(dá)式 370 11.8 CPAN模塊 373 11.9 示例 375 11.10 本章小結(jié) 377 練習(xí) 377 高級練習(xí) 378 第12章 Python編程語言 379 12.1 簡介 379 12.1.1 調(diào)用Python 380 12.1.2 更多信息 381 12.1.3 寫標(biāo)準(zhǔn)輸出與讀標(biāo)準(zhǔn)輸入 381 12.1.4 函數(shù)和方法 382 12.2 標(biāo)量變量、列表和字典 382 12.2.1 標(biāo)量變量 382 12.2.2 列表 383 12.2.3 字典 386 12.3 控制結(jié)構(gòu) 387 12.3.1 if 387 12.3.2 if…else 387 12.3.3 if…elif…else 388 12.3.4 while 388 12.3.5 for 389 12.4 讀寫文件 390 12.4.1 文件輸入和輸出 390 12.4.2 異常處理 391 12.4.3 pickle模塊 392 12.5 正則表達(dá)式 392 12.6 定義函數(shù) 394 12.7 使用庫 394 12.7.1 標(biāo)準(zhǔn)庫 394 12.7.2 非標(biāo)準(zhǔn)庫 394 12.7.3 SciPy和NumPy庫 395 12.7.4 命名空間 395 12.7.5 導(dǎo)入模塊 395 12.7.6 導(dǎo)入函數(shù)示例 396 12.8 Lambda函數(shù) 397 12.9 列表推導(dǎo) 398 12.10 本章小結(jié) 398 練習(xí) 399 高級練習(xí) 399 第13章 MariaDB數(shù)據(jù)庫管理系統(tǒng) 401 13.1 注意 402 13.1.1 語法和慣例 403 13.1.2 更多信息 404 13.2 安裝MariaDB服務(wù)器和客戶端 404 13.2.1 Fedora/RHEL(Red Hat Enterprise Linux) 404 13.2.2 Debian/Ubuntu/Mint 404 13.2.3 OpenSUSE 405 13.2.4 macOS 405 13.3 客戶端選項(xiàng) 405 13.4 配置MariaDB 405 13.4.1 為MariaDB root用戶指定密碼 406 13.4.2 刪除匿名用戶 406 13.4.3 運(yùn)行安全安裝腳本 406 13.4.4 ~/.my.cnf:配置MariaDB客戶端 406 13.4.5 ~/.mysql_history:保存MariaDB 歷史 406 13.5 創(chuàng)建數(shù)據(jù)庫 407 13.6 添加用戶 407 13.7 一些示例 408 13.7.1 登錄 408 13.7.2 創(chuàng)建表 408 13.7.3 添加數(shù)據(jù) 409 13.7.4 獲取數(shù)據(jù) 410 13.7.5 備份數(shù)據(jù)庫 412 13.7.6 修改數(shù)據(jù) 412 13.7.7 創(chuàng)建第二個(gè)表 413 13.7.8 連接查詢 413 13.8 本章小結(jié) 416 練習(xí) 417 第14章 AWK模式處理語言 419 14.1 語法 420 14.2 參數(shù) 420 14.3 選項(xiàng) 420 14.4 注意 421 14.5 語言基礎(chǔ) 421 14.5.1 模式 421 14.5.2 動(dòng)作 421 14.5.3 注釋 422 14.5.4 變量 422 14.5.5 函數(shù) 422 14.5.6 算術(shù)運(yùn)算符 423 14.5.7 關(guān)聯(lián)數(shù)組 423 14.5.8 printf 423 14.5.9 控制結(jié)構(gòu) 424 14.6 示例 426 14.7 gawk高級編程 438 14.7.1 getline:控制輸入 438 14.7.2 協(xié)進(jìn)程:雙向I/O 439 14.7.3 從網(wǎng)絡(luò)獲取輸入 440 14.8 本章小結(jié) 441 練習(xí) 441 高級練習(xí) 441 第15章 sed編輯器 443 15.1 語法 443 15.2 參數(shù) 443 15.3 選項(xiàng) 444 15.4 編輯器基礎(chǔ) 444 15.4.1 地址 444 15.4.2 指令 445 15.4.3 控制結(jié)構(gòu) 445 15.4.4 暫存空間 446 15.5 示例 446 15.6 本章小結(jié) 453 練習(xí) 453 第Ⅴ部分 安全的網(wǎng)絡(luò)實(shí)用程序 第16章 rsync安全復(fù)制實(shí)用程序 457 16.1 語法 458 16.2 參數(shù) 458 16.3 選項(xiàng) 458 16.3.1 注意 459 16.3.2 更多信息 459 16.4 示例 460 16.4.1 使用source-file尾部的斜杠(/) 460 16.4.2 刪除文件 460 16.4.3 在遠(yuǎn)程系統(tǒng)上復(fù)制文件 461 16.4.4 鏡像目錄 462 16.4.5 生成備份 462 16.4.6 恢復(fù)文件 464 16.5 本章小結(jié) 464 練習(xí) 464 第17章 OpenSSH安全通信實(shí)用程序 465 17.1 OpenSSH簡介 466 17.1.1 文件 466 17.1.2 更多信息 467 17.2 運(yùn)行OpenSSH客戶端ssh、scp 和sftp 467 17.2.1 指南:使用ssh和scp連接到 OpenSSH服務(wù)器 467 17.2.2 配置OpenSSH客戶端 467 17.2.3 ssh:登錄或者在遠(yuǎn)程系統(tǒng)上執(zhí)行 命令 469 17.2.4 scp:與遠(yuǎn)程系統(tǒng)互相復(fù)制文件 471 17.2.5 sftp:安全的FTP客戶端 472 17.2.6 ~/.ssh/config和/etc/ssh/ssh_config 配置文件 473 17.3 設(shè)置OpenSSH服務(wù)器(sshd) 474 17.3.1 必要的前提條件 474 17.3.2 注意 474 17.3.3 指南II:啟動(dòng)OpenSSH服務(wù)器 474 17.3.4 認(rèn)證密鑰:自動(dòng)登錄 474 17.3.5 randomart圖 475 17.3.6 ssh-agent:保存私鑰 476 17.3.7 命令行選項(xiàng) 477 17.3.8 /etc/ssh/sshd_config配置文件 477 17.4 疑難解答 478 17.5 隧道/端口轉(zhuǎn)發(fā) 478 17.5.1 轉(zhuǎn)發(fā)X11 478 17.5.2 端口轉(zhuǎn)發(fā) 479 17.6 本章小結(jié) 479 練習(xí) 480 高級練習(xí) 480 第Ⅵ部分 命令參考 第18章 命令參考 483 18.1 標(biāo)準(zhǔn)倍數(shù)后綴 487 18.2 常見選項(xiàng) 487 18.3 sample實(shí)用程序 487 18.4 sample(macOS) 488 18.5 aspell 488 18.6 at 491 18.7 busybox 494 18.8 bzip2 496 18.9 cal 497 18.10 cat 498 18.11 cd 499 18.12 chgrp 501 18.13 chmod 502 18.14 chown 505 18.15 cmp 506 18.16 comm 508 18.17 configure 509 18.18 cp 510 18.19 cpio 512 18.20 crontab 516 18.21 cut 518 18.22 date 519 18.23 dd 521 18.24 df 523 18.25 diff 524 18.26 diskutil(僅用于macOS) 528 18.27 ditto(僅用于macOS) 530 18.28 dmesg 531 18.29 dscl(macOS) 532 18.30 du 534 18.31 echo 536 18.32 expand/unexpand 537 18.33 expr 538 18.34 file 540 18.35 find 542 18.36 finger 545 18.37 fmt 547 18.38 fsck 548 18.39 ftp 551 18.40 gawk 555 18.41 gcc 555 18.42 GetFileInfo(僅用于macOS) 558 18.43 grep 559 18.44 gzip 562 18.45 head 564 18.46 join 565 18.47 kill 567 18.48 killall 568 18.49 launchctl(僅用于macOS) 569 18.50 less 571 18.51 ln 574 18.52 lpr 575 18.53 ls 577 18.54 make 581 18.55 man 585 18.56 mc 587 18.57 mkdir 592 18.58 mkfs 593 18.59 mv 594 18.60 nice 596 18.61 nl 597 18.62 nohup 598 18.63 od 598 18.64 open(僅用于macOS) 601 18.65 otool(macOS) 603 18.66 paste 604 18.67 pax 606 18.68 plutil(僅用于macOS) 609 18.69 pr 610 18.70 printf 611 18.71 ps 614 18.72 renice 616 18.73 rm 617 18.74 rmdir 618 18.75 rsync 619 18.76 scp 619 18.77 screen 620 18.78 sed 623 18.79 SetFile(僅用于macOS) 623 18.80 sleep 624 18.81 sort 625 18.82 split 632 18.83 ssh 633 18.84 sshfs/curlftpfs 633 18.85 stat 635 18.86 strings 636 18.87 stty 637 18.88 sysctl 639 18.89 tail 640 18.90 tar 642 18.91 tee 645 18.92 telnet 646 18.93 test 648 18.94 top 650 18.95 touch 652 18.96 tr 653 18.97 tty 655 18.98 tune2fs 656 18.99 umask 658 18.100 uniq 659 18.101 w 660 18.102 wc 662 18.103 which 662 18.104 who 664 18.105 xargs 665 第Ⅶ部分 附錄 附錄A 正則表達(dá)式 669 附錄B 獲取幫助 677 附錄C 更新系統(tǒng) 681 附錄D macOS注意事項(xiàng) 691 附錄E 術(shù)語表 699
你還可能感興趣
我要評論
|