Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多用戶、多任務、支援多執行緒和多CPU的作業系統。它能運作主要的UNIX工具軟體、應用程式和網路協定。它支援32位和64位硬體。 Linux繼承了Unix以網路為核心的設計思想,是一個效能穩定的多用戶網路作業系統。
使用Linux最酷的部分之一就是隨著時間的推移而不斷獲得新的知識。每天,你可能會遇到一個新的實用工具,或者,是一個不熟悉的標誌,就可以做一些有用的事情。這些小細節可能不會總是改變生活,但它們是專業知識的基石。
即使專家也不知道這一切。不論你有麼豐富的經驗,總會有更多的東西需要學習,所以這裡列出Linux系統你可能還不知道的七件事。
歷史指令有互動模式
#你可能對於Linux系統的指令歷史(history)比較熟悉,這個指令可以提供一個bash輸入指令的標準清單。但是,如果你在很多的「curl」指令中查找特定的URL時,會覺得這個清單不是很好使用。
使用替代,Linux提供了一個互動式反射搜尋功能來幫你對付上面的煩惱。可按下「Crtl r」鍵啟動指令歷史查詢功能,可互動的輸入指令內容,並按下「Crtl r」鍵循環在包含輸入內容的指令歷史中尋找。找到後按回車鍵就可以再次執行,也可以用方向鍵選中,會將指令再次輸入,等待執行。
Cron不是安排任務計畫的唯一方式
cron指令對於任務層級的使用者來說都是極為有用的,無論是初學者還是經驗豐富的專家,都可以使用該指令製訂系統執行的任務計畫。但是如果只訂訂一次的任務,那麼「at」指令就可以讓你在不需要觸碰crontab表的情況下達到目的。
在命令提示字元下輸入「at」並跟隨任務計畫執行時間,命令支援的時間格式很豐富,可以是具體的執行時間以及延遲的時間節點等。以下是一些具體的例子:
“at 12:00 PM September 30 2017”
“at now 1 hour”
“at 9:00 AM tomorrow”
輸入完成後,就可以輸入要執行的任務了。所有任務輸入完成後,另起一行,再按「Ctrl D」後會顯示「EOF」表示輸入完成。現在就完成了一個任務計畫的設定。進一步,你可以使用「atq」指令來查詢自己未執行的任務清單;也可以使用「atrm」加上任務編號來取消任務計畫。
你可以根據功能來尋找指令,不只是根據指令名稱
#記住每個指令名稱可能有些困難,尤其是對於初學者。幸運的是,Linux附帶了一個通功能描述和命令名稱來搜尋的man工具。下次,如果你很難記住你要使用的指令的名稱,你可以試著用一個恰當的描述來找出你想要的指令。例如,關於建立檔案系統會傳回一個清單的名稱和描述工具,包括「biuld」或「filesystem」。現在,你可以輸入“manbuild filesystem”,man工具會根據你的輸入顯示對應的指令。
man會接收一個或多個字串作為參數,但它也有這樣的選項- R,它允許你透過正規表示式搜尋。
一個替代系統允許你管理版本
#如果那曾經參與過軟體開發,那麼你就會知道跨專案版本管理的重要性。許多Linux發行版都有工具來處理內建的不同版本。
可執行檔像java,往往象徵性地連結到/etc/alternative。這個目錄,反過來,符號連結來儲存二進位檔案和提供管理這些連結介面。 java是最常用的語言的替代品,但是有一點的配置,它也可以作為一個應用程式像NVM和RVM置換(例如NodeJS、Ruby)。
在基於Debian的系統,你可以建立和管理這些連結更新方案。在CentOS,工具就是所謂的替代品。透過更改替代文件中的鏈接,你可以安裝多種語言版本,並在不同的情況下使用不同的二進位。當然,這不僅限於程式語言。這個替代系統還支援你可能希望從命令列運行的任何可執行檔。
「shred」指令
#大多數人使用“rm”命令來刪除文件,但是事實上真的把文件刪除了麼?其實系統並未按你預想的那樣做,系統會只是將文件系統同磁碟文件間的硬鏈接刪除。這些「0」和「1」的值在其被另一個應用程式覆蓋前一直存在,系統這種處理方式對於敏感資料來說是非常不安全的。
「shred」指令是「rm」的絕對方式,當你「shred」檔案時,這個檔案的實體資料會隨機覆寫多次。甚至還可以透過選項用一串零在刪除檔案後覆蓋原來的資料。
完全的刪除檔案並用零覆蓋它的命令是:
shred -u -z [file name]
也可以加入一個有一個數字作為參數的n選項,這個選項可讓你指定進行隨機覆寫資料的迭代次數。
輸入長檔案路徑時「自動修正」功能來避免錯誤
#有多少次你輸入了一個絕對檔案路徑,卻得到「沒有這樣的檔案或目錄」訊息?每個人都不想體會面對一長串錯誤路徑的痛苦,幸運的是,Linux有一個簡單的解決方案。
內建的「shopt」指令可讓你設定不同的選項來改變你shell的行為。設定cdspell選項為「on」可以避免一個字母輸入錯誤而造成的令人頭痛檔案路徑問題。你可以使用「shopt-s cdspell」指令來把這個選項啟用。一旦被激活,檔案路徑會自動更正為最接近的匹配當你試圖進入的目錄。
shell選項是節省時間的一種很好的方式(更不用說麻煩了),還有很多其他的選項。要看一個完整的shell選項列表,可以不帶參數來運行shopt。要知道這是bash的一個特徵,所以,如果你使用的是其它shell,可能會不能使用這個指令。
快速返回目前目錄
#如果配置過一個中等程度的複雜系統,那麼你可能發現自己頻繁地更改目錄,很難追蹤你所在的位置。如果運行命令後自動返回當前位置,那不是很好嗎?
Linux實際上提供了一個解決這個問題的方法,它非常簡單。如果進入另一個目錄做某事,然後返回到當前工作目錄,請將命令用括號括起來。這裡有一個例子,你可以自己進行測試。讓你的目前目錄的一個註記,然後執行:
(cd /etc && ls -a)
這就會顯示/etc/目錄的內容而不是你目前目錄的內容。
以上是七個關於Linux系統的秘密,你可能還沒了解的詳細內容。更多資訊請關注PHP中文網其他相關文章!