新聞中心
使用 Linux 最酷的事情之一就是隨著時間的推移,你可以不斷獲得新的知識。每天,你都可能會遇到一個新的實用工具,或者只是一個不太熟悉的奇技淫巧,但是卻非常有用。這些零碎的東西并不總是能夠改變生活,但是卻是專業(yè)知識的基礎(chǔ)。

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十余年品質(zhì),值得信賴!
即使是專家,也不可能事事皆知。無論你有多少經(jīng)驗,可能總會有更多的東西需要你去學(xué)習(xí)。所以,在這兒我列出了七件關(guān)于 Linux 你可能不知道的事情。
一個查找命令歷史的交互模式
?你可能對 ??history ??命令??非常熟悉,它會讀取 bash 歷史,然后以編號列表的方式輸出到標(biāo)準(zhǔn)輸出(stdout)。 然而,如果你在 ??curl ??命令的海洋里尋找一個特定的鏈接(URL),那么這個列表并不總是那么容易閱讀的。?
?你還可以有另一個選擇,Linux 有一個交互式的反向搜索可以幫助你解決這個問題。 你可以通過快捷鍵 ??ctrl+r??啟動交互模式,然后進入一個交互提示中,它將會根據(jù)你提供的字符串來向后搜索 bash 歷史,你可以通過再次按下 ctrl+r 向后搜索更老的命令,或者按下 ??ctrl+s?? 向前搜索。?
?注意,??ctrl+s?? 有時會與 XON/XOFF 流控制沖突,即 XON/XOFF 流控制也會使用該快捷鍵。 你可以通過運行 ??stty -ixon?? 命令來禁用該快捷鍵。 在你的個人電腦上,這通常是有用的,但是在禁用前,確保你不需要 XON/XOFF 。?
Cron 不是安排任務(wù)的唯一方式
?Cron 任務(wù)對于任何水平的系統(tǒng)管理員,無論是毫無經(jīng)驗的初學(xué)者,還是經(jīng)驗豐富的專家來說,都是非常有用的。 但是,如果你需要安排一個一次性的任務(wù),那么 at 命令為你提供了一個快捷的方式來創(chuàng)建任務(wù),從而你不需要接觸 crontab 。?
?at 命令的運行方式是在后面緊跟著你想要運行任務(wù)的運行時間。 時間是靈活的,因為它支持許多時間格式。 包括下面這些例子:?
at 12:00 PM September 30 2017
at now + 1 hour
at 9:00 AM tomorrow
?當(dāng)你以帶參數(shù)的方式輸入 at 命令以后,將會提示你該命令將在你的 Linux 系統(tǒng)上運行。 這可能是一個備份??腳本??,一套維護任務(wù),或者甚至是一個普通的 bash 命令。 如果要結(jié)束任務(wù),可以按 ctrl+d 。?
?另外,你可以使用 atq 命令查看當(dāng)前用戶的所有任務(wù),或者使用 sudo atq 查看所有用戶的任務(wù)。 它將會展示出所有排定好的任務(wù),并且每個任務(wù)都伴有一個 ID 。 如果你想取消一個排定好的任務(wù),可以使用 atrm 命令,并且以任務(wù) ID 作為參數(shù)。?
你可以按照功能搜索命令,而不僅僅是通過名字
?記住命令的名字非常困難,特別是對于初學(xué)者來說。 幸運的是,Linux 附帶了一個通過名字和描述來搜索 man 頁面的工具。?
?下次,如果你沒有記住你想要使用的工具的名稱,你可以嘗試使用 apropos 命令加上你想要干的事情的描述。 比如,apropos build filesystem 將會返回一系列名字和描述包括了 “build” 和 “filesystem” 單詞的工具。?
apropos 命令接受一個或多個字符串作為參數(shù),但同時它也有其他參數(shù),比如你可以使用 -r 參數(shù),從而通過正則表達(dá)式來搜索。
一個允許你來管理系統(tǒng)版本的替代系統(tǒng)
?如果你曾進行過軟件開發(fā),你就會明白跨項目管理不同版本的語言的支持的重要性。 許多 Linux 發(fā)行版都有工具可以來處理不同的內(nèi)建版本。?
?可執(zhí)行文件比如 java 往往符號鏈接到目錄 /etc/alternatives 下。 反過來,該目錄會將符號鏈接存儲為二進制文件并提供一個管理這些鏈接的接口。 Java 可能是替代系統(tǒng)最常管理的語言,但是,經(jīng)過一些配置,它也可以作為其他應(yīng)用程序替代品,比如 NVM 和 RVM (NVM 和 RVM 分別是 NodeJS 和 Ruby 的版本管理器)。?
?在基于 Debian 的系統(tǒng)中,你可以使用 update-alternatives 命令創(chuàng)建和管理這些鏈接。 在 ??CentOS?? 中,這個工具就叫做 alternatives 。 通過更改你的 alternatives 文件中的鏈接,你便可以安裝一個語言的多個版本,并且在不同的情況下使用不同的二進制。 這個替代系統(tǒng)也提供了對任何你可能在命令行運行的程序的支持。?
shred 命令是更加安全的刪除文件方式
?我們大多數(shù)時候總是使用 rm 命令來刪除文件。 但是文件去哪兒了呢? 真相是 rm 命令所做的事情并不是像你所想像的那樣,它僅僅刪除了文件系統(tǒng)和硬盤上的數(shù)據(jù)的硬鏈接。 硬盤上的數(shù)據(jù)依舊存在,直到被另一個應(yīng)用重寫覆蓋。 對于非常敏感的數(shù)據(jù)來說,這會帶來一個很大的安全隱患。?
?shred 命令是 rm 命令的升級版。 當(dāng)你使用 shred 命令刪除一個文件之后,文件中的數(shù)據(jù)會被多次隨機覆寫。 甚至有一個選項可以在隨機覆寫之后對所有的數(shù)據(jù)進行清零。?
如果你想安全的刪除一個文件并且以零覆蓋,那么可以使用下面的命令:
shred -u -z [file name]
同時,你也可以使用 -n 選項和一個數(shù)字作為參數(shù),從而指定在隨機覆蓋數(shù)據(jù)的時候迭代多少次。
通過自動更正來避免輸入很長的無效文件路徑
?有多少次,你輸入一個文件的絕對路徑,然而卻看到“沒有該文件或目錄”的消息。 任何人都會明白輸入一個很長的字符串的痛苦。 幸運的是,有一個很簡單的解決辦法。?
?內(nèi)建的 shopt 命令允許你設(shè)置不同的選項來改變 ??shell?? 的行為。 設(shè)置 cdspell 選項是避免輸入文件路徑時一個字母出錯的頭痛的一個簡單方式。 你可以通過運行 shopt -s cdspell 命令來啟用該選項。 啟用該選項后,當(dāng)你想要切換目錄時,會自動更正為最匹配的目錄。?
?Shell 選項是節(jié)省時間的一個好方法(更不用說減少麻煩),此外還有許許多多的其他選項。 如果想查看你的系統(tǒng)中所有選項的完整列表,可以運行不帶參數(shù)的 shopt 命令。 需要注意的是,這是 bash 的特性,如果你運行 zsh 或者其他可供選擇的 shell,可能無法使用。?
通過子 shell 返回到當(dāng)前目錄
?如果你曾經(jīng)配置過一個比較復(fù)雜的系統(tǒng),那么你可能會發(fā)現(xiàn)你需要頻繁的更換目錄,從而很難跟蹤你所在的位置。 如果在運行完一個命令后自動返回到當(dāng)前位置,不是很好嗎??
?Linux 系統(tǒng)實際上提供了一個解決該問題的方法,并且非常簡單。 如果你想通過 cd 命令進入另一個目錄完成一些任務(wù),然后再返回當(dāng)前工作目錄,那么你可以將命令置于括號中。 你可以在你的 Linux 系統(tǒng)上嘗試下面這個命令。 記住你當(dāng)前的工作目錄,然后運行:?
(cd /etc && ls -a)
?該命令會輸出 /etc 目錄的內(nèi)容。 現(xiàn)在,檢查你的當(dāng)前工作目錄。 它和執(zhí)行該命令前的目錄一樣,而不是 /etc 目錄。?
?它是如何工作的呢? 運行一個括號中的命令會創(chuàng)建一個子 shell 或一個當(dāng)前 shell 進程的復(fù)刻副本。 該子 shell 可以訪問所有的父變量,反之則不行。 所以請記住,你是在運行一個非常復(fù)雜的單行命令。?
在并行處理中經(jīng)常使用子 shell ,但是在命令行中,它也能為你帶來同樣的力量,從而使你在瀏覽文件系統(tǒng)時更加容易。
新聞標(biāo)題:Linux中非常實用的小技巧
文章來源:http://m.5511xx.com/article/ccdjhog.html


咨詢
建站咨詢
