開源新聞教程短文資訊

如何在 Ubuntu 22.04或20.04終端中搜索文件

如何在 Ubuntu 22.04 或 20.04 終端中搜索文件

在 Ubuntu 命令終端中查找和查找文件的各種方法及其命令示例。

如果您在 Ubuntu 的圖形桌面上,則使用其文件管理器查找文件並不是一項困難的任務,但是如何在僅支持 CLI 的命令行伺服器上執行相同的操作呢?為此,Ubuntu 提供了一個內置的命令行工具「find」,除此之外還有其他開源工具,例如 Locate,在這裡我們也會討論。這些類似命令的工具允許用戶高效地搜索文件。我們可以使用它們根據某些標準(如名稱或文件擴展名)搜索特定文件。

1:使用「find」命令搜索文件

默認情況下,所有 Ubuntu Linux 系統都可以使用「find」命令直接在終端中搜索文件。我們甚至可以定義不同的標準,例如名稱、類型、大小和修改時間。

要使用它,請切換到要搜索的文件所在的目錄,或者在命令中聲明要搜索「find」命令的路徑。

例如:

在當前目錄中搜索

find -name your-file-name

而要在不切換到任何文件夾的情況下搜索,我們必須在命令中聲明文件所在的目錄路徑。

語法:

find /path/to/search -name "your-filename"

將「/path/to/search」替換為您要開始搜索的目錄,「your-filename」替換為您要搜索的文件的名稱、模式或擴展名。

例如,如果要在終端中搜索文件,例如當前目錄及其子目錄中的「example.txt」,請使用:

find -name "example.txt"

而如果您不知道確切的文件名,但知道它正在使用的擴展名,則可以使用通配符列出所有這些文件:

示例:它將列出您正在搜索的具有.txt 擴展名的目錄中的所有文件。

find -name "*.txt"

2:使用「find」命令及其附加選項

為了更好地使用「find」命令,我們可以使用附加選項來精細化 Ubuntu 終端中的搜索結果。以下是一些常用的選項:

/path/to/search替換為文件所在的目錄路徑,或者如果您在文件可用的同一目錄中,則將其刪除。

按文件類型搜索:

find /path/to/search -type file_type

/path/to/search替換為想要開始搜索的目錄,file_type可以是以下之一:

f:常規文件 d:目錄 l:符號鏈接 b:塊設備 c:字元設備 s:套接字 p:命名管道(FIFO)

示例:

搜索常規文件:

要在當前目錄及其子目錄中搜索常規文件(排除目錄、符號鏈接等),請使用以下命令:

find -type f

搜索目錄:

如果您只想在當前位置查找目錄,則可以使用以下命令:

find -type d

搜索符號鏈接:

要在特定目錄中搜索符號鏈接,請使用以下命令:

find /usr/local -type l

此命令將在/usr/local目錄中搜索符號鏈接。

搜索塊設備:

如果要查找塊設備(例如硬碟或分區),可以使用以下命令:

find /dev -type b

此命令將在/dev目錄中搜索塊設備。

搜索字元設備:

如果要查找字元設備(例如印表機或串列埠),可以使用以下命令:

find /dev -type c

此命令將在/dev目錄中搜索字元設備。

搜索套接字:

如果要查找套接字文件,則可以使用以下命令:

find / -type s

此命令將在根目錄中搜索套接字文件。

搜索命名管道(FIFO):

如果要查找命名管道或 FIFO,則可以使用以下命令:

find / -type p

此命令將在根目錄中搜索命名管道或 FIFO。

按文件大小搜索:

我們可以使用以下選項按照文件大小搜索文件

find /path/to/search -size [+-]size[ckMeg]

/path/to/search替換為要在其中搜索文件的目錄路徑,「**size**」是要搜索的文件的大小(以位元組為單位),而「[+-]」可以是以下之一:

+:大於指定大小 -:小於指定大小

ckMeg」是可選的後綴,用於指定大小的單位。例如:

c:位元組 k:千位元組(KB) M:兆位元組(MB) G:千兆位元組(GB)

示例:

以下是按文件大小搜索的示例命令。

搜索大於指定大小的文件:

要在當前目錄及其子目錄中搜索大於 100MB 的文件,請使用以下命令:

find -size +100M

搜索小於指定大小的文件:

要在當前目錄及其子目錄中搜索小於 100MB 的文件,請使用以下命令:

find -size -100M

搜索指定大小的文件:

要在當前目錄及其子目錄中搜索大小為 100MB 的文件,請使用以下命令:

find -size 100M

按時間搜索(修改時間、訪問時間、更改時間、狀態時間):

除了按文件名和大小搜索文件之外,我們還可以按文件的時間戳搜索文件。有以下四個時間戳:

  • mtime:文件的修改時間戳(文件內容修改)
  • atime:文件的訪問時間戳(最後一次訪問文件的時間)
  • ctime:文件的更改時間戳(文件內容或元數據的修改)
  • crtime:文件的狀態時間戳(文件創建時間)

使用以下命令按時間搜索文件:

find /path/to/search -time [+-]n[unit]

/path/to/search替換為要在其中搜索文件的目錄路徑,「**n**」是要搜索的時間量,「[+-]」可以是以下之一:

+:更大的時間 -:更小的時間

unit」是可選的後綴,用於指定時間單位。以下是可用的時間單位:

s:秒 m:分鐘 h:小時 d:天

示例:

以下是按時間搜索的示例命令。

搜索在最近 7 天內修改的文件:

要在當前目錄及其子目錄中搜索最近 7 天內修改的文件,請使用以下命令:

find -type f -mtime -7

搜索在最近 24 小時內訪問的文件:

要在當前目錄及其子目錄中搜索最近 24 小時內訪問的文件,請使用以下命令:

find -type f -atime -1

搜索在最近 30 分鐘被更改的文件:

要在當前目錄及其子目錄中搜索最近 30 分鐘內更改的文件,請使用以下命令:

find -type f -cmin -30

搜索在最近 1 小時內創建的文件:

要在當前目錄及其子目錄中搜索最近 1 小時內創建的文件,請使用以下命令:

find -type f -crtime -1h

3:使用「locate」命令搜索文件

「locate」命令是另一個用於在 Ubuntu 終端中搜索文件的工具。它比「find」命令更快,因為它會在系統上創建一個索引資料庫,並且在搜索時只需要查找該資料庫即可。但是,這也意味著它可能會錯過最近創建或修改的文件,因為資料庫可能不是最新的。

要使用「locate」命令搜索文件,請使用以下命令:

locate filename

其中「filename」是您要搜索的文件名稱、模式或擴展名。

示例:

以下是使用「locate」命令搜索文件的示例命令。

搜索文件:

要在系統中搜索文件,請使用以下命令:

locate example.txt

搜索具有指定擴展名的文件:

如果要列出具有指定擴展名的所有文件,請使用以下命令:

locate "*.txt"

請注意,使用通配符時需要將文件名放在引號中。

結論

無論您是在命令行伺服器上工作還是在 Ubuntu 桌面上工作,使用「find」和「locate」命令搜索文件都是非常有用的技能。它們可以幫助您快速找到特定文件,並在需要時對其進行操作。在學習這些命令時,請記住使用選項可以幫助您更好地控制搜索結果。

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0

You may also like

Leave a reply

您的郵箱地址不會被公開。 必填項已用 * 標註

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

More in:開源新聞