在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Linux基礎命令之: Linux常用命令

            Linux基礎命令之: Linux常用命令

            作者: 時間:2013-09-13 來源:網(wǎng)絡 收藏

            本文引用地址:http://www.biyoush.com/article/257158.htm

            2.1.4文件比較合并相關命令

            1.diff

            (1)作用。

            比較兩個不同的文件或不同目錄下的兩個同名文件功能,并生成補丁文件。

            (2)格式。

            diff[選項]文件1文件2

            diff比較文件1和文件2的不同之處,并按照選項所指定的格式加以輸出。diff的格式分為命令格式和上下文格式,其中上下文格式又包括了舊版上下文格式和新版上下文格式,命令格式分為標準命令格式、簡單命令格式及混合命令格式,它們之間的區(qū)別會在使用實例中進行詳細講解。當選項缺省時,diff默認使用混合命令格式。

            (3)主要參數(shù)。

            diff主要選項參數(shù)如表2.26所示。

            表2.26 diff命令常見參數(shù)列表

            選項

            參數(shù)含義

            -r

            對目錄進行遞歸處理

            -q

            只報告文件是否有不同,不輸出結果

            -e,-ed

            命令格式

            -f

            RCS(修訂控制系統(tǒng))命令簡單格式

            -c,--context

            舊版上下文格式

            -u,--unified

            新版上下文格式

            -Z

            調用compress來壓縮歸檔文件,與-x聯(lián)用時調用compress完成解壓縮

            (4)使用實例。

            以下有兩個文件hello1.c和hello2.c。

            /*hello1.c*/

            #includestdio.h>

            voidmain()

            {

            printf(Hello!Thisismyhome!n);

            }

            /*hello2.c*/

            #includestdio.h>

            voidmain()

            {

            printf(Hello!Thisisyourhome!n);

            }

            以下實例主要講解了各種不同格式的比較和補丁文件的創(chuàng)建方法。

            ①主要格式比較。

            首先使用舊版上下文格式進行比較。

            [root@localhostdavid]#diff-chello1.chello2.c

            ***hello1.cSatJan1416:24:512006

            ---hello2.cSatJan1416:54:412006

            ***************

            ***1,5****

            #includestdio.h>

            voidmain()

            {

            !printf(Hello!Thisismyhome!n);

            }

            ---1,5----

            #includestdio.h>

            voidmain()

            {

            !printf(Hello!Thisisyourhome!n);

            }

            可以看出,用舊版上下文格式進行輸出時,在顯示每個有差別行的同時還顯示該行的上下3行,區(qū)別的地方用“!”加以標出,由于示例程序較短,上下3行已經(jīng)包含了全部代碼。

            接著使用新版的上下文格式進行比較。

            [root@localhostdavid]#diff-uhello1.chello2.c

            ---hello1.cSatJan1416:24:512006

            +++hello2.cSatJan1416:54:412006

            @@-1,5+1,5@@

            #includestdio.h>

            voidmain()

            {

            -printf(Hello!Thisismyhome!n);

            +printf(Hello!Thisisyourhome!n);

            }

            可以看出,在新版上下文格式輸出時,僅把兩個文件的不同之處分別列出,而相同之處沒有重復列出,這樣大大方便了用戶的閱讀。

            接下來使用命令格式進行比較。

            [root@localhostdavid]#diff-ehello1.chello2.c

            4c

            printf(Hello!Thisisyourhome!n);

            可以看出,命令符格式輸出時僅輸出了不同的行,其中命令符“4c”中的數(shù)字表示行編號,字母的含義為:a表示添加,b表示刪除,c表示更改。因此,-e選項的命令符表示:若要把hello1.c變?yōu)閔ello2.c,就需要把hello1.c的第4行改為顯示出的“printf(“Hello!Thisisyourhome!n”);”。

            選項“-f”和選項“-e”顯示的內容基本相同,就是數(shù)字和字母的順序相交換了,從以下的輸出結果可以看出。

            [root@localhostdavid]#diff-fhello1.chello2.c

            c4

            printf(Hello!Thisisyourhome!n);

            在diff選項缺省的情況下,輸出結果如下所示。

            [root@localhostdavid]#diffhello1.chello2.c

            4c4

            printf(Hello!Thisismyhome!n);

            ---

            >printf(Hello!Thisisyourhome!n);

            可以看出,diff缺省情況下的輸出格式充分顯示了如何將hello1.c轉化為hello2.c,即通過“4c4”實現(xiàn)。

            ②創(chuàng)建補丁文件(也就是差異文件)是diff的功能之一,不同的選項格式可以生成與之相對應的補丁文件,如下面扔例子所示。

            [root@localhostdavid]#diffhello1.chello2.c>hello.patch

            [root@localhostdavid]#vihello.patch

            4c4

            printf(Hello!Thisismyhome!n);

            ---

            >printf(Hello!Thisisyourhome!n);

            可以看出,使用缺省選項創(chuàng)建補丁文件的內容和前面使用缺省選項的輸出內容是一樣的。

            小知識

            上例中所使用的”>“是輸出重定向。通常在上執(zhí)行一個shell命令行時,會自動打開3個標準文件:標準輸入文件(stdin),即通常對應終端的鍵盤;標準輸出文件(stdout)和標準錯誤輸出文件(stderr),前兩個文件都對應終端的屏幕。進程將從標準輸入文件中得到輸入數(shù)據(jù),并且將正常輸出數(shù)據(jù)輸出到標準輸出文件,而將錯誤信息送到標準錯誤文件中。這就是通常使用的標準輸入/輸出方式。

            直接使用標準輸入/輸出文件存在以下問題:首先,用戶輸入的數(shù)據(jù)只能使用一次。當下次希望再次使用這些數(shù)據(jù)時就不得不重新輸入。同樣,用戶對輸出信息不能做更多的處理,只能等待程序的結束。

            為了解決上述問題,系統(tǒng)為輸入、輸出的信息傳送引入了兩種方式:輸入/輸出重定向機制和管道(在1.3.1的小知識中已有介紹)。其中,輸入重定向是指把命令(或可執(zhí)行程序)的標準輸入重定向到指定的文件中。也就是說,輸入可以不來自鍵盤,而來自一個指定的文件。同樣,輸出重定向是指把命令(或可執(zhí)行程序)的標準輸出或標準錯誤輸出重新定向到指定文件中。這樣,該命令的輸出就可以不顯示在屏幕上,而是寫入到指定文件中。就如上述例子中所用到的把“diffhello1.chello2.c”的結果重定向到hello.patch文件中。這就大大增加了輸入/輸出的靈活性。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


            評論


            相關推薦

            技術專區(qū)

            關閉