在本指南中,您將學習如何使用Linux來查找文件或一系列文件。
您可以使用Linux發行版提供的文件管理器來搜索文件。 如果您習慣使用Windows,那麼文件管理器就類似於Windows資源管理器。 它包含一個用戶界面,其中包含一系列文件夾,單擊這些文件夾可以顯示這些文件夾中的子文件夾以及其中包含的任何文件。
大多數文件管理器提供搜索功能和過濾文件列表的方法。
搜索文件的最佳方法是使用Linux命令行,因為搜索文件的方法多於圖形工具可能嘗試包含的方法。
如何打開終端窗口
為了使用Linux命令行搜索文件,您需要打開一個終端窗口。
有很多方法可以打開終端窗口 。 確保在大多數Linux系統上工作的一種方法是同時按下CTRL,ALT和T鍵。 如果無法使用Linux桌面環境中的菜單來查找終端編輯器。
最簡單的方法來查找文件
用於搜索文件的命令稱為find。
以下是查找命令的基本語法。
找
起點是您想要從中開始搜索的文件夾。 要開始搜索整個驅動器,您需要輸入以下內容:
找 /
但是,如果您想要開始搜索您當前所在的文件夾,則可以使用以下語法:
找 。
通常,在搜索時,您將希望按名稱進行搜索,因此,要在整個驅動器中搜索名為myresume.odt的文件,您可以使用以下語法:
找到/ -name myresume.odt
find命令的第一部分顯然是find這個詞。
第二部分是從哪裡開始搜索
下一部分是一個決定要找到什麼的表達式。
最後,最後一部分是要找到的東西的名稱。
從哪裡開始搜索
正如前一節中簡要提到的那樣,您可以選擇文件系統中的任何位置開始搜索。 例如,如果您要搜索當前文件系統,則可以使用句號,如下所示:
找 。 名稱的遊戲
上述命令將在當前文件夾下的所有文件夾中查找名為遊戲的文件或文件夾。 您可以使用pwd命令找到當前文件夾的名稱。
如果你想搜索整個文件系統,那麼你需要從根文件夾開始,如下所示:
找到/ -name遊戲
上述命令返回的結果可能會顯示許多返回結果的權限被拒絕。
您可能需要使用sudo命令提升權限,或使用su命令切換到管理員帳戶。
起始位置可以在字面上位於文件系統的任何位置。 例如,要搜索主文件夾,請鍵入以下內容:
找〜〜名遊戲
代字號是通常用於表示當前用戶的主文件夾的元字符 。
表達式
最常用的表達式是-name。
使用-name表達式可以搜索文件或文件夾的名稱。
但是,您可以使用其他表達式,如下所示:
- -amin n - 該文件最近一次訪問n分鐘前
- -anewer - 該文件最近訪問的時間比修改後的時間更晚
- -atime n - 該文件最近一次被訪問的時間超過n天
- -cmin n - 文件在n分鐘前最後更改
- -cnewer - 該文件最近一次更改的時間比文件被修改的時間更晚
- -ctime n - 該文件最近一次更改時間超過n天
- -empty - 文件為空
- -executable - 文件是可執行的
- 錯誤 - 總是假的
- -fstype類型 - 該文件位於指定的文件系統上
- -gid n - 文件屬於ID為n的組
- -group groupname - 文件屬於指定的組
- - 名稱模式 - 搜索符號行但忽略大小寫
- -iname模式 - 搜索文件但忽略大小寫
- -inum n - 搜索具有指定節點的文件
- -ipath路徑 - 搜索路徑但忽略大小寫
- -iregex表達式 - 搜索表達式,但忽略大小寫
- - 鏈接n - 搜索具有指定鏈接數量的文件
- -lname名稱 - 搜索符號鏈接
- -mmin n - 文件的數據是在n分鐘前最後修改的
- -mtime n - 文件的數據在n天前最後修改
- -name名稱 - 搜索具有指定名稱的文件
- - 更新名稱 - 搜索最近編輯的文件,而不是最近編輯的文件
- -nogroup - 搜索沒有組ID的文件
- - 用戶 - 搜索沒有用戶附加的文件
- - 路徑路徑 - 搜索路徑
- - 可讀 - 找到可讀的文件
- -regex模式 - 搜索匹配正則表達式的文件
- 類型 - 搜索特定類型
- -uid uid - 文件數字用戶標識與uid相同
- 用戶名 - 文件由用戶指定
- - 可寫 - 搜索可寫入的文件
如何查找訪問超過特定天數的文件
想像一下,您想要在100天前訪問您的主文件夾中的所有文件。 如果要備份和刪除不經常訪問的舊文件,可能需要執行此操作。
為了做到這一點,運行以下命令:
找到〜-atime 100
如何查找空文件和文件夾
如果您想查找系統中的所有空文件和文件夾,請使用以下命令:
find / -empty
如何查找所有可執行文件
如果您想在計算機上查找所有可執行文件,請使用以下命令:
找到/ -exec
如何查找所有可讀文件
要查找所有可讀的文件,請使用以下命令:
找/讀
模式
當你搜索一個文件時,你可以使用一個模式。 例如,也許你正在搜索擴展mp3的所有文件。
您可以使用以下模式:
找到/ -name * .mp3
如何從查找命令發送輸出到文件
find命令的主要問題是它有時會返回太多的結果以便一次查看。
您可以將輸出傳輸到tail命令,或者可以將行輸出到文件,如下所示:
找到/ -name * .mp3 -fprint nameoffiletoprintto
如何查找並執行針對文件的命令
想像一下你想要同時搜索和編輯文件。
您可以使用以下命令:
find / -name filename -exec nano'{}'\;
上述命令搜索名為filename的文件,然後為其找到的文件運行nano編輯器 。
概要
find命令非常強大。 本指南演示瞭如何搜索文件,但有大量的選項可用,並且要了解所有這些選項,您應該查看Linux手冊。
您可以通過在終端中運行以下命令來執行此操作:
男人找到