Linux 5大查詢命令
Which
which [-a] command
查詢系統命令位置,只在$PATH環境變數中查詢,並且預設只返回第一個查詢結果
引數:
-a 列出所有的查詢結果
例:which -a php
Type
type [option] command
用於區分某個命令到底是由shell自帶的,還是由shell外部的獨立二進位制檔案提供的
引數:
-t 輸出命令的type,如:alias、file、builtin等
-p 如是外部命令,則輸出絕對地址
例:type -t cd
Whereis
whereis [-bmsu] file
whereis命令用於定位可執行檔案、原始碼檔案、幫助檔案在系統中的位置
引數:
-b 查詢二進位制檔案
-m 查詢說明檔案
-s 查詢原始碼檔案
-u 查詢非上述3種檔案的其他檔案
例:whereis -b php
PS:whereis預設從資料庫檔案(Linux將所有的檔案都記錄在一個資料庫檔案,但並不實時更新,一般一天更新一次)中查詢指定檔案,因此whereis比其他從硬碟查詢的命令,效率高很多
Find
find [path] [option] [action]
find命令可查詢指定路徑下所有符合條件的檔案或目錄,find命令引數可以擬分成兩大類,一種是普通引數,一種是時間引數
普通引數:
-type 根據檔案型別進行搜尋
find /usr/bin -type d 查詢 /usr/bin目錄下所有的目錄
-name 根據檔名進行搜尋(-iname 不區分大小寫)
find /usr/bin -name '*.JPG' 查詢/usr/bin目錄下以JPG為字尾的檔案和目錄
-size 根據檔案大小進行搜尋(+n 大於 -n 小於)
find /usr/bin -size +10M 查詢/usr/bin目錄下大於10M的檔案和目錄
-prem 根據檔案讀寫許可權進行搜尋
find /usr/bin -perm 644 查詢/usr/bin目錄下讀取許可權為644的檔案和目錄
-group 根據檔案擁有組進行搜尋
find /usr/bin -group li 查詢/usr/bin目錄下li組的檔案或目錄
-empty 匹配空檔案或空目錄
find /usr/bin -empty 查詢/usr/bin目錄下的空檔案和空目錄
時間相關引數:
time 天
min 分鐘
+n n天(分鐘)之前
-n n天(分鐘)之內
-atime +n 搜尋n天之前被訪問過的檔案或目錄
find ./ -atime +5 查詢當前目錄下,最後一次訪問時間在5天前的檔案或目錄
find /var \! -atime -90 在/var目錄下找出90天之內未被訪問過的檔案
-mtime -n 搜尋n天之內被修改過檔案內容的檔案或目錄
find ./ -mtime -5 查詢當前目錄下,5天呃逆有進行過內容修改的檔案或目錄
-cmin -n 搜尋n分鐘之內被修改過內容、許可權、屬性的檔案或目錄
find ./ -cmin -5 在當前目錄,搜尋5分鐘之內被修改過內容、許可權、屬性的檔案和目錄
-cnewer file 搜尋修改時間(change time:修改檔案屬性、許可權、內容、大小的時間)比指定檔案的修改時間更接近現在的檔案或目錄
find ./ -cnewer demo.txt 在當前目錄下,搜尋修改時間比demo.txt檔案的修改時間更大的檔案或目錄
find匹配後執行操作:
預定義操作
find ./ -name '*.bak' -delete 刪除當前目錄下,所有以bak為字尾的檔案和目錄
find ./ -name '*.log' -quit 在當前目錄下搜尋以log為字尾的檔案和目錄,搜尋到一個就退出
自定義操作
find ./ -type f -name '*.bak' -exec rm -rf {} \; 查詢當前目錄下字尾為bak的檔案,並把它們刪除,分號在Bash中有其他意思,因此此處;需要加\轉義
PS:find是從硬碟去檢索檔案,因此效率並不高,但是find的功能是最廣,最強大的
Locate
locate [option] [option]
此命令和find / -name類似,但是它是從資料庫檔案(Linux將所有的檔案都記錄在一個資料庫檔案,但並不實時更新,一般一天更新一次)中查詢指定檔案,因此效率比find快得多
引數:
-i 忽略大小寫
-r 使用正規表示式做匹配條件
例:locate demo.php
總結
一、5個查詢命令中,find、locate、whereis是用來查詢具體的檔案,which、type是用來查詢命令(which也相當於查詢檔案,但是隻查詢命令位置)
二、whereis只查詢3種型別的檔案:二進位制檔案、說明檔案、原始碼檔案
三、whereis和locate都是從資料庫檔案查詢,所以效率最高
四、使用優先順序:
1、區分命令,使用type
2、查詢命令位置,使用which、whereis、type(優先使用whereis)
3、通過檔名稱查詢,優先使用locate,找不到時,updatedb
4、其他查詢條件、或者因資料庫檔案未更新,使用whereis、locate查詢不到時,使用find
相關文章
- Linux系列之查詢命令Linux
- Linux man命令查詢功能Linux
- linux 查詢檔案命令 findLinux
- linux下查詢命令的技巧Linux
- linux aix 查詢inode的命令LinuxAI
- 查詢命令
- Linux 查詢 日誌 相關命令Linux
- Linux基礎命令---查詢程式idLinux
- Linux查詢檢視幫助命令Linux
- linux 命令與檔案的查詢Linux
- Linux檔案內容查詢命令Linux
- linux下的find檔案查詢命令與grep檔案內容查詢命令Linux
- Linux基礎命令---host域名查詢工具Linux
- linux查詢檔案或目錄命令Linux
- linux 常用的系統資訊查詢命令Linux
- Linux檔案內容查詢命令(轉)Linux
- linux中查詢find命令的複雜用法Linux
- Linux檔案查詢命令find,xargs詳述Linux
- sql常用查詢命令SQL
- 檔案查詢命令
- Linux使用者資訊查詢命令有哪些?linux運維命令學習Linux運維
- linux命令檢視記憶體命令free -h whereis locate find查詢命令Linux記憶體
- Linux之ps查詢程式用kill終止命令Linux
- Linux/Unix 檔案查詢命令 find, xargs 詳述Linux
- Linux檔案查詢命令find,xargs詳述(轉)Linux
- LINUX學習(四)在Linux檔案內容查詢命令Linux
- MySql 鎖表 查詢 命令MySql
- 常用ORACLE查詢命令SQLOracleSQL
- Unix 檔案查詢命令
- ffmpeg命令分類查詢
- Linux rpm查詢命令以及RPM包驗證Linux
- Linux基礎命令---ntpq查詢時間伺服器Linux伺服器
- 在 Linux 中如何從命令列查詢 VirtualBox 版本Linux命令列
- Linux基礎命令---查詢使用者資訊fingerLinux
- linux下find(檔案查詢)命令的用法總結Linux
- Linux檔案查詢命令find詳述(part2)Linux
- Linux檔案查詢命令find詳述(part1)Linux
- Linux常用命令之檔案查詢which、find、locate命令講解Linux