你值得了解10個(gè)有趣的Linux命令行小技巧
我非常喜歡使用命令,因?yàn)樗鼈儽?GUI(圖形用戶界面)應(yīng)用程序?qū)?Linux 系統(tǒng)提供更多的控制,因此,我一直在尋找一些有趣的方法讓 Linux 的操作變得簡(jiǎn)單好玩,主要是基于終端操作。
當(dāng)我們發(fā)現(xiàn)使用 Linux 的新技巧時(shí),尤其是像我這樣的命令行極客,我們總會(huì)感到非常來勁。
而且我們也會(huì)很想與數(shù)百萬 Linux 用戶分享新學(xué)到的實(shí)踐或命令,特別是那些還在使用自己的方式操作這個(gè)令人興奮的操作系統(tǒng)的新手們。
在這篇文章中,我們將回顧一系列有用的命令行小技巧,它們可以顯著地提高你的 Linux 使用技能。
1、 在 Linux 中鎖定或隱藏文件或目錄
鎖定文件或目錄最簡(jiǎn)單的方法是使用 Linux 文件權(quán)限。如果你是文件或目錄的所有者,你可以阻止其他用戶和組訪問(刪除、讀取、寫入、執(zhí)行)它,如下所示:
- $ chmod 700 tecmint.info或$ chmod go-rwx tecmint.info
想要了解更多有關(guān) Linux 文件權(quán)限的內(nèi)容,請(qǐng)閱讀這篇文章在 Linux 中管理用戶和組,文件權(quán)限和屬性[5]。
為了實(shí)現(xiàn)對(duì)系統(tǒng)中的其他用戶隱藏文件或目錄,可以通過在文件或目錄開頭添加 . 的方式重命名:
- $ mv filename .tecmint.info
2、 在 Linux 中將 rwx 權(quán)限轉(zhuǎn)為八進(jìn)制格式
默認(rèn)情況下,當(dāng)你運(yùn)行 ls 命令[6]之后,它會(huì)使用 rwx 格式顯示文件權(quán)限,為了了解 rwx 格式和八進(jìn)制格式的等同性,你可以學(xué)習(xí)如何在 Linux 中將 rwx 權(quán)限轉(zhuǎn)為八進(jìn)制格式[7]。
3、 當(dāng) sudo 命令執(zhí)行失敗時(shí)怎么使用 su 命令
雖然 sudo 命令[8]被用來以超級(jí)用戶權(quán)限執(zhí)行命令,但是在某些情況下它也會(huì)執(zhí)行失敗,如下所示。
在這里,我想清空一個(gè)大文件的內(nèi)容[9],其文件名為 uptime.log,但是即便我是使用 sudo 命令也執(zhí)行失敗了。
- $ cat /dev/null >/var/log/uptime.log$ sudo cat /dev/null >/var/log/uptime.log
遇到這種情況,你需要使用 su 命令切換到 root 用戶,然后像下面這樣去執(zhí)行清空操作:
- $ su$ sudo cat /dev/null >/var/log/uptime.log$ cat /var/log/uptime.log
嘗試?yán)斫?su 和 sudo 之間的區(qū)別[10],另外,通過閱讀它們的手冊(cè)頁以了解更多的使用指南:
- $ man sudo$ man su
4、 在 Linux 中結(jié)束一個(gè)進(jìn)程
有些時(shí)候,當(dāng)你想使用 kill、killall、pkill 命令結(jié)束一個(gè)進(jìn)程[11]時(shí),它們有可能無法生效,你可能會(huì)看到該進(jìn)程仍然還在系統(tǒng)上運(yùn)行。
如果要強(qiáng)制結(jié)束一個(gè)進(jìn)程,可以發(fā)送 -KILL 信號(hào)給該進(jìn)程。
首先獲取指定進(jìn)程 ID[12],然后像下面這樣結(jié)束該進(jìn)程:
- $ pidof vlc$ sudo kill -KILL 10279
查看 kill 命令[13]以獲取更多的使用選項(xiàng)和信息。
5、 在 Linux 中***刪除文件
一般情況下,我們通過使用 rm 命令將文件從 Linux 系統(tǒng)中刪除。然而,這些文件并沒有被真正的刪除,它們?nèi)员淮鎯?chǔ)在那里并隱藏在你的硬盤中,其他用戶仍然可以在 Linux 中恢復(fù)刪除的文件[14]并查看。
為了防止這種情況發(fā)生,我們可以使用 shred 命令來覆寫文件內(nèi)容,并在覆蓋完成后選擇刪除文件。
- $ shred -zvu tecmint.pdf
上述命令中所使用的選項(xiàng)說明:
- -z – ***一次使用 0 進(jìn)行覆蓋以隱藏覆寫動(dòng)作。
- -u – 覆寫后截?cái)嗖⒁瞥募?/li>
- -v – 顯示詳細(xì)過程。
閱讀 shred 手冊(cè)以獲取更多的使用信息。
- $ man shred
6、 在 Linux 中重命名多個(gè)文件
你可以通過使用 rename 命令隨時(shí)在 Linux 中重命名多個(gè)文件[15]。
rename 命令會(huì)根據(jù)***個(gè)參數(shù)中的規(guī)則重命名指定文件。
以下命令會(huì)將所有 .pdf 文件重命名為 .doc 文件,使用的規(guī)則為 's/\.pdf$/\.doc/':
- $ rename -v 's/\.pdf$/\.doc/' *.pdf
在接下來的例子中,我們將通過重命名所有匹配 "*.bak" 的文件來移除其拓展名,使用的規(guī)則是 's/\e.bak$//':
- $ rename -v 's/\e.bak$//' *.bak
7、 在 Linux 中檢查單詞拼寫
look 命令用于顯示文件中以指定字符串為前綴的任意行,同時(shí)它也可以幫你檢查命令行中給定單詞的拼寫。盡管它并不是那么有效和可靠,但它仍然算得上是其他強(qiáng)大的拼寫檢查工具的有用替代品。
- $ look linu$ look docum
8、 按關(guān)鍵字搜索手冊(cè)頁
man 命令用于顯示命令的手冊(cè)頁,當(dāng)使用 -k 選項(xiàng)時(shí),它會(huì)將關(guān)鍵字 printf(或者如下命令中的關(guān)鍵字 adjust、apache、php )作為正則表達(dá)式,來搜索所有匹配該名稱手冊(cè)頁,并顯示其簡(jiǎn)介。
- $ man -k adjust$ man -k apache$ man -k php
9、 在 Linux 中實(shí)時(shí)監(jiān)測(cè)日志
watch 命令可以定期執(zhí)行另一個(gè) Linux 命令[16]并全屏顯示該命令的執(zhí)行結(jié)果。當(dāng) watch 命令與 tail 命令[17](用于查看文件結(jié)尾的 Linux 命令)配合使用時(shí),可以監(jiān)測(cè)到日志文件的日志記錄情況。
在以下示例中,你將實(shí)時(shí)監(jiān)測(cè)系統(tǒng)認(rèn)證日志文件。打開兩個(gè)終端窗口,在***個(gè)窗口中實(shí)時(shí)監(jiān)測(cè)該日志文件,如下:
- $ sudo watch tail /var/log/auth.log
你也可以使用 tail 命令[18](顯示文件結(jié)尾的 Linux 命令)的 -f 選項(xiàng)實(shí)時(shí)監(jiān)測(cè)文件變化。這樣,我們就可以在日志文件中看到日志的生成情況。
- $ sudo tail -f /var/log/auth.log
接著,在第二個(gè)終端窗口中運(yùn)行以下命令,之后,你就可以在***個(gè)終端窗口中觀察日志文件內(nèi)容:
- $ sudo mkdir -p /etc/test$ sudo rm -rf /etc/test
10、 列出所有 Shell 內(nèi)置命令
shell 內(nèi)置命令是一個(gè)命令或者函數(shù),從內(nèi)部調(diào)用并直接在 shell 里執(zhí)行,而不是從硬盤加載外部的可執(zhí)行程序來執(zhí)行。
列出所有 shell 內(nèi)置命令及其語法,執(zhí)行如下命令:
- $ help
作為結(jié)束語,命令行小技巧[19]不僅能派得上用場(chǎng),而且讓學(xué)習(xí)和使用 Linux 變得更加簡(jiǎn)單有趣,尤其是對(duì)新手來講。