第二十一章21-文本處理
學習用來‘切割’文本的程序
cat:連接文件並打印到標準輸出
sort:給文件行排序
uniq:報告或者忽略重複行
cut:從每行中刪除文本區域
paste:合併文件文本行
join:基於某個字段來連接兩個文件的文本行
comm:逐行比較兩個文件的文本行
diff:逐行比較文件
patch:給原始文件打補丁
tr:翻譯或刪除字符
sed:用於篩選和轉換文本的流編輯器
aspell:交互式拼寫檢查器21.1 文本應用程序
大文檔先用文本格式編輯再用標記語言來描述已完成的文檔格式
sort -k:指定按某一列排序
[seven@localhost ~]$ sort -k 3.1nbr abc.txt
cut -f:抽取一列字段
[seven@localhost ~]$ cut -f 3 abc.txt
paste filename1 filename2:添加一個或多個文本列到文件中
[seven@localhost ~]$ paste name.txt school.txt > student.txtjoin: 類似於paste,通常與關係型數據庫關聯,往文件中添加列
文件中的行得按關鍵字排序21.2 比較文本
comm file1 file2: 第一列是第一個文件獨有的,第二列是第二個文件獨有的,第三列是共有的
[seven@localhost ~]$ comm oldfile.txt newfile.txt
diff file1 file2: 對兩文件差異的描述,描述了更改的位置和類型
[seven@localhost ~]$ diff oldfile.txt newfile.txt
diff -u file1 file2: 上下文模式,會顯示重複的上下文
[seven@localhost ~]$ diff -u oldfile.txt newfile.txt
patch用法,先生成diff文件,diff文件已經在標題行中包含了文件名,所以不必指定修補的目標。
一旦應用了補丁,file1與file2將相匹配。21.3 運行時編輯
tr:用來更改字符基於字符的查找和替換操作,使用時需要兩個字符集參數
[seven@localhost ~]$ echo "lowercase letter" | tr a-z A-Z
LOWERCASE LETTER
sed:流編輯器,給出單個編輯命令或包含多個命令的腳本文件名,sed 中的大多數命令之前
都會帶有一個地址,其指定了輸入流中要被編輯的文本行。如果省略了地址,然後會對輸入流的每一行執行編輯命令。
[seven@localhost ~]$ echo "front" | sed '2s/front/back/'
front
aspell:交互式的拼寫檢查器,檢測拼錯的單詞。 aspell check filename.txt
[seven@localhost ~]$ aspell check abc.txt第二十二章22-格式化輸出
格式化輸出讓文本準備就緒打印
nl-添加行號
fold-限制文件列寬
fmt-一個簡單的文本格式轉換器
pr-讓文本爲打印做好準備
printf-格式化數據並打印出來
groff-一個文件格式系統22.0 簡單的格式工具
1.顯示行號
[seven@localhost 桌面]$ nl foo.txt
1 The quick brown fox jumped over hte lazy dog. was cool.
2 Line 2
3 Line 3
4 Line 4
5 Line 5
2.限制文件列寬
[seven@localhost 桌面]$ cat foo.txt | fold -w 12
The quick br
own fox jump
3.填充並且將文本黏貼在一起並且保留了空白符和縮進
[seven@localhost 桌面]$ fmt -w 50 foo.txt | head
The quick brown fox jumped over hte lazy
dog. was cool. Line 2 Line 3 Line 4 Line 5
第二十三章23-打印
學習用於打印文件和控制打印選項的命令行工具
pr-轉換需要打印的文本文件
lpr-打印文件
lp-打印文件(System V)
a2ps-爲PostScript打印機格式化文件
lpstat-顯示打印機狀態信息
lpq-顯示打印機狀態信息
lprm-取消打印任務
cancel-取消打印任務(System V)23.1 打印簡史
1.早期菊輪打印
2.圖形化打印機催生了postScript23.2 在Linux下打印
當前Linux系統採用兩套軟件配合顯示和管理打印
1.CUPS
2.Ghostscript23.3 爲打印準備文件
pr-轉換需要打印的文本文件 (文本適應頁寬)23.4 將打印任務發送到打印機
CUPS打印體系支持兩種曾用於類Unix系統的打印方式
1.Berkeley或LPD,使用lpr程序
2.System V版本的Unix,使用lp程序23.5 監視和控制打印任務
lpstat-顯示打印系統狀態
lpq-顯示打印機隊列狀態
lprm和cancel-取消打印任務
第二十四章24-編譯程序
爲什麼要編譯軟件
1.可用性
2.及時性make:維護程序的工具
24.1 什麼是編譯?
編譯是把源代碼翻譯成計算機處理器的母語過程
鏈接的過程經常與編譯結合在一起
腳本語言不需要編譯,加快了大程序開發24.2 編譯一個C語言
下載.tar.gz,解壓成文件夾
解壓前先 tar tzvf filename | head24.3 檢查源碼樹
ls命令列出所有文件,
第一步./configure ,檢測是否安裝了必要的外部工具和組件,得到Makefile
第二步 make 結果得到 目標文件
最後一步 usr/local/bin make install 安裝
第二十五章25-編寫第一個Shell腳本
通過我們的工具一起放置到我們自己設計的程序中
shell就會自己來執行這些複雜的任務序列25.1 什麼是Shell腳本
包含一系列命令的文件,shell讀取這個文件並執行25.2 怎樣編寫一個Shell腳本
編寫一個腳本,
chomod使得腳本可執行
把腳本放置到shell能找到的地方25.3 腳本文件格式
文本格式,設置權限爲755,每個人都能執行25.4 腳本文件
PATH 環境變量
~/bin 目錄是存放個人所用腳本的好地方25.5 更多的格式技巧
長選項名稱便於閱讀
縮進和行繼續符便於閱讀
提供可讀性就是提高可維護性
linux命令行入門(四) 《The Linux Command Line》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.