可是使用linux的用戶就沒有那麼幸運了,在Linux上查找某個文件確實是一件比較麻煩的事情。畢竟在Linux中需要我們使用專用的“查找”命令來尋找在硬盤上的文件。Linux下的文件表達格式非常復雜,不象WINDOWS,DOS下都是統一的AAAAAAA.BBB格式那麼方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者後綴就非常容易查找到。Linux中查找文件的命令通常為“find”命令,“find”命令能幫助我們在使用,管理Linux的日常事務中方便的查找出我們需要的文件。對於Linux新手來說,“find”命令也是了解和學習Linux文件特點的方法。因為Linux發行版本繁多,版本升級很快,在Linux書籍上往往寫明某個配置文件的所在位置,往往Linux新手按圖索骥還是不能找到。比如說REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盤位置和文件目錄就有了很大的改變,如果不學會使用“find”命令,那麼在成千上萬的Linux文件中要找到其中的一個配置文件是相當困難的,筆者在沒有精通“find”命令之前就吃過這樣的苦頭。好,下面就詳細為大家介紹強大的“find”命令的全部使用方法和用途。
根據文件的特征查詢方法:
如果只知道某個文件的大小,修改日期等特征也可以使用“find”命令查找出來,這和WINDOWS系統中的"搜索"功能是基本相同的。在微軟的"搜索"中WINDOWS中的"搜索助理"使得搜索文件和文件夾、打印機、用戶以及網絡中的其他計算機更加容易。它甚至使在Internet 上搜索更加容易。"搜索助理"還包括一個索引服務,該服務維護了計算機中所有文件的索引,使得搜索速度更快。使用"搜索助理"時,用戶可以指定多個搜索標准。例如,用戶可以按名稱、類型及大小搜索文件和文件夾。用戶甚至可以搜索包含特定文本的文件。如果用戶正使用 Active Directory,這時還可以搜索帶有特定名稱或位置的打印機。
下面的列表就是對find命令所可以指定文件的特征進行查找的部分條件。在這裡並沒有列舉所有的查找條件,參考有關linux有關書籍可以知道所有find命令的查找函數。
-amin n
查找系統中最後N分鐘訪問的文件
-atime n
查找系統中最後n*24小時訪問的文件
-cmin n
查找系統中最後N分鐘被改變狀態的文件
-ctime n
查找系統中最後n*24小時被改變狀態的文件
-empty
查找系統中空白的文件,或空白的文件目錄,或目錄中沒有子目錄的文件夾
-false
查找系統中總是錯誤的文件
-fstype type
查找系統中存在於指定文件系統的文件,例如:ext2 .
-gid n
查找系統中文件數字組 ID 為 n的文件
-group gname
查找系統中文件屬於gnam文件組,並且指定組和ID的文件
-maxdepth選項的作用就是限制find命令在目錄中按照遞減方式查找文件的時候搜索文件超過某個級別或者搜索過多的目錄,這樣導致查找速度變慢,查找花費的時間過多。例如,我們要在當前(.)目錄技巧子目錄中查找一個名叫fred的文件,我們可以使用如下命令
find . -maxdepth 2 -name fred
假如這個fred文件在./sub1/fred目錄中,那麼這個命令就會直接定位這個文件,查找很容易成功。假如,這個文件在./sub1/sub2/fred目錄中,那麼這個命令就無法查找到。因為前面已經給find命令在目錄中最大的查詢目錄級別為2,只能查找2層目錄下的文件。這樣做的目的就是為了讓find命令更加精確的定位文件,如果你已經知道了某個文件大概所在的文件目錄級數,那麼加入-maxdepth n 就很快的能在指定目錄中查找成功。