日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux查找命令find、loacte、whereis、which、type梳理

發布時間:2025/3/8 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux查找命令find、loacte、whereis、which、type梳理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux查找命令find、loacte、whereis、which、type梳理

Linux操作系統中有5種常用的查找命令:find,locate,whereis,which,type,他們分別用于查找不同的東西,本文將就他們各自的功能進行一下梳理。

find

功能

find是最常見和最強大的查找命令,你可以用它找到任何你想找的文件。

Linux find 命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則 find 命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。

語法

find path -option [ -print ] [ -exec -ok command ] {} \;

find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。

expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

-mount, -xdev : 只檢查和指定目錄在同一個文件系統下的文件,避免列出其它文件系統中的文件

-amin n : 在過去 n 分鐘內被讀取過

-anewer file : 比文件 file 更晚被讀取過的文件

-atime n : 在過去n天內被讀取過的文件

-cmin n : 在過去 n 分鐘內被修改過

-cnewer file :比文件 file 更新的文件

-ctime n : 在過去n天內被修改過的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱是 name

-ipath p, -path p : 路徑名稱符合 p 的文件,ipath 會忽略大小寫

-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫

-size n : 文件大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。

-type c : 文件類型是 c 的文件。

d: 目錄

示例

find . -name "*.c" # 將當前目錄及其子目錄下所有文件后綴為 .c 的文件列出來 find . -type f # 將當前目錄及其子目錄中的所有文件列出 find . -ctime -20 # 將當前目錄及其子目錄下所有最近 20 天內更新過的文件列出 find /var/log -type f -mtime +7 -ok rm {} \; # 查找 /var/log 目錄中更改時間在 7 日以前的普通文件,并在刪除之前詢問它們 find . -type f -perm 644 -exec ls -l {} \; # 查找當前目錄中文件屬主具有讀、寫權限,并且文件所屬組的用戶和其他用戶具有讀權限的文件 find / -type f -size 0 -exec ls -l {} \; # 查找系統中所有文件長度為 0 的普通文件,并列出它們的完整路徑

locate

介紹

Linux locate命令用于查找符合條件的文檔,他會去保存文檔和目錄名稱的數據庫內,查找合乎范本樣式條件的文檔或目錄。

一般情況我們只需要輸入 locate [your_file_name] 即可查找指定文件。

語法

locate [-d ][--help][--version][范本樣式...]

示例

locate train.py # 查找trin.py文件

說明

locate 與 find 不同: find 是去硬盤找,locate 只在 /var/lib/slocate 資料庫中找。

locate 的速度比 find 快,它并不是真的查找,而是查數據庫,一般文件數據庫在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是實時的,而是以數據庫的更新為準,一般是系統自己維護,也可以手工升級數據庫 :updatedb。

whereis

功能

Linux whereis命令用于查找文件。

該指令會在特定目錄中查找符合條件的文件。這些文件應屬于原始代碼、二進制文件,或是幫助文件。

該指令只能用于查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。

語法

whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]

示例

whereis conda

which

功能

Linux which命令用于查找文件。筆者通常用來查找命令的執行文件的位置,因為環境變量中$PATH存放的就是命令的執行文件的位置。如which rm,which conda。

which指令會在環境變量$PATH設置的目錄里查找符合條件的文件。

語法

which [文件...]

示例

which rm

type

功能

type命令其實不能算查找命令,它是用來區分某個命令到底是由shell自帶的,還是由shell外部的獨立二進制文件提供的。如果一個命令是外部命令,那么使用-p參數,會顯示該命令的路徑,相當于which命令。type命令加上-p命令就相當于which命令。

示例

$ type cd cd is a shell builtin $ type nv nv is aliased to `watch -n 0.5 nvidia-smi' $ type nvidia-smi nvidia-smi is /usr/bin/nvidia-smi

cd是bash自帶的命令,nv是筆者自己設置的別名,nvidia-smi則是英偉達顯卡狀態查看命令。

Ref:

https://www.runoob.com/linux/linux-comm-find.html

https://www.cnblogs.com/kex1n/p/5233821.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Linux查找命令find、loacte、whereis、which、type梳理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。