Linux查找命令@which、find的使用方式
which概念
which 是一個常用的 Linux/Unix 命令,用于查找并顯示指定命令的絕對路徑。
語法
which 要查找的命令
- 無參數(shù)。
- which后面,跟要查找絕對路徑的命令。
作用
對于初學(xué)Linux操作系統(tǒng)的同學(xué),有沒有這么一個疑問?
- 問題一:我們學(xué)習(xí)的關(guān)于Linux的基礎(chǔ)指令,指令自身是個什么?
- 問題二:為什么在終端中,輸入指令便能讓操作系統(tǒng)執(zhí)行相應(yīng)的動作?
- 回答一:其實(shí)我們學(xué)習(xí)的關(guān)于Linux的基礎(chǔ)指令,其實(shí)自身就是一個二進(jìn)制可執(zhí)行的程序文件。
- 回答二:當(dāng)在終端中,輸入特定的指令時,操作系統(tǒng)便會通過該指令所在的路徑,尋找過去找到該指令的二進(jìn)制可執(zhí)行的程序文件,然后調(diào)用執(zhí)行程序。
操作系統(tǒng)是如何知道指令的絕對路徑,從而找過去的,這里先不過多講解。但是同學(xué)們會不會很好奇這些指令的絕對路徑究竟是什么?我們怎樣才能獲取這些指令的絕對路徑呢?接下來要講解的指令 which 的便起到該作用了。
如下:

通過which指令,在終端上顯示了前面所學(xué)cd 、 pwd 、 touch 、 mkdir 、 cp 、 mv可執(zhí)行二進(jìn)制指令文件的絕對路徑。
以上便是對于which指令的學(xué)習(xí)與運(yùn)用的大體介紹。
find概念
find指令用于在文件系統(tǒng)中搜索并匹配符合指定條件的文件或目錄。
語法按文件名查找
find 起始路徑 -name “被查找的文件名”
- 始路徑:從哪個路徑開始查詢。
- -name: 表示以文件名稱作為搜索依據(jù)
- 被查找的文件名” : 表示要搜索的文件的名稱。
按文件大小查找
find 起始路徑 -size +/-n[kMG]
- 起始路徑:從哪個路徑開始查詢。
- -size:表示以文件大小作為搜索依據(jù)。
- +: 表示大于
- - : 表示小于
- n:表示數(shù)字,中括號[ ] 里面的kMG為單位
作用
首先,對徐搜索文件這一行為,因?yàn)橐婕暗较到y(tǒng)內(nèi)的文件,因?yàn)榇嬖跈?quán)限的問題。
為了方便演示,下面切換到具有最高權(quán)限的root用戶。
具體發(fā)送 “su - root” 指令,然后輸入用戶密碼,即可成功切換到root用戶權(quán)限。如下:
演示一

以上演示的指令為 “ find / -name “test””。效果為:
從根目錄 / 開始,搜索文件名為“ find ” 的文件。
演示二

以上演示的指令為 “ find / -size +100M。效果為:
從根目錄 / 開始,搜索文件大小大于100M的文件。
為了驗(yàn)證搜索出來的文件是否如我們所要求的一樣。我們對其中的一個文件進(jìn)行查看,如下的綠色方框所示:

驗(yàn)證結(jié)果顯示,搜索出來的文件確實(shí)滿足文件大小大于100M的要求。
演示三

以上演示的指令為 “ find / -size +1G。效果為:
從根目錄 / 開始,搜索文件大小大于1G的文件。
同時將搜索的文件,的詳細(xì)信息展開,信息大小驗(yàn)證符合搜索要求。
通配符
注意:find指令還可以結(jié)合通配符。
被查找文件名,支持使用通配符 * 來做模糊查詢。
- 符號* 表示通配符,即匹配任意內(nèi)容(包含空),示例:
- test*,表示匹配任何以test開頭的內(nèi)容
- *test,表示匹配任何以test結(jié)尾的內(nèi)容
- *test*,表示匹配任何包含test的內(nèi)容
基于通配符的含義,可以結(jié)合find命令做文件的模糊查詢。
關(guān)于通配符的find相關(guān)指令,這里就不多加演示了,有興趣的同學(xué)可以自行實(shí)驗(yàn)。
總結(jié)
1、which命令
- 查找命令的程序文件
- 語法:which 要查找的命令
- 無需選項(xiàng),只需要參數(shù)表示查找哪個命令
2、find命令
- 用于查找指定的文件
- 按文件名查找: find 起始路徑 -name “被查找的文件名”
- 按文件大小查找: find 起始路徑 -size +/-n[kMG]
注:find命令支持通配符
為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
讓Apache支持Rewrite靜態(tài)頁面重寫的方法
Apache下Rewrite靜態(tài)頁面重寫的方法,需要的朋友可以參考下。2010-07-07
Linux環(huán)境下部署Kubernetes集群的全過程
在當(dāng)今云原生時代,Kubernetes 已成為容器編排的事實(shí)標(biāo)準(zhǔn),掌握 Kubernetes 的部署與運(yùn)維能力都已成為必備技能,本文將帶你從零開始,在 Linux 環(huán)境中完整部署一個高可用的 Kubernetes 集群,需要的朋友可以參考下2026-04-04
linux下使用cmake編譯安裝mysql的詳細(xì)教程
這篇文章主要介紹了linux下使用cmake編譯安裝mysql的詳細(xì)教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10
Linux中BT5關(guān)于修改靜態(tài)IP和DNS方法
本篇文章給大家整理了關(guān)于Linux中BT5關(guān)于修改靜態(tài)IP和DNS的方法,有需要的朋友可以參考學(xué)習(xí)下。2018-02-02

