發表於2024-12-26
Linux係統命令及Shell腳本實踐指南 pdf epub mobi txt 電子書 下載
《Linux係統命令及Shell腳本實踐指南》由淺入深、全麵、係統地介紹瞭Linux係統的基礎命令和Shell腳本的開發。作為一本麵嚮Linux入門用戶的書籍,本書力求語言通俗易懂,用例簡單明瞭,便於讀者閱讀領會。同時,全書穿插瞭不少要求讀者動手實踐的內容,不但可加深讀者對內容的理解和消化,同時也可通過動手實踐激發讀者對Linux係統和Shell編程的興趣,從而更好地驅動讀者學習。
《Linux係統命令及Shell腳本實踐指南》共計18章,從知識結構上分為三部分。第一部分為前8章,全麵介紹瞭Linux的基礎知識和常用命令;第二部分為第9章和第10章,主要是Linux下交互和非交互編輯器的使用;第三部分為第11~18章,主要是Shell腳本開發。這三部分內容各有偏重,讀者可以根據實際需要選擇閱讀。
《Linux係統命令及Shell腳本實踐指南》根據作者多年來Linux環境運維管理工作的經驗編著而成,內容豐富,且注重實踐講解,非常適閤Linux初學者和基於Linux平颱的軟件開發者學習或查閱。從內容結構上來看,本書摒棄瞭各章獨立的寫作風格,而是采取瞭各章有機結閤的方式,自上而下自成一體,既加深瞭讀者對單個知識點的理解,也有利於從全局把控Linux係統和Shell編程的精髓。
王軍,擁有近8年係統工程師、網絡工程師工作經驗。2006年年初開始從事信息技術相關工作,先後參與過校園交換網、公司辦公網以及大中型互聯網公司的高可用網絡架構設計,有豐富的網絡實戰經驗。2008年進入Linux係統運維領域,並相繼在國內多傢著名企業(易趣、51JOB、阿裏雲)就職,從事網絡工程師、係統工程師工作,工作內容涉及大規模商用雲計算虛擬化平颱運維、係統架構、企業網絡設計。自行設計和部署過國內多傢大型網站的高可用集群。對係統、網絡、數據庫都有深刻的理解,多次在國內一些技術論壇和博客中發錶技術文檔,頗受關注。現任國傢電網某子公司資深技術顧問。
本書作者王軍擁有國內多傢著名IT公司的服務經曆,在繁忙的工作之餘,他仍筆耕不輟,將多年來在Linux領域的鑽研、磨練與實踐凝結成文,以迴饋多年來在Linux社區獲得的幫助,是幫助初學者提升學習麯綫的可貴嘗試。全書深入淺齣地講述瞭Linux係統命令、Shell腳本編程,附加大量實戰腳本,是學習Linux係統的有力指南。本書亦有工具書特色,本人使用Linux多年,翻閱此書仍為其內容的實用性所吸引,受益匪淺。
——高通中國高級測試經理·王鋒
本書是作者在係統管理領域多年實踐的精彩總結,沒有花哨的語言,不是大而全的磚頭書。從頭到尾,循序漸進,讓你對Linux的基本操作及其原理有全麵、係統的認識。作者使用很大一部分篇幅闡述Linux下的腳本編程,相信這也是他對係統管理領域的深刻理解,隻有掌握瞭紮實的編程技能,纔能讓係統管理井井有條,避免一些人為的低級錯誤。本書一定能給Linux初學者及係統管理員帶來幫助。
——阿裏巴巴技術專傢·陳波
推薦序
推薦序
前 言
第1章 Linux簡介
1.1 Linux的發展曆史
1.2 Linux的特點
1.3 係統安裝
1.3.1 安裝前的規劃
1.3.2 安裝RedHat
1.3.3 安裝CentOS
1.4 係統登錄
1.4.1 第一次登錄係統的設置
1.4.2 使用圖形模式登錄
1.4.3 使用終端模式登錄
1.4.4 開始學習使用Linux的命令
1.5 係統啓動流程
1.5.1 係統引導概述
1.5.2 係統運行級彆
1.5.3 服務啓動腳本
1.5.4 Grub介紹
1.6 獲得幫助
1.6.1 使用man page
1.6.2 使用info page
1.6.3 其他獲得幫助的方式
第2章 Linux用戶管理
2.1 Linux用戶和用戶組
2.1.1 UID和GID
2.1.2 /etc/passwd和/etc/shadow
2.2 Linux賬號管理
2.2.1 新增和刪除用戶
2.2.2 新增和刪除用戶組
2.2.3 檢查用戶信息
2.3 切換用戶
2.3.1 切換成其他用戶
2.3.2 用其他用戶的身份執行命令:sudo
2.4 例行任務管理
2.4.1 單一時刻執行一次任務:at
2.4.2 周期性執行任務:cron
2.4.3 /etc/crontab的管理
第3章 Linux文件管理
3.1 文件和目錄管理
3.1.1 絕對路徑和相對路徑
3.1.2 文件的相關操作
3.1.3 目錄的相關操作
3.1.4 文件時間戳
3.2 文件和目錄的權限
3.2.1 查看文件或目錄的權限:ls -al
3.2.2 文件隱藏屬性
3.2.3 改變文件權限:chmod
3.2.4 改變文件的擁有者:chown
3.2.5 改變文件的擁有組:chgrp
3.2.6 文件特殊屬性:SUID/SGID/Sticky
3.2.7 默認權限和umask
3.2.8 查看文件類型:file
3.3 查找文件
3.3.1 一般查找:find
3.3.2 數據庫查找:locate
3.3.3 查找執行文件:which/whereis
3.4 文件壓縮和打包
3.4.1 gzip/gunzip
3.4.2 tar
3.4.3 bzip2
3.4.4 cpio
第4章 Linux文件係統
4.1 文件係統
4.1.1 什麼是文件係統
4.1.2 ext2文件係統簡介
4.1.3 ext3文件係統簡介
4.2 磁盤分區、創建文件係統、掛載
4.2.1 創建文件係統:fdisk
4.2.2 磁盤掛載:mount
4.2.3 設置啓動自動掛載:/etc/fstab
4.2.4 磁盤檢驗:fsck、badblocks
4.3 Linux邏輯捲
4.3.1 什麼是邏輯捲
4.3.2 如何製作邏輯捲
4.4 硬鏈接和軟鏈接
4.4.1 什麼是硬鏈接
4.4.2 什麼是軟鏈接
第5章 字符處理
5.1 管道
5.2 使用grep搜索文本
5.3 使用sort排序
5.4 使用uniq刪除重復內容
5.5 使用cut截取文本
5.6 使用tr做文本轉換
5.7 使用paste做文本閤並
5.8 使用split分割大文件
第6章 網絡管理
6.1 網絡接口配置
6.1.1 使用ifconfig檢查和配置網卡
6.1.2 將IP配置信息寫入配置文件
6.2 路由和網關設置
6.3 DNS客戶端配置
6.3.1 /etc/hosts
6.3.2 /etc/resolv.conf
6.4 網絡測試工具
6.4.1 ping
6.4.2 host
6.4.3 traceroute
6.4.4 常見網絡故障排查
第7章 進程管理
7.1 什麼是進程
7.2 進程和程序的區彆
7.3 進程的觀察:ps、top
7.4 進程的終止:kill、killall
7.5 查詢進程打開的文件:lsof
7.6 進程優先級調整:nice、renice
第8章 Linux下的軟件安裝
8.1 源碼包編譯安裝
8.1.1 編譯、安裝、打印HelloWorld程序
8.1.2 使用源碼包編譯安裝Apache
8.2 RPM安裝軟件
8.2.1 什麼是RPM
8.2.2 RPM包管理命令:rpm
8.2.3 包依賴關係
8.2.4 使用RPM包安裝gcc
8.2.5 使用RPM包安裝Apache
8.3 yum安裝軟件
8.3.1 yum命令的基本用法
8.3.2 使用yum安裝Apache
8.3.3 RedHat使用yum的問題
8.3.4 自建本地yum源
8.3.5 自建網絡yum源
8.4 三種安裝方法的比較
8.5 重建RPM包
8.5.1 創建重建環境
8.5.2 快速重建RPM包
8.5.3 以spec文件重建RPM包
8.5.4 spec文件簡介
第9章 vi和vim編輯器
9.1 vi和vim編輯器簡介
9.2 vi編輯器
9.2.1 模式介紹
9.2.2 案例練習
9.3 vim編輯器
9.3.1 多行編輯
9.3.2 多文件編輯
9.3.3 使用vimtutor深入學習vim
9.4 gedit編輯器
9.4.1 gedit編輯器簡介
9.4.2 啓動gedit編輯器
第10章 正則錶達式
10.1 正則錶達式基礎
10.1.1 什麼是正則錶達式
10.1.2 基礎的正則錶達式
10.1.3 擴展的正則錶達式
10.1.4 通配符
10.2 正則錶達式示例
10.3 文本處理工具sed
10.3.1 sed介紹
10.3.2 刪除
10.3.3 查找替換
10.3.4 字符轉換
10.3.5 插入文本
10.3.6 讀入文本
10.3.7 打印
10.3.8 寫文件
10.3.9 sed腳本
10.3.10 高級替換
10.3.11 sed總結
10.4 文本處理工具awk
10.4.1 打印指定域
10.4.2 指定打印分隔符
10.4.3 內部變量NF
10.4.4 打印固定域
10.4.5 截取字符串
10.4.6 確定字符串的長度
10.4.7 使用awk求列和
第11章 Shell編程概述
11.1 Shell簡介
11.1.1 Shell是什麼
11.1.2 Shell的曆史
11.1.3 Shell的功能
11.1.4 Shell編程的優勢
11.2 第一個Shell腳本
11.2.1 編輯第一個Shell腳本
11.2.2 運行腳本
11.2.3 Shell腳本的排錯
11.3 Shell的內建命令
第12章 Bash Shell的安裝
12.1 確定你的Shell版本
12.2 安裝bash
12.3 使用新版本的Bash Shell
12.4 在Windows中安裝bash
第13章 Shell編程基礎
13.1 變量
13.1.1 局部變量
13.1.2 環境變量
13.1.3 變量命名
13.1.4 變量賦值和取值
13.1.5 取消變量
13.1.6 特殊變量
13.1.7 數組
13.1.8 隻讀變量
13.1.9 變量的作用域
13.2 轉義和引用
13.2.1 轉義
13.2.2 引用
13.2.3 命令替換
13.3 運算符
13.3.1 算術運算符
13.3.2 位運算符
13.3.3 自增自減
13.4 其他算術運算
13.4.1 使用$[]做運算
13.4.2 使用expr做運算
13.4.3 內建運算命令declare
13.4.4 算術擴展
13.4.5 使用bc做運算
13.5 特殊字符
13.5.1 通配符
13.5.2 引號
13.5.3 注釋符
13.5.4 大括號
13.5.5 控製字符
13.5.6 雜項
第14章 測試和判斷
14.1 測試
14.1.1 測試結構
14.1.2 文件測試
14.1.3 字符串測試
14.1.4 整數比較
14.1.5 邏輯測試符和邏輯運算符
14.2 判斷
14.2.1 if判斷結構
14.2.2 if/else判斷結構
14.2.3 if/elif/else判斷結構
14.2.4 case判斷結構
第15章 循環
15.1 for循環
15.1.1 帶列錶的for循環
15.1.2 不帶列錶的for循環
15.1.3 類C的for循環
15.1.4 for的無限循環
15.2 while循環
15.2.1 while循環的語法
15.2.2 使用while按行讀取
文件
15.2.3 while的無限循環
15.3 until循環
15.3.1 until循環的語法
15.3.2 until的無限循環
15.4 select循環
15.5 嵌套循環
15.6 循環控製
15.6.1 break語句
15.6.2 continue語句
第16章 函數
16.1 函數的基本知識
16.1.1 函數的定義和調用
16.1.2 函數的返迴值
16.2 帶參數的函數
16.2.1 位置參數
16.2.2 指定位置參數值
16.2.3 移動位置參數
16.3 函數庫
16.3.1 自定義函數庫
16.3.2 函數庫/etc/init.d/functions簡介
16.4 遞歸函數
第17章 重定嚮
17.1 重定嚮簡介
17.1.1 重定嚮的基本概念
17.1.2 文件標識符和標準輸入輸齣
17.2 I/O重定嚮
17.2.1 I/O重定嚮符號和用法
17.2.2 使用exec
17.2.3 Here Document
第18章 腳本範例
18.1 批量添加用戶腳本
18.2 檢測服務器存活
18.3 使用expect實現自動化輸入
18.4 自動登錄ftp備份
18.5 文件安全檢測腳本
18.6 ssh自動登錄備份
18.7 使用rsync備份
18.8 使用netcat備份
18.9 使用iptables建立防火牆
18.10 自定義開機啓動項的init腳本
18.11 使用腳本操作MySQL數據庫
18.12 基於LVM快照的MySQL數據庫備份
18.13 頁麵自動化安裝LAMP環境
第1章
Linux簡介
1.1 Linux的發展曆史
首先我們一起來瞭解一下應該怎麼讀Linux這個單詞,根據Torvalds(Linux的發明者)在其多次公開場閤中的說明,標準的讀音應該是“哩呐科斯”,利用搜索引擎加關鍵字Linux pronunciation進行搜索,就可以看到具體的視頻。
說到Linux就不得不提到UNIX,因為Linux是一種類UNIX的係統。早在1965年,貝爾實驗室加入瞭一項由美國通用電氣公司和麻省理工學院發起的閤作計劃,該計劃要開發一個多用戶、多進程、多層次的Multics操作係統。由於該計劃實際進展太過緩慢,1969年便暫停瞭。不過該計劃的參與者之一Ken Thompson已經從這項計劃中獲得瞭一些點子和收獲,當時他有一個被稱為“星際旅行”的程序在GE-635的機器上運行,因為該機器性能問題,運行“星際旅行”太慢,從而引發瞭他想將這個程序移植到一颱性能更好的DPD-7上的想法,隻是因為傢中有小孩需要照顧而一直沒有時間動手。巧閤的是,在1969年8月左右,他的妻兒齣門探親瞭一個月,就在這一個月的時間裏,Thompson編寫瞭一個操作係統,並成功地將“星際旅行”移植到瞭DPD-7上,而這個操作係統就是UNIX的原型。
UNIX由於具有優秀的移植性而得到瞭廣泛的關注和支持,1974年12月伯剋利大學獲得UNIX的源碼,並動手將其修改為適閤自己機器的版本,最終命名為BSD,這也是UNIX很重要的一個分支。由於當時還沒有足夠的版權意識,很多商業公司都開始瞭基於UNIX操作係統的開發,比如AT&T;的System V、IBM的AIX等,在這段時期中也形成瞭UNIX的兩大分支:System V和BSD。
後來AT&T;公司齣於商業考慮(貝爾實驗室是從屬於AT&T;公司的),1979年在發行第七版UNIX時開始嚴格限製對學生提供源碼。這對大學教學影響非常大,因為在無法看到源碼的情況下,教學工作便很難進行。當時有個叫Tanenbaum的教授為避免版權糾紛,在完全不看UNIX源碼的情況下,自己動手寫瞭一個類UNIX的係統,並命名為Minix,這項工作從1984年持續到1986年。由於開發這個係統的齣發點在於教學,所以用戶對Minix的新需求往往得不到開發支持,隻能基於Minix的源碼自己進行修改。
1984年,Richard Stallman創立瞭GNU項目,由自由軟件基金支持,GNU項目的目標是“開發一個完全自由的UNIX操作係統”。
“Hello everybody out there using minix, I抦 doing a free operation system”,1991年8月,網絡上齣現瞭以此開篇的帖子,這是一名芬蘭的大學生為瞭寫一個類Minix的係統而在尋找誌同道閤的夥伴,他就是著名的Linux之父—Linus Torvalds。同年10月5日,他在網絡上發布瞭大約有1萬行代碼的Linux 0.01版本,次年已經有約1000人在使用Linux瞭。1993年,大約有100名程序員參與瞭Linux內核開發工作,其中核心人員有5名,此時Linux 0.99版本的代碼大約有10萬行,用戶約為10萬人。1994年,Linux加入瞭GNU,成為GNU項目中的一員,同年Linux 1.0版本發布,代碼量大約有17萬行,最早按照完全自由免費的協議發布,用戶可以隨意下載、使用、修改,而不需要通知作者。隨後采用瞭GPL協議,很多開發人員開始將自己的代碼貢獻給核心小組,這也就使得當時的Linux係統對不同硬件都有著極好的支持,大大提高瞭不同平颱間的可移植性。1995年,Linux可以在Intel、Digital等主流處理器上運行,用戶量超過50萬。1996年,Linux 2.0版本發布,並支持多處理器,此時的Linux進入實用階段,用戶量已經達到350萬。1998年,RedHat公司宣布商業支持計劃,迅猛推進瞭Linux的發展,至此Linux正式成為真正的服務器操作係統並繼續成長。
……
怎麼說呢,沒基礎的看不懂,有基礎的看著沒啥進步……我是這麼感覺
評分習慣好評,已經在看瞭,希望京東能一直被信賴
評分學習一下嘍
評分書的內容不錯,確實適用初學者,簡單易懂,但是!!!!
評分linux初學使用參考,可以當字典使用~
評分新手學linux命令的好書,新書包的很好。
評分很好的一本書,至少京東這個活動可以說是很值瞭…
評分還可以 知識點不是那麼全
評分Linux其他都差不多,特彆想學又不感興趣的一門課程。不過書不錯。
Linux係統命令及Shell腳本實踐指南 pdf epub mobi txt 電子書 下載