find 基本應用

find / -name "file.xxx"  #搜尋根目錄
find ~ -name "file.xxx"  #搜尋家目錄

進階

sudo find /etc -type f -exec grep -H "espera/nova/startup" {} \;

可以拆解成幾個部分來詳細說明:


🔍 指令功能總覽

這條指令的目的是在 /etc 目錄下的所有檔案中搜尋包含字串 "espera/nova/startup" 的行,並顯示出檔案名稱與該行內容。


🧩 指令拆解說明

  1. find /etc

    • 這是 find 指令的基本用法,用來在 /etc 目錄下進行搜尋。
    • /etc 是 Linux 系統中儲存設定檔的主要目錄。
  2. -type f

    • 限定搜尋的對象是「檔案(file)」,不包含目錄或其他類型的檔案(如符號連結、裝置檔等)。
  3. -exec grep -H "espera/nova/startup" {} \;

    • -execfind 的選項之一,用來對找到的每個檔案執行指定的指令。
    • grep -H "espera/nova/startup" 是要執行的指令:
      • grep 是用來搜尋文字的工具。
      • -H 表示在輸出結果中顯示檔案名稱(即使只搜尋一個檔案也會顯示)。
      • "espera/nova/startup" 是要搜尋的字串。
    • {}find 中的佔位符,代表目前找到的檔案。
    • \;-exec 的結尾,表示指令結束。

📌 執行結果範例

espera@ESE1011:~$ sudo find /etc -type f -exec grep -H "espera/nova/startup" {} \;
/etc/systemd/system/nova.service:ExecStart=/bin/bash /opt/espera/nova/startup --rtdelay 15 --autogui --auto-resolution   #搜尋結果
espera@ESE1011:~$ sudo systemctl disable nova.service #關閉開機啟動
Removed /etc/systemd/system/default.target.wants/nova.service.
espera@ESE1011:~$ 

✅ 使用情境

這種指令常用於:

  • 搜尋設定檔中是否有某個特定路徑或參數。
  • 偵錯系統設定問題。
  • 確認某個字串是否存在於系統設定中。