濮阳杆衣贸易有限公司

主頁 > 知識庫 > Linux find 強大的文件查找工具

Linux find 強大的文件查找工具

熱門標簽:商店地圖標注外賣入駐 磁力導(dǎo)航地圖標注 外呼系統(tǒng)怎么弄 制作地圖標注 地圖標注的牌子 外呼系統(tǒng)鏈接 桂林市ai電銷機器人公司 新科火車站地圖標注點 地址高德地圖標注

 “一切皆文件”是 Linux的哲學思想之一, 這條命令可以統(tǒng)計當前l(fā)inux系統(tǒng)中有多少文件ls -R / |wc -l  建議放在后臺執(zhí)行,因為你的系統(tǒng)文件很多則會消耗很多時間,你可以看見這個結(jié)果是龐大的,linux的系統(tǒng)中的文件實在是太多了,怎么樣才能快速而且精確的在linux系統(tǒng)找出你想要的文件呢?Linux 的find命令提供了很強大的功能,學好find命令的使用,可以給你節(jié)省大量花費在找文件的時間。

find的基本語法格式:

        find  [查找位置]  [查找標準]  [處理動作]

查找位置:默認為當前目錄,可以指定多個目錄,多個之間用空格

查找標準:默認為查找指定目錄下的所有文件

處理動作:顯示到標準輸出,默認為print

剖析find的查找標準可分為哪些:

  1)文件名

 -name  "文件名稱" : 根據(jù)文件名查找,支持glob

-iname "文件名稱",根據(jù)文件名查找,不區(qū)分大小寫


2)文件的屬主、屬組

     -user     "USERNAME"    :    根據(jù)屬主查找

     -group    "GROUP"         :    根據(jù)屬組查找

     -uid         "UID"               :    根據(jù)UID查找

     -gid      "GID"                  :    根據(jù)GID查找

     -nouser                           :    查找沒有屬主的文件

     -nogroup                         :   查找沒有屬組的文件




復(fù)制代碼
代碼如下:

[root@Redhat6 /]# find / -nouser -nogroup #沒有屬主,也沒有屬組
/tmp/user1dir
[root@Redhat6 /]# ls -ld /tmp/user1dir/ #驗證查找的文件是否符合要求,文件沒有用戶表示屬主和屬組,但會以ID號來表示
drwxrwxr-x 2 500 500 4096 Jul 23 10:36 /tmp/user1dir/
[root@Redhat6 /]# find / -user root -gid 500 #查找用戶為root,gid為500
/tmp/user1dir
[root@Redhat6 /]# ls -ld /tmp/user1dir/
drwxrwxr-x 2 root 500 4096 Jul 23 10:36 /tmp/user1dir/



3)文件的類型

    -type

           f   文件

           d  目錄

           b  塊設(shè)備

           c   字符設(shè)備

           l    符合鏈接文件

           p  命令管道文件

           s  套接字文件

4)文件的大小

           -size

#[k|M|G]:#表示數(shù)字,匹配的時候為模糊匹配

                +#[k|M|G]:+#表示大于,匹配的結(jié)果大于#

                -#[k|M|G] :-#表示小于,匹配的結(jié)果是小于#


5)文件修改時間

           -atime   [+|-]#   :訪問時間,默認為天,#表示#天的這個時間點,+#表示至少有#天沒訪問 ,  -#表示#天之內(nèi)沒訪問

           -mtime [+|-]#   :  修改時間,#表示#天的這個時間點沒有被修改,+#表示至少有#天沒有修改 ,  -#表示#天之內(nèi)沒有修改

           -ctime   [+|-]#   : 改變時間,#表示#天的這個時間點沒有被改變,+#表示至少有#天沒有被改變 ,  -#表示#天之內(nèi)沒有被改變

           -amin    [+|-]#    : 時間為分鐘,#表示#分鐘的這個時間點沒有被訪問,+#表示至少有#分鐘沒有被訪問 ,  -#表示#分鐘之內(nèi)沒訪問

           -mmin  [+|-]#    :時間為分鐘,#表示#分鐘的這個時間點沒有被修改,+#表示至少有#分鐘沒有被修改 ,  -#表示#分鐘之內(nèi)沒有被修改

           -cmin    [+|-]#    :時間為分鐘,#表示#分鐘的這個時間點沒有被改變,+#表示至少有#分鐘沒有被改變 ,  -#表示#分鐘之內(nèi)沒有被改變

6)文件權(quán)限

          -perm  [+|-] MODE  

                 不帶[+|-]表示精確權(quán)限匹配,

                 +表示任何一類用戶的任何一位權(quán)限匹配

                 - 表示每類用戶的每位權(quán)限都匹配



find在查找標準時支持組合查找條件,在使用組合查找條件時要考慮優(yōu)先級,優(yōu)先級為順序為非→與→或,在組合參數(shù)是想改變優(yōu)先級可以用()來提升優(yōu)先級。

           -a    (and)   與默認是與

           -o    (or)      或

           -not,!           非

find的處理動作可以是:

       -print   默認為輸出

       -ls          顯示查找到的文件的詳細信息

-ok   COMMAND \;   要確認

       -exec    COMMAND  \;     其中COMMAND中有對查找到的文件進行操作時,用{}來替代查找到的     文件,\;表示使用-exec的結(jié)束符,是固定格式; 使用-exec來出來查找的文件時,還可以通過管道送給xargs命令來解決,xargs在執(zhí)行命令時,如果有對文件進行操作則用-i選項,{}也表示要操作的文件。


復(fù)制代碼
代碼如下:

1、查找/var目錄下屬主為root并且屬組為mail的所有文件;
find /var -user root -group mail
2、查找/usr目錄下不屬于root,bin,或student的文件;
find /usr -not \( -user root -o -user bin -o -user student \)
find /usr -not -user root -a -not -user bin -a -not -user student
3、查找/etc目錄下最近一周內(nèi)內(nèi)容修改過且不屬于root及student用戶的文件;
find /etc -mtime -7 -a -not -user root -a -not -user student
find /etc -mtime -7 -a -not \( -user root -o -user student \)
4、查找當前系統(tǒng)上沒有屬主或?qū)俳M且最近1天內(nèi)曾被訪問過的文件,并將其屬主屬組均修改為root;
find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;
5、查找/etc目錄下大于1M的文件,并將其文件名寫入/tmp/etc.largefiles文件中;
find /etc -size +1M -exec echo {} >> /tmp/etc.largefiles \;
find /etc -size +1M >> /tmp/etc.largefiles
6、查找/etc目錄下所有用戶都沒有寫權(quán)限的文件,顯示出其詳細信息;
find /etc -not -perm +222
7、刪除類型不是目錄,而且沒有屬主的文件;
find / -not -type d -a -nouser -exec rm -f {} \;
find / -not -type d -a -nouser | xargs -i rm -f {}

本文出自 “技術(shù)之路---桀” 博客

標簽:茂名 衡陽 仙桃 慶陽 六盤水 三門峽 湘西 衡陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux find 強大的文件查找工具》,本文關(guān)鍵詞  Linux,find,強,大的,文件,查找,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux find 強大的文件查找工具》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux find 強大的文件查找工具的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    简阳市| 且末县| 行唐县| 都匀市| 微博| 涿鹿县| 秦安县| 涞源县| 冀州市| 神木县| 崇阳县| 广宗县| 囊谦县| 天门市| 乐东| 江门市| 宣化县| 潜山县| 昌宁县| 乌兰浩特市| 河曲县| 新蔡县| 平远县| 手机| 原平市| 寻乌县| 东兴市| 邻水| 绵阳市| 平定县| 收藏| 玛纳斯县| 柞水县| 勐海县| 增城市| 浦城县| 香格里拉县| 寻乌县| 陆河县| 临沧市| 宽城|