官术网_书友最值得收藏!

2.2 一點哲學

現在,我們來關注一點UNIX(當然也是Linux)的哲學。UNIX架構非常依賴于代碼的高度可重用性。如果你編寫了一個小巧而簡單的工具,其他人就可以將它作為一根鏈條上的某個環節來構成一條命令。Linux讓用戶滿意的原因之一就是它提供了各種各樣的優秀工具。下面是一個簡單的例子:

這個命令使用了ls和more工具并通過管道實現了文件列表的分屏顯示。每個工具就是一個組成部件。通常你可以將許多小巧的腳本程序組合起來以創建一個龐大而復雜的程序。

例如,如果你想打印bash使用手冊的參考副本,可以使用如下命令:

此外,因為Linux具備自動文件類型處理功能,所以使用這些工具的用戶一般不必了解它們是用哪種語言編寫的。如果想要這些工具運行得更快,常見的做法是首先在shell中實現工具的原型,一旦確定值得這么做,然后再用C或C++、Perl、Python或者其他執行得更快速的語言來重新實現它們。相反,如果在shell中這些工具工作得已足夠好,就不必再重新實現它們。

是否需要重新實現腳本程序取決于你是否需要對它進行優化,是否需要將程序移植到其他系統,是否需要讓它更易于修改以及它是否偏離了其最初的設計目的(這種情況經常發生)。


如果你對shell腳本充滿好奇,Linux系統中已經裝有許多的shell腳本例子,包括軟件包安裝程序、.xinitrc和startx文件以及/etc/rc.d目錄中用于啟動時配置系統的腳本程序。

主站蜘蛛池模板: 定西市| 株洲市| 横峰县| 登封市| 肇州县| 莱芜市| 岳阳县| 龙里县| 清水县| 樟树市| 如东县| 哈巴河县| 改则县| 墨竹工卡县| 周口市| 湖北省| 河西区| 黄大仙区| 江陵县| 宁武县| 宣恩县| 农安县| 山阳县| 株洲县| 四子王旗| 阿图什市| 正阳县| 庆城县| 赤城县| 勐海县| 辛集市| 辽宁省| 镇远县| 台中市| 额济纳旗| 文成县| 新余市| 陆河县| 禄劝| 喀喇沁旗| 山丹县|