• <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狠狠久久蜜臀婷色中文网| 久久久久97国产精华液好用吗| 91久久成人免费| 久久综合综合久久狠狠狠97色88| 精品国产青草久久久久福利| 伊人久久综合精品无码AV专区| 久久婷婷五月综合色高清| 国产高清国内精品福利99久久| 久久精品免费全国观看国产| www性久久久com| 欧美色综合久久久久久| 国产韩国精品一区二区三区久久| 久久91精品国产91久| 久久夜色精品国产亚洲av| 精品永久久福利一区二区| 久久久久久亚洲精品无码| 人妻丰满AV无码久久不卡| 久久午夜无码鲁丝片午夜精品| 亚洲国产欧洲综合997久久| 热99RE久久精品这里都是精品免费| 99精品国产在热久久| 国产69精品久久久久9999APGF| 爱做久久久久久| 69国产成人综合久久精品| 色欲久久久天天天综合网精品 | 国产精品久久久久久久久久免费| 久久精品国产亚洲AV忘忧草18| 色播久久人人爽人人爽人人片AV| 国产高潮国产高潮久久久91 | 色婷婷综合久久久久中文字幕| 久久99国产精品一区二区| 99久久成人国产精品免费| 无码人妻久久久一区二区三区| 亚洲欧美精品一区久久中文字幕| 婷婷国产天堂久久综合五月| 久久人人超碰精品CAOPOREN| 99久久国产综合精品网成人影院| 国产一区二区三区久久| 久久精品人人做人人爽电影| 久久精品国产精品国产精品污| 久久精品中文闷骚内射|