tft每日頭條

 > 科技

 > linux在所有目錄下查找文件

linux在所有目錄下查找文件

科技 更新时间:2024-11-29 04:52:36

linux在所有目錄下查找文件?我們在使用Linux的時候,難免要在系統中查找某個文件,比如查找xxx配置文件在哪個路徑下、查找xxx格式的文件有哪些等等,下面我們就來聊聊關于linux在所有目錄下查找文件?接下來我們就一起去了解一下吧!

linux在所有目錄下查找文件(如何使用find和locate命令在Linux)1

linux在所有目錄下查找文件

我們在使用Linux的時候,難免要在系統中查找某個文件,比如查找xxx配置文件在哪個路徑下、查找xxx格式的文件有哪些等等。

既然是Linux系統,那麼使用命令行形式去查找肯定是最快最直接的方法,雖然現在有很多連接工具可以提供查找功能,但是歸根到底還是利用了相關查找的命令,那麼今天瑞哥就帶大家來學習一下,如何用命令的形式查找文件。

因為涉及到很多騷操作,大家肯定在工作中沒有全部用到,建議你先收藏本文,用到的時候記得回來查閱。

  • 使用 find 命令在 Linux 中查找文件和目錄
    • 按名稱查找文件
    • 按部分名稱查找文件
    • 按大小查找文件
  • 使用時間戳查找文件
    • 按所有者查找文件
    • 按權限查找文件
    • 按名稱查找目錄
  • 使用 locate 命令在 Linux 中查找文件和目錄
    • 按名稱查找文件
    • 按部分名稱查找文件
    • 限制搜索結果
    • 顯示匹配條目的數量
  • 總結

find命令是 Linux 中最重要和最常用的命令之一。

使用 find 命令在 Linux 中查找文件和目錄

Linux find 命令是一個強大的工具,它使系統管理員能夠根據模糊的搜索條件定位和管理文件和目錄,它支持按文件、文件夾、名稱、創建日期、修改日期、所有者和權限進行搜索。

find 命令用于查找文件和目錄并對其進行後續操作,它遞歸地搜索每個路徑中的文件和目錄,因此,當find命令遇到給定路徑中的目錄時,它會在其中查找其他文件和目錄。

按名稱查找文件

find命令的一般語法是:

find [path] [options] [expression]

讓我們分解一下這個語法:

  • path: 定義 find 将搜索文件的起始目錄。
  • options:控制find 進程的行為和優化方法。
  • expression:此屬性由選項、搜索模式和操作符分隔的操作組成。

find 命令最常見的用途是按文件名搜索文件,-type f 選項告訴系統我們正在尋找一個文件,要使用文件名查找文件,請使用-name 帶有默認命令的 标志。

例如,要搜索wljslmz.ppt 在/home 目錄中命名 的 文件,您可以使用以下命令:

find /home -type f -name wljslmz.ppt

Linux 對文件名區分大小寫,因此如果您要查找名為 的文件Wljslmz.ppt,上面顯示的命令将不會返回任何結果,在這種情況下,您将需要使用該-iname選項而不是-name.

該-iname選項運行不區分大小寫的搜索,因此我們可以這樣做:

find /home -type f -iname wljslmz.ppt

此命令将找到具有以下任何名稱的文件:wljslmz.ppt,Wljslmz.ppt,WLJSLMZ.ppt等。

按部分名稱查找文件

您可以使用文件名元字符,例如星号 *,但您應該在每個字符前放置一個轉義字符\ 或将它們括在引号中。

例如,要查找所有以**.ppt**結尾的文件,您可以運行:

find /home -type f -name '*.ppt'

這與:

find /home -type f -name \*.ppt

同樣,要查找 Linux 系統上名稱以 開頭的所有文件wljslmz,您可以運行:

find /home -type f -name 'wljslmz*'

按大小查找文件

使用 find 命令,我們還可以輕松實現一些看起來很複雜的事情:找到比給定大小更大或更小的文件。

該-size選項上find允許我們搜索特定大小的文件, 和-前綴表示“大于”和“小于”。

下面的示例将搜索所有大于 2 GB 的文件,注意 符号的使用:

find /home -type f -size 2G

在上面的示例中,後綴 G 表示千兆字節,其他後綴:

  • c: 字節。
  • k: 千字節。
  • M: 兆字節。

上述 find 命令用于搜索所有大于指定大小的文件。

find 命令示例将搜索所有小于 100 KB 的文件,注意- 符号的使用:

find /home -type f -size -100k

如何在 Linux 中查找特定大小的文件?

使用以下命令查找大小介于 200 兆字節和 320 兆字節之間的文件:

find /home -type f -size 200M -size -320M

使用時間戳查找文件

Linux 為文件系統中的每個文件分配特定的時間戳,find 命令還可以根據上次修改、訪問或更改時間搜索文件。

-mtime選項用于指定文件存在的天數,表達式可以以兩種方式使用:

  • -mtime N 查找多N 天前修改的文件 (大于)。
  • -mtime -N 查找少于N 幾天前修改的文件 (少于)。

如果您輸入 3,它将查找/etc目錄中超過 4 天的所有文件。

find /etc -type f -mtime 4

查找過去 24 小時内發生更改的所有文件:

find /etc -type f -mtime -1

使用 -mmin N 表達式來依賴分鐘而不是天。

從/etc 上一分鐘修改的目錄中查找所有文件 。

find /etc -type f -mmin -1

可以組合表達式,以下是如何在 Linux 中查找不到 60 分鐘前和超過 30 分鐘前更改過的文件:

find /etc -type f -mmin -60 -mmin 30

按所有者查找文件

要查找特定用戶或組擁有的文件,請使用 -user-group 選項。

例如,要在服務器的/home文件夾中查找用戶wljslmz擁有的文件:

find /home -type f -user wljslmz

www-data在/home目錄中查找屬于某個組的所有文件:

find /home -type f -group www-data

按權限查找文件

-perm 選項允許用戶搜索具有特定權限集的文件。

下面的命令将在當前目錄中查找權限為 777 的文件。

find /home -type f -perm 777

使用該 - 選項意味着“至少設置了這個權限級别,以及任何更高的權限”。

find /home -type f -perm -644

此示例顯示/home目錄中至少具有 644 權限的所有資源,這意味着,與權限的文件,例如777,745,666,655,654,等,将匹配,同時與權限的文件642,611,600,544,等,将不匹配。

按名稱查找目錄

到目前為止,我們看到的所有示例都返回文件,但是,如果您隻需要搜索目錄,則可以使用該 -type d 參數。

換句話說,您可以find通過使用-type d标志(d表示目錄)阻止Linux 中的命令搜索目錄以外的其他文件類型。

查找/opt目錄下名字為app的文件夾:

find /opt -type d -name app

使用 locate 命令在 Linux 中查找文件和目錄

雖然 find 是Linux 中最流行和最強大的用于文件搜索的命令行實用程序之一,但對于需要即時結果的情況來說,它的速度還不夠快。

該locate命令比find命令更快,find因為它使用先前構建的數據庫,而該locate命令實時搜索所有實際目錄和文件。

如果 locate 未安裝,您可以使用 Linux 發行版的包管理器輕松安裝它。

在 Ubuntu 或任何其他 基于Debian的系統上,鍵入以下命令:

sudo apt install mlocate

如果您使用的是 Fedora 或 CentOS,請改用以下命令:

sudo dnf install mlocate

Arch Linux 用戶需要執行:

sudo pacman -S mlocate

在locate 可以使用之前 ,需要創建數據庫,這是通過updatedb 命令完成的,該 命令顧名思義就是更新數據庫。

sudo updatedb

數據庫将每天自動更新,但您也可以随時自行更新,以便獲得最新結果。

按名稱查找文件

locate命令非常易于使用。您所要做的就是将您要搜索的文件名傳遞給它。

locate wljslmz.ppt

就像find命令一樣,locate配置為以區分大小寫的方式處理查詢,要讓locate命令忽略區分大小寫并顯示大寫和小寫查詢的結果,您需要使用該-i選項。

locate -i wljslmz.ppt

按部分名稱查找文件

如果要搜索包含字符串的所有文件名.ppt,則可以使用locate以下方式進行搜索:

locate '*.ppt'

限制搜索結果

您可以使用-n選項返回搜索所需數量的結果,以避免搜索結果出現冗餘 。

例如,如果您隻需要查詢的 20 個結果,則可以鍵入以下命令:

locate -n 20 '*.ppt'

顯示匹配條目的數量

要使用 locate 命令計算文件名或搜索模式的出現次數,請調用-c 選項。

locate -c '*.ppt'

總結

Linux 用戶可以使用兩個最廣泛使用的文件搜索實用命令:findlocate,兩者都是在系統上查找文件的好方法,使用哪個命令還是根據情況來。

本文應該讓您對如何在 Linux 系統上查找文件有一個基本的了解,想要将搜索命令玩的溜,别忘了使用各類參數!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved