• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

            Linux有大量的命令行工具,從每天都會(huì)使用的ls、cd以及ps這些工具,到您可能還沒(méi)有使用過(guò),或者甚至沒(méi)有聽(tīng)說(shuō)過(guò)的不常見(jiàn)的工具。

              我們將看一下五個(gè)不常見(jiàn),但可以讓您的使用更輕松的工具。我們會(huì)簡(jiǎn)單地看看每一個(gè)命令及其標(biāo)志和參數(shù),但請(qǐng)不要忘了對(duì)每一個(gè)命令使用man命令,去獲取所有可能的標(biāo)志和參數(shù)信息。

              logsave

              我們將查看的第一個(gè)工具是logsave。logsave命令可以將一個(gè)命令的輸出保存到一個(gè)日志文件中:

              $ logsave /var/log/partsize df –h

              這里,logsave命令將df命令的輸出保存到/var/log/partsize文件中,同時(shí)會(huì)添加一個(gè)時(shí)間戳并將命令的執(zhí)行結(jié)果輸出到標(biāo)準(zhǔn)輸出。

            聽(tīng)起來(lái)并不是那么的有趣,是嗎?logsave特殊的魔力在于,如果文件,在這個(gè)例子中是/var/log/partsize,并不存在,那么 logsave會(huì)在內(nèi)存中將數(shù)據(jù)進(jìn)行排隊(duì),等待該文件的產(chǎn)生。對(duì)于在啟動(dòng)過(guò)程中,當(dāng)您在對(duì)一個(gè)還沒(méi)有掛載上的分區(qū)進(jìn)行寫(xiě)操作時(shí),用logsave去跟蹤命 令的執(zhí)行輸出是非常有用的。為了保存可能會(huì)丟失的命令行輸出,我經(jīng)常在自動(dòng)配置和引導(dǎo)過(guò)程中,使用logsave。

              diff3

            下一個(gè)工具是diff3命令。您可能已經(jīng)使用過(guò)diff命令去生成文件之間的差異。相對(duì)于diff的兩個(gè)文件,diff3可以對(duì)三個(gè)文件執(zhí)行同樣的功 能,但包括diff中的一些更復(fù)雜的選項(xiàng)。讓我們看一個(gè)簡(jiǎn)單的例子。我們有三個(gè)文件:cat、dog以及mouse,它們各自包含一個(gè)字符串。我們可以用 diff3對(duì)所有的三個(gè)文件進(jìn)行比較:

            $ diff3 dog cat mouse
            ====
            1:1c
              This is a dog
            2:1c
              This is a cat
            3:1c
              This is a mouse

              diff3命令顯示了三個(gè)文件中不同的字符串。您也可以用“-”標(biāo)記代表一個(gè)文件。這將會(huì)把標(biāo)準(zhǔn)輸入和其他文件進(jìn)行比較。

              您也可以使用-A標(biāo)記,在所有的文件里面,去合并不同,并對(duì)任何沖突之處進(jìn)行高亮顯示。

            $ diff3 -A dog cat mouse
            1a
            ||||||| cat
            This is a cat
            =======
            This is a mouse
            >>>>>>> mouse
            .
            0a
            <<<<<<< dog
            .

              pstree

            您可能已經(jīng)在您的主機(jī)上,使用過(guò)ps去列出所有的進(jìn)程。但您可能還沒(méi)有聽(tīng)說(shuō)過(guò)pstree——一個(gè)用于以樹(shù)的形式顯示您的進(jìn)程的命令。一個(gè)進(jìn)程或者從 init進(jìn)程,從一個(gè)您可以指定的PID(進(jìn)程ID)分支出來(lái),或者從一個(gè)您可以指定的用戶分支出來(lái)。每一個(gè)進(jìn)程及其子進(jìn)程如下所示:

            pstree命令
             
              pstree命令也包括一些您可以使用的命令行標(biāo)志。比如-a標(biāo)志會(huì)顯示進(jìn)程所使用的命令行,而-p標(biāo)志會(huì)在樹(shù)中添加進(jìn)程的進(jìn)程ID。

              nl

              nl命令很少有人知道,但卻可以執(zhí)行一個(gè)很漂亮的小功能——它在輸出中添加行號(hào)。讓我們看一個(gè)簡(jiǎn)單的例子,對(duì)一個(gè)叫做dog的文件執(zhí)行nl命令。

            $ nl dog
            1 This is a dog
            2 This is not a dog

              您可以看到nl獲取了dog文件的內(nèi)容,并在輸出中添加了行號(hào)。然后,您可以將這些輸出通過(guò)管道放到一個(gè)新文件中。

              $ nl dog > dog_numbered

              然后,我們就可以顯示這個(gè)帶有新的行號(hào)內(nèi)容的文件:

            $ cat dog_numbered
            1 This is a dog
            2 This is not a dog

              split

              我們要看的最后一個(gè)命令是split。split命令通常基于尺寸將文件分割為多個(gè)片段。我使用這個(gè)命令,去將大的日志文件分割為更好管理的日志片段,例如:

              $ split --bytes=1m /tmp/largelogfile /tmp/smallerfile

              split命令有根據(jù)字節(jié)數(shù)和行數(shù)對(duì)文件進(jìn)行分割的參數(shù)。這里,我們通過(guò)指定--bytes=1m參數(shù),將大的日志文件分割為1M字節(jié)的塊(您可以指定b去代表字節(jié),k代表千字節(jié),g代表十億字節(jié))。

              我們可以像這樣根據(jù)行數(shù)對(duì)文件進(jìn)行分割:

              $ split --lines=1000 /tmp/largelogfile /tmp/smallerfile

              這里,文件會(huì)被分為多個(gè)1000行的塊。

            在我們的例子中,會(huì)將每個(gè)塊都存在/tmp目錄下,其文件名會(huì)包含一個(gè)前綴smallerfile。第一個(gè)文件為smallerfileaa,第二個(gè)是 smallerfileab等等。您也可以使用-d標(biāo)記,去使用數(shù)字而不是通過(guò)字母的增長(zhǎng)來(lái)對(duì)塊進(jìn)行計(jì)數(shù)。最后,除了可以指定一個(gè)文件,您也可以使用 “-”去讓split命令以標(biāo)準(zhǔn)輸入為輸入,并分割為獨(dú)立的文件。


            from:
            http://www.searchsv.com.cn/showcontent_31396.htm

            posted on 2010-03-06 11:26 chatler 閱讀(335) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Shell
            <2010年3月>
            28123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(10)

            隨筆分類(lèi)(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺(jué)這個(gè)博客還是不錯(cuò),雖然做的東西和我不大相關(guān),覺(jué)得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久综合狠狠综合久久激情 | 亚洲va久久久噜噜噜久久狠狠| 久久免费小视频| 欧美久久久久久精选9999| 亚洲国产日韩欧美久久| 精品久久久久香蕉网| 国产亚洲美女精品久久久| 综合人妻久久一区二区精品| 久久青青草原国产精品免费| 热99RE久久精品这里都是精品免费| 久久婷婷成人综合色综合| 久久综合久久伊人| 久久久九九有精品国产| 亚洲伊人久久精品影院| 手机看片久久高清国产日韩| 久久久青草青青亚洲国产免观| 久久久久久久久波多野高潮| 久久国产视屏| 久久国产精品久久国产精品| 77777亚洲午夜久久多喷| 国内精品久久久久久麻豆| MM131亚洲国产美女久久| 伊人热热久久原色播放www| 精品国产热久久久福利| 久久国产精品久久国产精品| 久久精品无码专区免费青青| 久久久久久国产精品美女| 久久久久久久免费视频| 青青草原综合久久大伊人导航| 国产精品内射久久久久欢欢| 2021少妇久久久久久久久久| 国产精品一久久香蕉国产线看观看| 亚洲女久久久噜噜噜熟女| 天天躁日日躁狠狠久久| 久久久久人妻一区二区三区vr | 久久精品蜜芽亚洲国产AV| 伊人久久大香线蕉无码麻豆| 伊人久久成人成综合网222| 国产69精品久久久久APP下载 | 久久综合亚洲色一区二区三区| 久久中文精品无码中文字幕|