linux下的檔案搜尋

2021-06-19 22:27:11 字數 2265 閱讀 7288

一、which

尋找執行檔案,按照path中規定的路徑查詢

二、whereis 利用資料庫尋找特定檔案

引數: -b 只查詢二進位制檔案

-m 只在幫助檔案man中查詢

-s  只找source原始檔

-u 只找上述三種以外的檔案

三、locate 利用檔案資料庫查詢檔案  資料庫/var/lib/mlocate/mlocate.lib

-i忽略大小寫

-r 後面可加正規表示式

更新資料庫:updatedb

四、find 最慢

find 【路徑名】 【option】 【action】

1 時間

2 find 搜尋路徑 匹配表示式

該命令用於在指定路徑中查詢符合條件的檔案,搜尋路徑可以是多個目錄,不同目錄之間以空格分隔

(1)匹配表示式1

-name filename:要查詢的檔名。可以使用萬用字元「*」,「?」,但要用雙引號將檔名引起來

例子:【root@localhost tmp】# find  –name  「h*」  –print

-user username:查詢屬於username使用者的檔案

例子:【root@localhost tmp】# find /home –user user1 –print

翻譯:找出/home下屬於使用者user1的所有檔案

-group groupname:查詢屬於groupname組的檔案

-print:顯示找到檔案路徑名

(2)匹配表示式2

-exec 命令 {}:對找到的匹配檔案,執行所列出的命令,而不詢問使用者是否執行這些命令,引數{} 由find找到當前的檔案路徑名取代,命令列末尾必須有「\;」。

例子:【root@localhost tmp】# find /home –user user1 –exec cat {}\;|more

翻譯:找出/home下屬於使用者user1的所有檔案並顯示其內容

例子:【root@localhost tmp】# find /home –user user1 –exec rm –r {} \;

翻譯:找出/home下屬於使用者user1的所有檔案並刪除

-ok 命令 {}:與-exec的用法相同,在執行命令之前詢問使用者是否要執行命令

(3)匹配表示式3 

option:-mtime 修改時間 -atime 訪問時間 -ctime 建立時間

action:n 天前一天之內操作過的檔案 ;+n:n天之前操作過的檔案 -n: n天內操作過的檔案 

-newer file 比file新的檔案

例子:【root@localhost tmp】# find /home –atime +365 –print

翻譯:找出使用者一年前訪問過的檔案

例子:【

root@localhost

tmp】# find $home –user user1 –atime +3 –exec rm –r {} \;

翻譯:找出使用者user1主目錄下屬於自己的前3天之前訪問過檔案並刪除

(4)匹配表示式4

-type filetype:指定查詢的檔案型別

filetype 可以是:b塊檔案;c字元裝置檔案;d目錄檔案;f一般檔案

例子:【

root@localhost

tmp】# find –type d –print

翻譯:查詢當前目錄下的所有的子目錄

例子:【

root@localhost

tmp】# find –type f –print

翻譯:查詢當前目錄下的所有的普通檔案

(5)匹配表示式5

-size number和-size numberc:按照檔案大小進行查詢。numberc表示以位元組為單位,否則以塊(一般是512位元組)為單位。-number(或-numberc)表示查詢比該值小的檔案,+number(或-numberc)表示查詢比該值大的檔案

例子:【root@localhost tmp】# find –size -10 –print

翻譯:查詢當前目錄下所有長度小於10塊的檔案

例子:【root@localhost tmp】# find –size -10c –print | ls –l

翻譯:查詢當前目錄下所有長度小於10位元組的檔案並以長格式顯示檔案資訊

例子:【root@localhsot tmp】# find –size +100 –size -200 –exec ls –s {} \;

翻譯:在當前目錄下查詢100~200塊長的檔案並顯示檔案的實際塊數

Linux下的檔案搜尋

find命令是在指定目錄下遍歷查詢檔案,效率較低 find name file1從 開始進入根檔案系統搜尋檔案和目錄 find user user1搜尋屬於使用者 user1 的檔案和目錄 find home user1 name bin在目錄 home user1 中搜尋帶有 bin 結尾的檔案 ...

Linux下搜尋檔案與指令

指令的完整檔案路徑 台灣的一些教材上寫的是檔名,美國那邊的一些教材用的path of instruct 搜尋 語法格式 which 指令名 檔案 目錄的完整路徑 語法格式 whereis 選項 檔案或目錄名 選項 b 只找 binary 格式的檔案 m 只找在說明檔案 manual 路徑下的檔案 s...

Linux下搜尋檔案常用方法

which指令會在環境變數 path設定的目錄裡查詢符合條件的檔案 which bash 顯示 usr bin bashfind 命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則 find 命令將在當前目錄下查詢子目錄與檔案。並且將查...