Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Unix 隱藏神器:5 個鮮為人知但極度實用的命令深度解析

編輯:關於 Linux

Unix/Linux 命令海洋中,除了 ls、grep、find 等高頻主力,仍潛藏著幾個功能強大卻鮮少被提及的工具。本文精選 5 個「隱藏神器」,涵蓋 ASCII 碼表、日曆、十六進制編輯、SSH 進階隧道、Spotlight 索引搜尋,每個都能在特定場景大幅提升效率。

1. man ascii —— 即時查閱完整 ASCII 碼表

man ascii

輸出包含八進制、十六進制、十進制、字符、描述五欄對照表:

Oct  Dec  Hex  Char  Description
000  0    00   NUL   Null character
001  1    01   SOH   Start of Heading
002  2    02   STX   Start of Text
...
040  32   20   SP    Space
041  33   21   !     Exclamation mark
...
176  126  7E   ~     Tilde
177  127  7F   DEL   Delete

實戰場景:編寫協議解析器、串口調試、字符編碼轉換時,無需瀏覽器搜尋,終端即時可得。

2. cal —— 极简終端日曆

cal                    # 當月
cal 2024               # 全年
cal 12 2024            # 指定月份
cal -3                 # 上月、本月、下月三欄
cal -j                 # 顯示儒略日 (年初至今天數)
ncal -w                # 顯示週數 (ISO 8601)

輸出範例:

   August 2013
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

優勢:無圖形介面依賴、SSH 會話中即時可用、可管道輸出給腳本處理。

Unix 隱藏命令示意圖

3. xxd —— 十六進制檢視與編輯瑞士刀

核心功能

  • 二進制 → 十六進制傾印
  • 十六進制 → 二進制還原
  • 生成 C 語言陣列初始化碼
  • 二進制檔案差異比對

常用範例

# 基本傾印 (16 bytes/行,左側位移,右側 ASCII)
xxd somefile.bin

# 指定每行位元組數
xxd -c 32 somefile.bin

# 僅顯示位移與十六進制 (無 ASCII 欄)
xxd -p somefile.bin

# 生成 C 陣列 (嵌入式固件開發必備)
xxd -i firmware.bin > firmware.h
# 輸出:
# unsigned char firmware_bin[] = { 0x6d, 0x61, 0x64, ... };
# unsigned int firmware_bin_len = 14;

進階:手動修補二進制檔案

# 1. 轉為可編輯文本
xxd somefile.bin > somefile.hex

# 2. 用 Vim 編輯十六進制欄 (左側位移不可改)
vim somefile.hex

# 3. 還原為二進制
xxd -r somefile.hex > somefile_patched.bin

比對兩個二進制檔案差異

diff <(xxd file1.bin) <(xxd file2.bin)
# 或
xxd file1.bin > 1.hex && xxd file2.bin > 2.hex && diff -u 1.hex 2.hex

4. ssh —— 遠不止遠程登入的多功能隧道工具

SSH 客戶端內建 5 大進階功能,掌握後可替代多種專用工具:

功能命令範例應用場景
檔案傳輸 (SCP/SFTP)scp file user@host:/path
sftp user@host
加密傳輸、斷點續傳 (sftp)
X11 Forwardingssh -X user@host
ssh -Y user@host (trusted)
遠程運行圖形程式 (Firefox、Wireshark、IDE) 顯示在本地
端口轉發 (隧道)ssh -L 8080:localhost:80 user@host (本地→遠程)
ssh -R 8080:localhost:80 user@host (遠程→本地)
ssh -D 1080 user@host (SOCKS5 代理)
繞過防火牆訪問內網服務、安全訪問公共 WiFi、開發調試內網 API
SSH Agent Forwardingssh -A user@host
配合 ssh-add 載入金鑰
跳板機場景:本地金鑰授權遠程機器,無需複製私鑰
多路復用ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
單一 TCP 連線複用多個 Session,大幅加速批次操作

實戰:SOCKS5 代理安全上網

# 本地建立 SOCKS5 代理監聽 1080
ssh -D 1080 -f -C -q -N user@vps-host
# 瀏覽器/ProxyChains 設定 SOCKS5 127.0.0.1:1080
# 所有流量經 VPS 加密轉發,防竊聽、繞過區域封鎖

5. mdfind (macOS) / locate/recoll (Linux) —— 索引級全文檢索

mdfind 利用 Spotlight 元數據索引,毫秒級搜尋全盤:

mdfind "kMDItemFSName == '*.pdf'"           # 檔名模式
mdfind "kMDItemTextContent == 'quarterly'"  # 全文內容
mdfind -live "kMDItemFSName == 'report'"    # 即時監控新增符合檔案
mdfind -onlyin ~/Projects "TODO"            # 限定目錄

Linux 對應方案:

  • locate (mlocate/plocate) —— 檔名資料庫,updatedb 定期更新
  • recoll —— 全文索引支援 PDF、郵件、Office 文檔,Web 介面查詢
  • tracker (GNOME) —— 系統級索引服務

總結:將隱藏神器納入日常工具箱

  1. man ascii —— 編碼對照零延遲
  2. cal / ncal —— 終端日曆隨叫隨到
  3. xxd —— 二進制檢視、修補、C 陣列生成一條龍
  4. ssh 進階隧道 —— 替代 VPN、代理、X11 轉發、檔案傳輸
  5. mdfind/recoll —— 索引級搜尋告別 find / -name 的漫長等待

這 5 個命令雖不常被教學提及,卻能在關鍵時刻化身效率倍增器,建議逐一實操內化為肌肉記憶。

Copyright © Windows教程網 All Rights Reserved