如何在 Debian 中查找文件

對於管理員來說,在包含數千個文件的系統上查找數據變得非常困難,尤其是對於不熟悉命令行的系統用戶。 雖然可以通過圖形用戶界面進行搜索,但它在速度和功能方面存在一定的局限性。 命令行提供了使用各種搜索條件快速查找文件的靈活性。 在 Linux 中,您可以使用幾個命令來查找系統上的文件和文件夾。

在本文中,我們將學習如何使用各種命令來查找系統上的文件和文件夾。Debian. 我們將使用以下命令來搜索文件:

  • 查找命令
  • 定位命令
  • grep 命令

請注意,我們使用 Debian 10 和 Debian 11 來運行本文中提到的命令和過程。

使用查找命令

Find 是在系統上查找文件的最有效命令。 即使您不知道文件名,它也很有用,因為它允許您根據各種條件搜索文件,例如文件創建日期、修改日期、權限等。

以下語法可用於使用 Find 命令搜索文件:

                      $ find /path/to/file/ -iname filename
                    

例如,要在 ~/Downloads 目錄中查找名為“license.pdf”的文件,請使用以下命令:

                      $ find ~/Downloads/ -iname license.pdf
                    

請記住,如果您不指定目錄,它將在您當前目錄中查找文件。

使用通配符查找文件

通配符也可用於查找與查詢匹配的文件。

                      $ find /path/to/file/ -iname filename*
                    

例如,要查找目錄中以單詞“test”開頭的所有文件,可以使用以下命令:

                      $ find ~/Downloads -iname test*
                    

查找空文件

要在目錄中查找空文件,請使用以下命令語法:

                      $ find /path/to/file/ -empty
                    

例如,要查找 ~/Downloads 目錄中的所有空文件,將使用以下命令:

                      $ find ~/Downloads/ -empty
                    

根據日期和時間查找文件

您還可以根據訪問或更改文件的時間來搜索文件。 您可以根據以下條件搜索文件:

  • mtime(修改時間,以天為單位)
  • atime(以天為單位的訪問時間)
  • ctime(天數的時間變化)

要查找不到 3 天前修改的文件,請在終端中使用以下命令:

                      $ find /path/to/file -mtime -3
                    

同樣,要查找修改時間超過 3 天的文件,請使用 +3。

要查找不到 3 天前訪問過的文件,請在終端中使用以下命令:

                      $ find /path/to/file -atime -3
                    

要查找不到 3 天前更改的文件,請在終端中使用以下命令:

                      $ find /path/to/file -ctime -3
                    

根據文件大小搜索

要根據大小查找文件,請使用大小開關,後跟文件大小。 要查找大小為 5kb 的文件,請使用:

要查找大小小於 5M 的文件,請使用:

                      $ find /path/to/file -size -5M
                    

要查找大小大於 5M 的文件,請使用:

                      $ find /path/to/file -size +5M
                    

根據文件權限搜索

要搜索具有特定權限的文件,請使用以下語法:

                      $ find /path/to/file/ -type -perm mode
                    

進入d任何一個F在 type 參數之後提到文件類型。(d對於目錄和F對於文件)。 代替模式具有數字(例如,777、655 等)或符號(例如,u=x、a=r+x)權限。

例如,要查找權限為 655 的文件,請在終端中使用以下命令:

                      $ find /path/to/file -type f -perm 777
                    

使用定位命令

另一個 Locate 命令也可用於在 Linux 上搜索文件。 它沒有提供與 Find 命令一樣多的搜索條件,但它比 Find 命令更快、更有效。 它維護自己的數據庫,跟踪添加到系統中的新文件。 因此,每次查找文件時,您都不會在硬盤驅動器上查找它。 相反,它會在自己的數據庫中查找文件。

安裝位置

Locate 沒有預裝在 Linux 發行版上。 您將不得不手動安裝它。 在命令行終端中運行以下命令以安裝 Locate 實用程序。

                      $ sudo apt-get install locate
                    

安裝後,您可以開始使用它來搜索系統上的文件。

以下語法可用於搜索文件:

                      $ locate –i <path/to/file or filename>
                    

-i 用於忽略文件名的大小寫。

搜索文件

例如,要搜索文件名“license”,請在終端中輸入以下命令:

                      $ locate –i license.pdf
                    

搜索多個文件

它還可用於一次搜索多個文件名。 例如,在終端中使用以下命令查找兩個單獨的文件“許可證.pdf”是"測試文件1”同時:

使用通配符搜索

您還可以使用通配符查找與查詢匹配的文件。 例如,要查找所有以“.ttf”結尾的文件,請在終端中使用以下命令:

                      $ locate –i ~/Downloads/*.ttf
                    

更新位置數據庫

locate 命令依賴於它自己的數據庫來工作。 因此,要正常工作,必須定期更新數據庫。 為此,請在終端中運行以下命令:

                      $ sudo updatedb
                    

穿著grep領域

Grep 命令主要用於從與特定模式匹配的文件中打印文本。 但是,您也可以使用它來搜索目錄中的文件。 例如,我們正在尋找一個文件,但我們不知道該文件的名稱。 在這種情況下,我們可以使用它包含的關鍵字搜索您的位置。

                      $ grep OPTIONS PATTERN /path/to/file
                    

在哪裡選項包含一些搜索控制選項和圖案包含我們要搜索的關鍵字。

在以下示例中,我們將使用 grep 查找包含關鍵字“account”的文件。

                      $ grep –r -i “account” ~/Downloads
                    

在哪裡

-i 用於忽略提到的關鍵字的大小寫

-r 用於遞歸搜索指定目錄

在本文中,我們討論了一些在 Debian 系統上查找文件的命令行方法。 您可以使用 GUI 來搜索文件,但命令行在速度和功能方面提供了更高的效率。

如何在 Debian 中查找文件

相關文章