• <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有大量的命令行工具,從每天都會使用的ls、cd以及ps這些工具,到您可能還沒有使用過,或者甚至沒有聽說過的不常見的工具。

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

              logsave

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

              $ logsave /var/log/partsize df –h

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

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

              diff3

            下一個工具是diff3命令。您可能已經(jīng)使用過diff命令去生成文件之間的差異。相對于diff的兩個文件,diff3可以對三個文件執(zhí)行同樣的功 能,但包括diff中的一些更復(fù)雜的選項。讓我們看一個簡單的例子。我們有三個文件:cat、dog以及mouse,它們各自包含一個字符串。我們可以用 diff3對所有的三個文件進(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命令顯示了三個文件中不同的字符串。您也可以用“-”標(biāo)記代表一個文件。這將會把標(biāo)準(zhǔn)輸入和其他文件進(jìn)行比較。

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

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

              pstree

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

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

              nl

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

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

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

              $ nl dog > dog_numbered

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

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

              split

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

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

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

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

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

              這里,文件會被分為多個1000行的塊。

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


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

            posted on 2010-03-06 11:26 chatler 閱讀(340) 評論(0)  編輯 收藏 引用 所屬分類: Shell
            <2010年1月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

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

            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

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久亚洲精品无码aⅴ大香| 国产精品久久精品| 99精品国产免费久久久久久下载| 久久亚洲国产成人精品无码区| 国产精品丝袜久久久久久不卡| 久久夜色撩人精品国产| 久久国产亚洲精品| 久久青青草原国产精品免费| 亚洲欧美成人久久综合中文网| 久久久久久曰本AV免费免费| 久久这里都是精品| 精品午夜久久福利大片| 久久久久久久综合日本亚洲| 欧美久久综合九色综合| 国产成人精品免费久久久久| 久久精品亚洲男人的天堂| 色综合久久久久综合体桃花网| 99久久无码一区人妻| 精品国产青草久久久久福利| 精品无码久久久久久午夜| 欧美精品一本久久男人的天堂| 99久久精品国产一区二区| 久久亚洲高清综合| 亚洲精品无码久久久久久| 国产99精品久久| 久久精品三级视频| 少妇久久久久久被弄高潮| 精品久久久久久无码专区不卡| 国产精品久久久天天影视香蕉| 伊人久久大香线蕉精品不卡| 色88久久久久高潮综合影院| 91精品婷婷国产综合久久| 伊人情人综合成人久久网小说| 久久精品无码专区免费东京热| 国产精品九九久久免费视频 | 国产韩国精品一区二区三区久久| 久久久久国产精品| 波多野结衣AV无码久久一区| 久久精品一区二区三区不卡| 久久久国产99久久国产一| 伊人久久综合热线大杳蕉下载|