閱讀798 返回首頁    go 京東網上商城


你值得了解的 10 個有趣的 Linux 命令行小技巧

我非常喜歡使用命令,因為它們比 GUI(圖形用戶界麵)應用程序對 Linux 係統提供更多的控製,因此,我一直在尋找一些有趣的方法讓 Linux 的操作變得簡單好玩,主要是基於終端操作。

當我們發現使用 Linux 的新技巧時,尤其是像我這樣的命令行極客,我們總會感到非常來勁。

建議閱讀: 5 有趣的 Linux 命令行技巧 - 第一部分

而且我們也會很想與數百萬 Linux 用戶分享新學到的實踐或命令,特別是那些還在使用自己的方式操作這個令人興奮的操作係統的新手們。

建議閱讀: 10 個對新手有用的 Linux 命令行技巧 - 第二部分

在這篇文章中,我們將回顧一係列有用的命令行小技巧,它們可以顯著地提高你的 Linux 使用技能。

1、 在 Linux 中鎖定或隱藏文件或目錄

鎖定文件或目錄最簡單的方法是使用 Linux 文件權限。如果你是文件或目錄的所有者,你可以阻止其他用戶和組訪問(刪除、讀取、寫入、執行)它,如下所示:


  1. $ chmod 700 tecmint.info
  2. $ chmod go-rwx tecmint.info

想要了解更多有關 Linux 文件權限的內容,請閱讀這篇文章在 Linux 中管理用戶和組,文件權限和屬性

為了實現對係統中的其他用戶隱藏文件或目錄,可以通過在文件或目錄開頭添加 . 的方式重命名:


  1. $ mv filename .tecmint.info

2、 在 Linux 中將 rwx 權限轉為八進製格式

默認情況下,當你運行 ls 命令之後,它會使用 rwx 格式顯示文件權限,為了了解 rwx 格式和八進製格式的等同性,你可以學習如何在 Linux 中將 rwx 權限轉為八進製格式

3、 當 sudo 命令執行失敗時怎麼使用 su 命令

雖然 sudo 命令被用來以超級用戶權限執行命令,但是在某些情況下它也會執行失敗,如下所示。

在這裏,我想清空一個大文件的內容,其文件名為 uptime.log,但是即便我是使用 sudo 命令也執行失敗了。


  1. $ cat /dev/null >/var/log/uptime.log
  2. $ sudo cat /dev/null >/var/log/uptime.log

在 Linux 中清空大文件的內容

在 Linux 中清空大文件的內容

遇到這種情況,你需要使用 su 命令切換到 root 用戶,然後像下麵這樣去執行清空操作:


  1. $ su
  2. $ sudo cat /dev/null >/var/log/uptime.log
  3. $ cat /var/log/uptime.log

切換到超級用戶

切換到超級用戶

嚐試理解 su 和 sudo 之間的區別,另外,通過閱讀它們的手冊頁以了解更多的使用指南:


  1. $ man sudo
  2. $ man su

4、 在 Linux 中結束一個進程

有些時候,當你想使用 kill、killall、pkill 命令結束一個進程時,它們有可能無法生效,你可能會看到該進程仍然還在係統上運行。

如果要強製結束一個進程,可以發送 -KILL 信號給該進程。

首先獲取指定進程 ID,然後像下麵這樣結束該進程:


  1. $ pidof vlc
  2. $ sudo kill -KILL 10279

在 Linux 中查找和結束進程

在 Linux 中查找和結束進程

查看 kill 命令以獲取更多的使用選項和信息。

5、 在 Linux 中永久刪除文件

一般情況下,我們通過使用 rm 命令將文件從 Linux 係統中刪除。然而,這些文件並沒有被真正的刪除,它們仍被存儲在那裏並隱藏在你的硬盤中,其他用戶仍然可以在 Linux 中恢複刪除的文件並查看。

為了防止這種情況發生,我們可以使用 shred 命令來覆寫文件內容,並在覆蓋完成後選擇刪除文件。


  1. $ shred -zvu tecmint.pdf

上述命令中所使用的選項說明:

  1. -z – 最後一次使用 0 進行覆蓋以隱藏覆寫動作。
  2. -u – 覆寫後截斷並移除文件。
  3. -v – 顯示詳細過程。

在 Linux 中永久刪除文件

在 Linux 中永久刪除文件

閱讀 shred 手冊以獲取更多的使用信息。


  1. $ man shred

6、 在 Linux 中重命名多個文件

你可以通過使用 rename 命令隨時在 Linux 中重命名多個文件

rename 命令會根據第一個參數中的規則重命名指定文件。

以下命令會將所有 .pdf 文件重命名為 .doc 文件,使用的規則為 's/\.pdf$/\.doc/'


  1. $ rename -v 's/\.pdf$/\.doc/' *.pdf

在 Linux 中重命名多個文件

在 Linux 中重命名多個文件

在接下來的例子中,我們將通過重命名所有匹配 "*.bak" 的文件來移除其拓展名,使用的規則是's/\e.bak$//'


  1. $ rename -v 's/\e.bak$//' *.bak

7、 在 Linux 中檢查單詞拚寫

look 命令用於顯示文件中以指定字符串為前綴的任意行,同時它也可以幫你檢查命令行中給定單詞的拚寫。盡管它並不是那麼有效和可靠,但它仍然算得上是其他強大的拚寫檢查工具的有用替代品。


  1. $ look linu
  2. $ look docum

在 Linux 中檢查單詞拚寫

在 Linux 中檢查單詞拚寫

8、 按關鍵字搜索手冊頁

man 命令用於顯示命令的手冊頁,當使用 -k 選項時,它會將關鍵字 printf(或者如下命令中的關鍵字 adjustapachephp )作為正則表達式,來搜索所有匹配該名稱手冊頁,並顯示其簡介。


  1. $ man -k adjust
  2. $ man -k apache
  3. $ man -k php

按關鍵字搜索手冊頁

按關鍵字搜索手冊頁

9、 在 Linux 中實時監測日誌

watch 命令可以定期執行另一個 Linux 命令並全屏顯示該命令的執行結果。當 watch 命令與 tail 命令(用於查看文件結尾的 Linux 命令)配合使用時,可以監測到日誌文件的日誌記錄情況。

在以下示例中,你將實時監測係統認證日誌文件。打開兩個終端窗口,在第一個窗口中實時監測該日誌文件,如下:


  1. $ sudo watch tail /var/log/auth.log

你也可以使用 tail 命令(顯示文件結尾的 Linux 命令)的 -f 選項實時監測文件變化。這樣,我們就可以在日誌文件中看到日誌的生成情況。


  1. $ sudo tail -f /var/log/auth.log

接著,在第二個終端窗口中運行以下命令,之後,你就可以在第一個終端窗口中觀察日誌文件內容:


  1. $ sudo mkdir -p /etc/test
  2. $ sudo rm -rf /etc/test

10、 列出所有 Shell 內置命令

shell 內置命令是一個命令或者函數,從內部調用並直接在 shell 裏執行,而不是從硬盤加載外部的可執行程序來執行。

列出所有 shell 內置命令及其語法,執行如下命令:


  1. $ help

作為結束語,命令行小技巧不僅能派得上用場,而且讓學習和使用 Linux 變得更加簡單有趣,尤其是對新手來講。

原文發布時間為:2017-01-15

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-27 10:32:52

  上一篇:go  全球最牛程序員出自哪些學校 中國“神秘”高中排名第二
  下一篇:go  如何在 Shell 腳本中跟蹤調試命令的執行