linux命令行入門(四) 《The Linux Command Line》

第二十一章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.txt

            join: 類似於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.圖形化打印機催生了postScript

23.2    在Linux下打印            
            當前Linux系統採用兩套軟件配合顯示和管理打印
            1.CUPS
            2.Ghostscript

23.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 | head

24.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    更多的格式技巧
            長選項名稱便於閱讀
            縮進和行繼續符便於閱讀 
            提供可讀性就是提高可維護性                       

                                    
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章