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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux文件查找之findlocate

發布時間:2023/12/15 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux文件查找之findlocate 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux文件查找之find&locate

一、概述

? ? Linux系統核心的思想之一“一切皆文件“,對于這么多的文件,如何快速查找過濾呢?下面我們就看看系統提供的文件查找命令find和locat,熟練使用find命令是運維人員的必經之路


二、find的用法及示例

1.find特點

查找速度略慢

精確查找

實時查找

只能搜索有讀取和執行權限的目錄


2.find用法

? ? ?用法:find ?[options] ?[查找路徑] ?[ 查找條件] ?[處理動作]

? ? ?查找條件:

根據文件類型查找-type?f|d.......f 普通文件d 目錄l 鏈接s 套接字b 塊設備c 字符設備 p 管道文件根據屬主、屬組查找-user?name 查找目錄下屬主為name的文件-group?g1 查找屬組為g1的文件-uid?# 查找uid為#的文件-gid?# 查找gid為#的文件-nouser 查找沒有屬主的文件-nogroup 查找沒有屬組的文件特定選項-mindepth?level 設置最小搜索層級-maxdepth?level 設置最大搜索層級-name 匹配文件名搜索,支持通配符 -iname 以名稱搜索,忽略文件名大小寫-inum?# 按inode號搜索-samefile? 搜索相同inode號的文件-links?# 搜索鏈接數為#的文件-regex?"pattern" 搜索匹配該字符串的文件-prune 將某個目錄排除在搜索路徑之外根據文件大小查找-size??[+|-]#(單位) 常用單位:k??M??G6k 表示5k<S≤6k-6k 表示0≤S≤5k+6k 表示S>6k?根據時間戳查找 -atime??[+|-]# +5:5天以前??-10:十天以內-atime??? 訪問時間,以天為單位?-mtime 更改時間,以天為單位-ctime 改變時間,以天為單位-amin 以分鐘為單位-mmin 以分鐘為單位-cmin 以分鐘為單位

根據權限查找

-perm [/|-]mode

mode 精確權限匹配 如:find -perm 222 ?匹配權限為222的文件 ?

/mode 權限位(ugo),只要有一位匹配即可,或者關系 ?

????????????????如:find -perm /222 ?只需一個權限位有寫權限即可

-mode 指定權限權限位都必須匹配 ?

????????????????如:find -perm -222 ?各權限位都有寫權限

注意三種權限的區別

組合條件

-a

-o

-not,!

燒腦的非選項

!A -a !B=!(A -o B)

!A -o !B=!(A -a B)

? ? ? 處理動作

-print 打印匹配文件

-ls 長格式顯示匹配文件

-delete 刪除匹配文件

-fls outfile 輸出到指定文件

-ok cmd {} \; 對查找到的每個文件執行cmd命令,交互確認

-exec cmd {} \; 執行cmd命令,不進行交互確認

{} 代表查找到的文件自身

注意:由于是find查找到的文件,是一次性傳遞給后面的cmd命令,有寫命令會出現報錯現象,可使用xargs解決

find ?....... ? | ? xargs ? cmd

3.find使用實例

①、搜索/var目錄下文件名中含有log的文件

find /var -name "*log*"

②、搜索/app目錄下屬主為tom,數組為g1的文件

find /app ?-user tom -a -group g1

③、搜索/app目錄下屬主不是tom,也不是joe的文件

find /app -not -user tom -a -not -user -joe

find /app -not \(-user tom -o -user joe\)

④、刪除存在時間超過3天以上,屬主為tom的臨時文件

find /tmp -ctime +3 -user tom -ok rm {} \;

⑤、查找自己家目錄可以被其他用戶寫入的文件,并去掉其他用戶的寫權限

find ~ -perm -022 -exec ?chmod ?o-w ?{} ?\;

⑥、查找/var目錄下10以前修改的文件

find /var -mtime +10 -print

⑦、查找/var目錄下10以內修改的文件

find /var -mtime -10?

⑧、查找/var目錄更改時間下比file1.log新,比file2.log舊的文件

find /var -newer file1.log -a -not -newer file2.log

⑨、查找/etc一級目錄下所有的目錄文件

find /etc -maxdepth 1 -type d?

⑩、查詢/目錄下大于100M的文件

find / -size +100M

11、刪除/root一級目錄中非隱藏文件的普通文件

find ~ -maxdepth 1 -type f |grep -v "/root/\."

12、查詢當前系統中沒有屬主和屬組的文件

find / -nouser -a -nogroup

13、查找系統中所有具備suid權限的文件

find / -perm /u=s

14、查找系統中所有具備sgid權限的文件

find / -perm /g=s

15、查找/etc所有可執行文件

find /etc -perm /a=x

16、查找系統中所有空文件

find / -type f -empty ? ? ?

17、查詢/etc目錄下所有隱藏文件

find /etc -type f -name ".*"

18、查找50-100內被修改過的文件

find / -mtime +50 ?-mtime -100

19、查找最近1小時被修改過的文件

find / -mmin -60


三、locate用法及示例


1、locate概述

相比find,locate查找速度比較快,但由于其僅支持非實時查找,使用率不高


2、locate工作特點

查找速度快

非實時查找

搜索文件全路徑

只能搜索用戶具備讀取和執行權限的目錄


3、locate用法

locate [options] ?匹配模式

-i 不區分大小寫搜索

-n # 只列舉前#個匹配項


4、示例

locate conf 查找文件名中含有conf的文件


轉載于:https://blog.51cto.com/10783819/1910471

總結

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

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