當(dāng)前位置:首頁 > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

Linux文件查找
2021-10-15 15:14:04

文章結(jié)構(gòu)如下

  • locate命令
  • whereis命令
  • which命令
  • find命令

特殊環(huán)境變量——PATH

PATH 下存放著命令的所有路徑,執(zhí)行命令的時候會先在 PATH 變量中從前到后挨個路徑查找,每個路徑之間使用冒號分隔。使用如下命令可查看 PATH 路徑。

echo $PATH

1. locate命令

locate 命令不搜索具體目錄,而是搜索一個數(shù)據(jù)庫(/var/lib/locatedb),這個數(shù)據(jù)庫中含有本地所有文件的信息。Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫,并且每天自動更新一次。要查找最新變動的文件,可以使用 updatedb命令手動更新。

# 搜索etc目錄下所有以sh開頭的文件
locate /etc/sh

# 搜索用戶主目錄下所有以m開頭的文件
locate ~/m

# 搜索用戶主目錄下所有以m開頭的文件,忽略大小寫
locate -i ~/m

2. whereis命令

whereis 命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù) -b),man說明文件(參數(shù) -m)和源代碼文件(參數(shù) -s)。如果省略參數(shù),則返回所有信息。

whereis grep

3.which命令

which命令的作用是在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并返回第一個搜索結(jié)果。使用which命令,可以查看某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令。

which grep

4.find命令

find命令是最常見和最強(qiáng)大的查找命令。使用格式如下:

find <指定目錄> <指定條件> <指定動作>

  • <指定目錄>: 所要搜索的目錄及其所有子目錄。默認(rèn)為當(dāng)前目錄
  • <指定條件>: 所要搜索的文件的特征
  • <指定動作>: 對搜索結(jié)果進(jìn)行特定的處理

如果什么參數(shù)都不加,find默認(rèn)搜索當(dāng)前目錄及其子目錄,并且不過濾任何結(jié)果,返回所有文件。

# 搜索當(dāng)前目錄下所有文件名以my開頭的文件
find . -name 'my*'

# 搜索當(dāng)前目錄下所有文件名以my開頭的文件,并顯示它們的詳細(xì)信息
find . -name 'my*' -ls

# 搜索當(dāng)前目錄中過去10分鐘內(nèi)更新過的普通文件
find . -type f -mmin -10

其中 find 命令是最慢的,它從硬盤中查找,但它的功能是最強(qiáng)大的。

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >