Linux 基礎——檔案搜尋命令find,linux搜尋命令find
一、find命令的好處
有時會經常在目錄下找檔案或目錄的具體存放在哪,但是該目錄下的檔案又很多不好找出。這時並不需要手動查看所有的檔案,用find命令來協助尋找就行了。所以檔案或目錄一定歸好類,存放有序,這樣找起來會方便許多。如果遇到網路高峰期,盡量少用find命令,網路高峰期尋找會慢許多。
二、find命令格式及常用命令
命令格式:
find [dest_dir] [options] pattern
參數說明:
(1)[dest_dir]:指定的目錄,如果不寫則在目前的目錄。
(2)[options]:比如-name、-size、-type等等,如果不寫則尋找指定目錄下所有的檔案或目錄。
(3)pattern:匹配模式,可以使用*或?
常用命令:
find [dest_dir] -name pattern:在指定目錄下根據名字來尋找指定匹配模式的所有檔案或目錄,嚴格區分大小寫。
find [dest_dir] -iname pattern:在指定目錄下根據名字來尋找指定匹配模式並忽略大小寫所有檔案或目錄。
find [dest_dir] -size -n:在指定目錄下尋找檔案大小在n之內的所有檔案。Linux尋找時是根據資料區塊來找的,在Linux中一個資料區塊的大小是512B即0.5K,如果要尋找10MB(10MB=10×1024B=10240B=20480個資料區塊)大小的檔案,即命令寫成find /temp -size -20480。
find [dest_dir] -size +n:在指定目錄下尋找檔案大小超過n的所有檔案。
find [dest_dir] -type f:在指定目錄下尋找所有的檔案。
find [dest_dir] -type d:在指定目錄下尋找所有的目錄。
find [dest_dir] -type l:在指定目錄下尋找所有的軟連結。
find [dest_dir] -amin -n:在指定目錄下尋找n分鐘之內被修改過訪問時間的檔案或目錄,其中a是access。
find [dest_dir] -amin +n:在指定目錄下尋找超過n分鐘被修改過訪問時間的檔案或目錄,其中a是access。
find [dest_dir] -cmin -n:在指定目錄下尋找n分鐘之內被修改過屬性的檔案或目錄,其中c是change。
find [dest_dir] -cmin +n:在指定目錄下尋找超過n分鐘被修改過屬性的檔案或目錄,其中c是change。
find [dest_dir] -mmin -n:在指定目錄下尋找n分鐘之內被修改過內容的檔案或目錄,其中m是modify。
find [dest_dir] -mmin +n:在指定目錄下尋找超過n分鐘被修改過內容的檔案或目錄,其中m是modify。
find [dest_dir] -user pattern:在指定目錄下尋找所屬者下指定匹配模式的檔案或目錄。
find [dest_dir] -group pattern:在指定目錄下尋找所屬組下指定匹配模式的檔案或目錄。
三、效果示範
(1)尋找etc目錄下以ab開頭的所有檔案或目錄,Linux命令如下,效果3-1所示
1 find /etc -name ab*
圖 3-1
(2)尋找etc目錄下以ab或AB開頭的所有檔案或目錄,Linux命令如下,效果3-2所示
1 find /etc -iname AB*
圖 3-2
(3)尋找etc目錄下檔案大小超過1MB的所有檔案,Linux命令如下,效果3-3所示
1 find /etc -size +2048
圖 3-3
(4)尋找etc目錄下2分鐘之內被修改的檔案或目錄,Linux命令如下,效果3-4所示
1 find /etc -mmin -2
圖 3-4
(5)尋找etc目錄下的所有的軟連結,Linux命令如下,效果3-5所示
1 find /etc -type l
圖 3-5
(6)尋找/home/centos目錄下所屬者為jsg的所有檔案或目錄,Linux命令如下,效果3-6所示
1 find /home/centos -user jsg
圖 3-6