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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux 搜索文件

發布時間:2025/3/17 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 搜索文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【whereis 命令】

1.命令格式:whereis [選項] 文件名

????常用選項:

-b
只查找二進制文件
-m
只查找說明文件
-s
只查找原始代碼文件
-B<目錄>
只在設置的目錄下查找二進制文件
-M<目錄>
只在設置的目錄下查找說明文件
-S<目錄>
只在設置的目錄下查找原始代碼文件
-f?
不顯示文件名前的路徑名稱
-u
查找不包含指定類型的文件

2.用途:只能用于程序名的搜索,而且只搜索二進制文件(-b)、man 說明文件(-m)、源代碼文件(-s),若省略參數,則返回所有信息。

3.特點:簡單快速

【which 命令】

1.命令格式:which?[選項] 文件名

????常用選項:

-n<文件名長度>
制定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名
-p<文件名長度>與-n參數相同,但此處的<文件名長度>包含了文件的路徑
-w指定輸出時欄位的寬度


2.用途:用于查找并顯示給定命令的絕對路徑,只從環境變量 PATH 指定的路徑中搜索命令,通常使用 which 來確定是否安裝了某個指定的軟件。

3.特點:簡單精確

【locate?命令】

1.命令格式:locate?[選項] 查找字符串(要查找的文件名中含有的字符串)

? ? 常用選項:

-c
只統計數目
-i?可以忽略大小寫進行查找
-b
只查找二進制文件
-m只查找說明文件
-s只查找原始代碼文件
-d<目錄> 或 --database=<目錄>指定數據庫所在的目錄
-u更新 slocate 數據庫


2.用途:常用來查找指定目錄下的不同文件類型。

注:locate 是通過 Linux 系統自動創建的 /var/lib/locatedb 數據庫查找,這個數據庫中含有本地所有文件信息。此數據庫不是實時更新的,系統會定時每天自動執行 updatedb 命令更新一次,因此使用 locate 命令無法查到最新變動文件,為了避免這種情況,因此可在使用 locate 前,先使用 updatedb 命令,手動更新數據庫。

3.特點:快速全面

【find?命令】

1.命令格式:find 指定目錄 [參數] 文件名?

? ? 常用選項:

-name<范本樣式>
指定字符串作為尋找文件或目錄的范本樣式
-iname<范本樣式>此參數的效果和指定“-name”參數類似,但忽略字符大小寫的差別
-user<擁有者名稱>查找符和指定的擁有者名稱的文件或目錄
-group<群組名稱>查找符合指定之群組名稱的文件或目錄
-perm<權限數值>查找符合指定的權限數值的文件或目錄
-size<文件大小>查找符合指定的文件大小的文件
-path<范本樣式>指定字符串作為尋找目錄的范本樣式
-ctime<24小時數>查找在指定時間之時被更改的文件或目錄,單位以24小時計算
-atime<24小時數>查找在指定時間曾被存取過的文件或目錄,單位以24小時計算
-mtime<24小時數>查找在指定時間曾被更改過的文件或目錄,單位以24小時計算
-newer<參考文件或目錄>查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄

2.用途:在指定目錄下,可通過文件類型、文件名、文件屬性等進行查找。若不設置任何參數,則將在當前目錄下查找子目錄與文件,并將查找到的子目錄和文件全部進行顯示。

3.特點:精準細致

4.實例

1)列出所有長度為零的文件:find . -empty

2)否定參數

找出 /home 下不是以 .txt 結尾的文件:find /home ! -name "*.txt"

3)根據文件權限/所有權進行匹配

當前目錄下搜索出權限為 777 的文件:find -perm 777

找出當前目錄用戶 Tom 擁有的所有文件:find -user Tom

找出當前目錄用戶組 Sunk 擁有的所有文件:find -group Sunk

4)根據文件進行匹配

????列出當前目錄及子目錄下所有文件和文件夾:find .

????在 /home 目錄下查找以 .txt 結尾的文件名:find /home -name "*.txt"

????在 /home 目錄下查找以 .txt 結尾的文件名,但忽略大小寫:find /home -iname "*.txt"

????當前目錄及子目錄下查找所有以 .txt 和 .pdf 結尾的文件:find . -name "*.txt" -o -name "*.pdf"?

????匹配文件路徑或者文件:find /usr/ -path "*local*"

注:-o 或者、-a 并且、-not 相反 ?

5)根據文件類型進行搜索:find . -type 類型參數

類型參數列表:

f?
普通文件
l符號鏈接文檔
d目錄文檔
c字符設備文檔
b塊設備文檔
s套接字文檔
p管道文檔

當前目錄下搜索出所有普通文件:find .-type f

6)根據文件大小進行匹配:find . -type f -size 文件大小單元

文件大小單元:

b
塊(512字節)
c字節
w字(2字節)
k千字節
M兆字節
G吉字節

搜索大于10KB的文件:find . -type f -size +10k

搜索小于10KB的文件:find . -type f -size -10k

搜索等于10KB的文件:find . -type f -size 10k

7)根據文件時間戳進行搜索:find . -type f 時間戳

時間戳:

訪問時間(-atime/天,-amin/分鐘)
用戶最近一次訪問時間
修改時間(-mtime/天,-mmin/分鐘)文件最后一次修改時間
變化時間(-ctime/天,-cmin/分鐘)文件數據元(例如權限等)最后一次修改時間

注:以 mtime n為例,n 為數字

  • -mtime n:列出在 n 天之前的“一天之內”修改過的文件
  • -mtime +n:列出在 n 天之前(不包含 n 天本身)被修改過的文件
  • -mtime -n:列出在 n 天之內(包含 n 天本身)被修改過的文件
  • -newer file:file 為一個已存在的文件,列出比 file 還要新的文件名
  • 搜索最近七天內被訪問過的所有文件:find . -type f -atime -7

    搜索恰好在七天前被訪問過的所有文件:find . -type f -atime 7

    搜索超過七天內被訪問過的所有文件:find . -type f -atime +7

    搜索訪問時間超過10分鐘的所有文件:find . -type f -amin +10


    總結

    以上是生活随笔為你收集整理的Linux 搜索文件的全部內容,希望文章能夠幫你解決所遇到的問題。

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