Linux大棚命令百篇(上)—— 檔案和文本篇

Linux大棚命令百篇(上)—— 檔案和文本篇

《Linux大棚命令百篇(上)—— 檔案和文本篇》是2016年7月電子工業出版社出版的圖書,作者是吳鵬沖、楊文強、張昱。

基本介紹

  • 書名:Linux大棚命令百篇(上)—— 檔案和文本篇
  • 作者:吳鵬沖、楊文強、張昱
  • ISBN:978-7-121-29375-7
  • 頁數:236頁
  • 定價:55.00元
  • 出版社電子工業出版社
  • 出版時間:2016年7月
內容簡介,編輯推薦,內容提要,目錄,精彩節摘,前言,

內容簡介

《Linux大棚命令百篇(上)—— 檔案和文本篇》打破了市面上主流Linux命令書籍的寫作風格,創新性地以專題文章和系列文章的形式來組織全書,文風輕鬆通順、循序漸進,既適合作為系統學習的案頭書,也適合在床頭邊、捷運上、院落中閱讀。

編輯推薦

(1)場景化介紹,更貼近真實情況
(2)語言表達喜聞樂見,易於閱讀
(3)採用系列教程方式,循序漸進,輕鬆易懂

內容提要

《Linux大棚命令百篇(上)—— 檔案和文本篇》打破了市面上主流Linux命令書籍的寫作風格,創新性地以專題文章和系列文章的形式來組織全書,文風輕鬆通順、循序漸進,既適合作為系統學習的案頭書,也適合在床頭邊、捷運上、院落中閱讀。
《Linux大棚命令百篇(上)—— 檔案和文本篇》是這套系列叢書的第1本,內容側重在Shell基礎和檔案操作方面。為了體現知識的結構化、系統化,《Linux大棚命令百篇(上)—— 檔案和文本篇》共分為三篇。
第一篇 Shell基礎及工具篇
這一部分專注在Shell的通用命令和工具上,主要介紹了Linux工程師最常使用的Shell命令和工具,諸如控制變數作用範圍的export命令、查看歷史命令的history命令、用於讀取用戶輸入的read命令、便於多視窗操作的tmux工具,等等。
第二篇 檔案和磁碟篇
這一部分專注在檔案操作和磁碟查看上,主要介紹了Linux工程師常用的命令,包括檔案搜尋命令find、檔案元信息查看命令file、創建連結檔案的命令ln、壓縮命令gzip/bzip/zip,等等。
第三篇 文本處理篇
這一部分專注在文本內容的處理上。作者精心挑選出其中最為常用的文本處理類命令,並詳盡介紹了它們的使用方法和技巧,諸如為文本上色的echo命令、文本搜尋工具grep、流處理工具sed、文本處理利器awk、排序命令sort、內容加密系列工具,等等。
學習完《Linux大棚命令百篇(上)—— 檔案和文本篇》後,相信讀者朋友們可以輕鬆而愉快地掌握Linux基礎命令、檔案及磁碟操作、文本內容處理的知識和技能,並達到一線網際網路公司Linux工程師的水平。

目錄

Shell 基礎及工具篇 ......................................................................... 1
1 今天的主角是Shell .................................................................................. 2
2 用chsh 來改變Shell ................................................................................. 8
3 export 將環境變數昭告天下 ................................................................... 11
4 read,傾聽是一種美德 .......................................................................... 17
5 expr,一款多功能計算器 ...................................................................... 24
6 tmux 給你帶來多視窗的享受 ................................................................ 26
7 用alias 起個暱稱吧 ................................................................................ 33
8 history 是歷史的鏡子 ............................................................................. 40
9 xargs 絕對的護花使者 ............................................................................ 46
10 time,你最懂時間 .................................................................................. 51
11 sleep,睡眠也有學問 ............................................................................. 57
檔案和磁碟篇 ................................................................................ 60
1 file 命令探尋檔案信息 ........................................................................... 61
2 ln 連線你我他 ......................................................................................... 66
3 find 命令上篇——find 初體驗 ............................................................... 72
4 find 命令下篇——find 引出的正則知識 ............................................... 83
5 du 最了解磁碟占用 ................................................................................ 91
6 壓縮系列之一——gzip ......................................................................... 100
7 壓縮系列之二——bzip2 ....................................................................... 107
8 壓縮系列之三——zip ............................................................................ 111
9 dd 造出最大的黑洞 ............................................................................... 114
文本處理篇 ................................................................................. 119
1 echo 命令上篇——幫你發聲,替你歌唱 ........................................... 121
2 echo 命令下篇——讓世界充滿色彩 ................................................... 126
3 搜尋三兄弟grep、egrep 和fgrep ........................................................ 131
4 sed 的流藝術之一——初體驗 ............................................................. 139
5 sed 的流藝術之二——花樣命令 ......................................................... 141
6 sed 的流藝術之三——露幾手 ............................................................. 144
7 sed 的流藝術之四——插入和控制 ..................................................... 147
8 awk 是三兄弟系列之一——入門 ........................................................ 152
9 awk 是三兄弟系列之二——多行操作 ................................................ 157
10 awk 是三兄弟系列之三——多檔案操作 ............................................ 161
11 awk 是三兄弟系列之四——外部調用 ................................................ 166
12 awk 是三兄弟系列之五——實戰 ........................................................ 171
13 cut 是修剪小能手 ................................................................................. 176
14 wc 幫你計算字數 .................................................................................. 184
15 split 是拆分小能手 ............................................................................... 188
16 paste 用來拼接 ...................................................................................... 192
17 sort 命令上篇——sort 幫你排序 .......................................................... 196
18 sort 命令下篇——關於k 選項的大討論 ............................................. 201
19 Vi 中的替換藝術 ................................................................................... 208
20 加密工具全家桶 ................................................................................... 212
致謝 ............................................................................................ 219

精彩節摘

推薦序1
日月如梭,自1991 年10 月Linus Torvalds 發布第一版Linux 作業系統以來,經過25 年的歷程,這個基於自由和開放原始碼模式的作業系統已經日益發展壯大。從嵌入式系統、智慧型手機和平板電腦、個人計算機、網路伺服器、雲計算到高性能超級計算系統,到處可以看到它的身影。據Gartner 等國際機構的統計,作為作業系統的重要成員,Linux 在各類作業系統中所占的比重越來越大。
人們說Linux 是個類似UNIX 的多用戶、多任務作業系統,是說Linux 繼承了很多UNIX 的優秀特性,具備了模組化的設計,其進程控制、檔案系統、外部設備、網路功能、安全管理以及各種功能齊全和強大的工具軟體,可以方便地控制計算機系統完成各種操作,具備了免費和開源特性的Linux 作業系統隨著網際網路在各個領域的發展,得到了更加快速的普及套用。從1996 年起就支持IPv6 協定的Linux 對推進下一代網際網路的部署發揮了重要作用。
Linux 作業系統得到迅猛的發展,這與Linux 具有的良好特性是分不開的,包括免費和開放特性、多用戶多任務處理能力、方便靈活且功能強大的的Shell 命令、豐富靈活的多種網路通信命令、可靠的系統安全措施、對多種多樣外部設備的支持,以及良好的可移植性。
要想使用好Linux 作業系統,充分發揮它的能力,就要學習好Linux 的使用方法。現有關於Linux 的書籍已經出版了很多,但這本書是非常有特色的一本。作者運用十分幽默風趣的語言,從Shell 命令開始,介紹了檔案編輯與內容處理,檔案的查找、壓縮與硬碟管理,網路相關命令,進程與性能調優,Linux 系統管理等各種命令的使用方法和技巧。
無論是初學者學習使用Linux,還是開發者或系統管理員作為常用工具手冊,這本書都是十分值得擁有的。一本好的入門教材會讓初學者快速領悟到Linux 系統的基本使用方法,掌握常用的Linux 操作命令。如果僅僅依靠系統自帶的man 命令,往往會令初學者感到雲遮霧罩,不明所以。而對Linux 系統管理員來講,本書對網路命令、系統調優等命令的介紹,可以使你對這些命令及其顯示結果有更深入的理解。書中還列舉了很多Linux 發展歷史中的趣味小故事,使讀者在掌握Linux 使用方法的同時,也調節了心情,增加了樂趣。
正像篇首所說,日月如梭,Linux 已經面世二十五年啦。本書的作者從進入我們研究室學習到畢業工作,也已經十年了。應作者的邀請,作為本書的首批讀者,我懷著興奮的心情一邊瀏覽著各個篇章,一邊回憶著這些年來網際網路的發展,以及他們的成長曆程。他們有多年的工程實踐經驗,在大型網路公司掌管著上千台Linux 集群伺服器的運行與維護工作,積累了豐富的Linux 使用經驗和技巧。我誠摯推薦讀者來閱讀本書,也期待著他們能為讀者帶來更多的新作。
馬嚴
北京郵電大學網路技術研究院教授、博士生導師
推薦序2
技術,一直是驅動社會不斷進步和發展的主要動力。從蒸汽時代、電力時代到今天的資訊時代,技術始終是推進社會發展的第一生產力。放眼未來,網際網路+正推動網際網路與社會各行業深度融合,人工智慧、雲計算、物聯網、自動駕駛技術蓬勃發展,人類正在經歷著第四次全球性科技革命。而我們有幸身處其中,掌握新時代核心技術的人才已經成為這輪洪洪巨流的推動者。
Linux,自從1991 年發布至今,對計算機技術,網際網路行業產生了巨大的推動作用。網際網路時代,Linux 無處不在,占據了全球絕大部分的伺服器份額。這與Linux 作業系統本身的高度開放性、高可定製性、高可用性等是密不可分的。百度等眾多中國網際網路企業的技術體系都是基於Linux 作業系統構建的,熟練掌握並精通Linux 技術,是網際網路技術從業者的必備技能和核心競爭力之一。
無論是在校學生還是已入職場的工程師,學習並掌握Linux 系統技術,需要一個邊學習邊實踐的過程,並在解決實際問題中融會貫通。在國內網際網路技術發展的早期,Linux 優質資料稀缺、套用場景匱乏,國內工程師只能借鑑國外資料,學習梯度極高,全行業嚴重缺少高水平的系統管理人才,與國外同業差距明顯。時至今日,中國網際網路的蓬勃發展領先全球,國內也逐漸培養出一批具備先進實戰經驗的Linux 系統人才,他們或掌管著中國網際網路的基礎設施,或運營著大規模集群,或構建出複雜的系統架構,或已經成為行業級系統架構師等領軍人物。國內完全有條件誕生一部既有Linux 基礎又有經典實踐經驗的優秀著作,幫助讀者快速地汲取經驗,成為專家。
鵬沖曾在百度運維部磨練七年,先後擔任垂直搜尋運維團隊技術負責人,全百度統一監控平台產品負責人等重要崗位,在Linux 系統和集群管理方面擁有著深厚的技術積累和實踐經驗。這套關於Linux 命令進階的叢書是他多年積累的經驗輸出。我有幸比廣大讀者更早閱讀了本書,整個閱讀體驗順暢,對於Linux 常用命令的講解力求深入淺出,並將實際套用中需要掌握的技術點講解得相當透徹。對於從事或有志於從事網際網路技術工作的讀者,這本書將幫助大家從實用的角度學習和積累。
我推薦各位Linux 技術從業者閱讀和學習,相信這會是一個正確的選擇。
李碩
百度運維部總監

前言

北郵七年學習,百度七年工作,讓我經歷了很多,思考了很多,也收穫了很多。
知乎是我很喜歡的一個問答社區,“×××是一種怎樣的體驗?”“如何評價×××?”早已成為時下最流行的提問姿勢。
所以呢,我會嘗試著模仿知乎的提問風格,和大家分享我的五點思考和體會:
1.這本書為什麼值得讀?
2.為什麼建議大家寫部落格?
3.如何進行知識管理?
4.如何學好Linux?
5.在百度運維部工作是一種怎樣的體驗?
【這本書為什麼值得讀?】
雖然有種老王賣瓜的感覺,但我還是鼓起勇氣,希望能用三個足夠客觀的理由吸引到你。
(1)聚焦專題:以專題和系列文章的形式來講解知識,是本書的一大特點。讀者可以在一段較短的時間內,聚焦在一個命令的學習上,集中精力實現進階。
(2)貼近實戰:書中內容全部來自於作者長期從事大規模Linux 集群運維的經驗總結,確保了本書的實用性。通過閱讀本書,讀者的Linux 命令掌握水平可以更快地達到一線網際網路公司Linux 工程師的水平。
(3)易於閱讀:作者長期在“Linux 大棚”從事技術博文的寫作,善於用簡單的語言、清晰的文章結構來解釋複雜晦澀的概念和知識,讓用戶可以非常順暢地閱讀和理解。
【為什麼建議大家寫部落格?】
我在2008 年9 月創立了Linux 大棚部落格,一直堅持寫作至今。我和大家分享寫作的四點好處:
第一,覺得懂未必懂。寫作是自我反省、自我提升的一個過程。不把知識落成文字,你就不會發現你掌握著許多模稜兩可和模糊不清的知識。
第二,讓別人懂才是真的懂。寫作正是在強迫你給別人講懂知識。在寫作過程中,
你需要思考應該先講哪些知識,後講哪些知識,需要思考應該通過哪些場景引出哪些知識,需要思考應該如何做知識的類比。這些技巧看似容易,實則並不容易。第三,看似浪費時間,實則節省時間。知識總會遺忘,但有實驗證明閱讀自己寫過的知識,可以更快地重新掌握。所以,為了節省時間,請多寫作。
第四,交到朋友還能出書。通過部落格寫作,可以吸引到不少志同道合的朋友,可以和他們一起交流一起進步。如果文章內容還不錯,說不準會有出版社的編輯聯繫你出書喔。
【如何進行知識管理?】
每個人都有自己的一套知識管理的方法,而我只是拋磚引玉。
按照知識的規模分,我將知識分成三種類型:
(1)小型知識:往往是一句話或一個段落就能說清的知識,如技術牛人介紹、一個技術名詞的解釋、一個命令的使用技巧等。
(2)中型知識:需要一篇文章,甚至一個系列的文章才能介紹清楚的知識,如一個命令的完整用法、幾種資料庫技術的比對和選型等。
(3)大型知識:需要一本書或多本書才能講解清楚的知識,如Linux 系統、MySQL資料庫技術等。
按照知識的公開度分,我把知識分成兩類:
(1)願意公開的:比如一些公共知識,不含個人信息,也不含保密信息的。
(2)不願意公開的:比如一些含有保密信息的知識,一些自己的隨筆等。
而基於這兩種分類方法,我一般會採用不同的手段,管理不同的知識:
(1)小型知識、願意公開:微博(比如“Linux 大棚”官方微博);
(2)中型知識、願意公開:部落格(比如“Linux 大棚”技術部落格);
(3)大型知識、願意公開:書籍(比如這本書);
(4)小型知識、不願公開:雲筆記;
(5)中大型知識、不願公開:本地World 文檔、自建私有Wiki。
你會發現大部分的知識,都可以對應到上面的分類中。
當然,知識管理和減肥是一個道理,知易行難,一定要堅持養成知識管理的習慣,長此以往,才能受益。
【如何學好Linux?】
從我的個人學習經歷來看,“系統學習+實踐+寫作+交流分享”是學習Linux 技術的一套有效的組合拳。
系統學習,即通過優秀的書籍、培訓視頻、培訓課程等方式來系統地學習Linux系統。
實踐,即真正到Linux 環境中去學習、去工作,去主動解決問題。我在學習Linux之初,就在筆記本中完整安裝了Fedora 系統、Ubuntu 系統、Debian 系統和FreeBSD系統,來強迫自己在Linux 環境中辦公和娛樂。
寫作,就是要養成寫文章的習慣,把自己覺得模糊的知識點寫成可發表的文章,這時候,你會發現,很多細節知識,你都要反覆思考和查證,這個過程,就是進階的過程。
交流分享,建議去結識一些Linux 技術的高手和專家,他們的一些經驗和體會,或許能讓你事半功倍。
【在百度運維部工作是一種怎樣的體驗?】
據我所掌握的信息來看,百度運維部應該是國內承擔著超大規模Linux 伺服器運維任務的少數團隊之一,Linux 伺服器規模達數十萬。
由於規模效應的影響,在這裡工作,即便是發生機率為0.1%%的BUG,都可能會
每天發生。所以,在這裡工作的運維工程師要面臨的問題和挑戰,將是國內同行所很少碰到的,當然,據此而積累的經驗和鍛鍊的解決問題的能力,也是國內頂尖的。
在百度的技術體系中,運維部處於研發部和系統部之間,研發部負責百度產品的開發工作,系統部負責作業系統、伺服器、網路、機房等設施,而運維部則負責作業系統及上面運行的服務,確保服務的高可用性,同時不斷地提升效率,降低成本。
就拿我曾負責的百度視頻產品運維來說,運維工程師首先要確保的是服務的可用性,也就是要確保全國網民都可以訪問到百度視頻服務;其次,要通過CDN、快取等多種技術手段不斷提升網民訪問網站的速度,提升網站訪問體驗;再者,需要更準確地監控到線上故障,更快速地實現模組升級、更可靠地實現故障自動化處理;最後,就是要追求更少的機器成本、更低的頻寬成本、更少的人力投入來實現同樣質量的運維服務。
有人會說做運維工作很辛苦,其實我想說,作為七年運維人,我一直相信,運維是架構師的必備技能之一,不具備運維經驗和視野的人,是很難設計出優秀的架構的。不經一番寒徹骨,怎得梅花撲鼻香。
這篇自序,包含了幾個方面的信息,都是我希望和大家分享的,也相信是大家所希望了解的。好了,如果大家對其中的哪些內容感興趣,歡迎與我聯繫,我們深入溝通。下面的時間,就交給大家,來好好閱讀這本書吧!

相關詞條

熱門詞條

聯絡我們