Linux文件查找Day.13

一.為什么要有文件查找

? 因?yàn)橘Y料有很多,會忘記放在了什么位置,所以需要通過查找的方式進(jìn)行搜索。(相當(dāng)于windows查找文件? 計(jì)算機(jī)--->搜索框)

二.Linux中怎么查找文件查找

因?yàn)閘inux中沒有圖形工具,所以只能使用命令工具--find--來搜索

三.find命令使用語法

命令(find)? 路徑(/etc/)? 選項(xiàng)(要搜索什么)? 表達(dá)式(名稱,大小,文件類型,時間,組和用戶)? 動作(刪除,-exec? \;)

四.如何通過名稱,大小,文件類型,時間,組和用戶來搜索文件。

1.按名稱查找 (-iname 不區(qū)分大小寫)

[root@localhost ~]# find ./ -name "zy*"

(搜索當(dāng)前目錄下以zy開頭的所有內(nèi)容)

[root@localhost ~]# find ./ -name "*zy"

(搜索當(dāng)前目錄下以zy開頭的所有內(nèi)容)

[root@localhost ~]# find ./ -iname "zy*"

(搜索當(dāng)前目錄下不區(qū)分大小寫zy開頭的內(nèi)容)

2.按文件大小查找(以/etc/目錄為例)

[root@localhost ~]# find /etc/ -size +5M

(搜索/etc/目錄中大于5MB的內(nèi)容)

[root@localhost ~]# find /etc/ -size -5M

(搜索/etc/目錄中小于5MB的內(nèi)容)

[root@localhost ~]# find /etc/ -size 5M

(搜索/etc/目錄中等于5MB的內(nèi)容)

PS:M單位也可以是k,G。

3.按文件類型查找 (-type)

文件類型:

f? ? 普通文件

d? ? 目錄

s? ? socket套接字文件

l? ? 鏈接文件

c? ? 字符設(shè)備

b? ? 塊設(shè)備

[root@localhost ~]# find ./ -type f -iname "zy*"

(搜索當(dāng)前目錄中所有以“zy”開頭的文件并且不區(qū)分大小寫)

[root@localhost ~]# find /etc/ -type f -size +5M -name "*.bin"

(搜索/etc/目錄中以.bin結(jié)尾的并且文件大于5M的文件)

[root@localhost ~]# find /etc/ -type f -name "*.repo"

(搜索/etc/目錄中名稱以.repo結(jié)尾的文件)

[root@localhost ~]# find /dev/ -type b -name "sda*"

(搜索/dev/目錄中名稱以sda開頭的塊設(shè)備文件)

[root@localhost ~]# find /dev/ -type c -name "tty*"

(搜索/dev/目錄中以tty開頭的字符設(shè)備文件)

4.按時間查找(-mtime)

[root@localhost ~]# find ./ -type f -mtime 7

(查找出當(dāng)前目錄下第7天的文件)*例:今天是10號,我要查找第七天的內(nèi)容,就是10號之前的7天就是3號。*

[root@localhost ~]# find ./ -type f -mtime +7

(查找出當(dāng)前目錄下7天之前的文件內(nèi)容)

[root@localhost ~]# find ./ -type f -mtime -7

(查找出當(dāng)前目錄下最近七天的文件內(nèi)容)

實(shí)際使用方案

find /backup/ -iname? “*.bak”? -mtime? +7? -delete

(保留最近七天的文件其他全部刪除)

find /backup/ -iname? “*.bak”? -mtime? +90? -delete

(保留最近三個月的文件其他全部刪除)

find /backup/ -iname? “*.bak”? -mtime? +180? -delete

(保留半年的文件其他全部刪除)

5.按用戶和組查找(-user? -group -nouser -nogroup)

[root@localhost ~]# find /home/ -user zhangyao

(查找屬主是zhangyao的內(nèi)容)

[root@localhost ~]# find /home/ -group zhangyao

(查找屬組是zhangyao的內(nèi)容)

[root@localhost ~]# find /home/ -type d -user root -group zhangyao

(查找屬主是root,屬組是zhangyao的目錄)

[root@localhost ~]# find /home/ -nouser

(查找/home/目錄下沒有屬主的內(nèi)容)

[root@localhost ~]# find /home/ -nogroup

(查找/home/目錄下沒有屬組的內(nèi)容)

[root@localhost ~]# find /home/ -nouser? -nogroup

(查找/home/目錄下沒有屬主或沒有屬組的內(nèi)容)

四.查找到內(nèi)容后的處理動作

find的默認(rèn)動作是-print(打印)

-print? ? ? 打印查找到的內(nèi)容

-ls? ? ? ? ? 以長格式顯示的方式打印查找到的內(nèi)容

-delete? 刪除查找到的文件 (刪除目錄,僅能刪除空目錄)

-ok? ? ? ? 后面跟自定義命令(會提示是否操作)

-exec? ? 后面跟自定義命令(標(biāo)準(zhǔn)寫法? -exec? \;)

例:

[root@localhost ~]# find ./ -type d -name "find_*" -exec rm -rf {} \;

(查找當(dāng)前目錄下以find_開頭的目錄然后刪除)刪除少量文件時用這個

[root@localhost ~]# find ./ -type d -name "find_*"? | xargs rm -f

(查找當(dāng)前目錄下以find_開頭的目錄然后刪除)刪除大量文件時候用這個

[root@localhost ~]# find /var/log/ -type f -name "*.log" -mtime +7 -exec rm -f {} \'

[root@localhost ~]# find /var/log/ -type f -name "*log" -mtime +7 | xargs rm -f

(兩種方法都是刪除七天之前日志文件)

五.查找只記得內(nèi)容的文件

需要將find和grep組合起來用

例:

find? /etc/? -type? f? | xargs? grep “l(fā)og_group” --color==auto(加顏色,可加可不加)

六.find邏輯運(yùn)算符


例:

查找當(dāng)前目錄下屬主不是root的所有文件,然后以長格式列出

find ./? -type? f? ! -user? root? -ls

查找當(dāng)前目錄下屬主是zhangyao并且文件大小小于1k的所有文件

find ./ -type f -a -user? zhangyao -a -size 1k

查找當(dāng)前目錄下屬主為root或者以xml結(jié)尾的文件

find ./ -type f -a -user root? -o -name "zy*"

轉(zhuǎn)義

find ./ -type f -a? \(“空格” -user root? -o -name "zy*" “空格” \)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 等于

find ./ -type f -a? -user root + find ./ -type f -a? -name "zy*"

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用戶管理: 用戶基本概述 介紹創(chuàng)建用戶會影響的文件?/etc/passwd /etc/shadow 如何創(chuàng)建用...
    CxFalltohim17閱讀 285評論 0 0
  • 本周內(nèi)容 1.文件查找 2.文件壓縮 3.軟件包管理-rpm 4.軟件包管理-yum 5.軟件包管理-源碼 6.磁...
    JoinMyTeam閱讀 329評論 0 2
  • locate,find locate locate 相關(guān)文件/var/lib/mlocate/mlocate.db...
    香吉矢閱讀 695評論 0 0
  • 1.為什么要有文件查找?資料很多,忘記放哪了,所以需要通過查找的方式進(jìn)行搜索.2.windows如何實(shí)現(xiàn)文件查找?...
    Demon_7636閱讀 377評論 0 0
  • “欲望來的時候,像一陣無來由的沙漠熱風(fēng),它會摧毀原來你辛苦構(gòu)建的理性圍墻,讓你清楚地明白自己只不過是一個凡人。” ...
    安在誠閱讀 124,736評論 15 7

友情鏈接更多精彩內(nèi)容