Linux中 find查找命令用法詳解
Linux下查找文件的命令有兩個(gè),分別是locate 和 find。
locate指令和find找尋檔案的功能類(lèi)似,但locate是透過(guò)update程序?qū)⒂脖P(pán)中的所有檔案和目錄資料先建立一個(gè)索引數(shù)據(jù)庫(kù),在 執(zhí)行l(wèi)oacte時(shí)直接找該索引,查詢(xún)速度會(huì)較快,索引數(shù)據(jù)庫(kù)一般是由操作系統(tǒng)管理,但也可以直接下達(dá)update強(qiáng)迫系統(tǒng)立即修改索引數(shù)據(jù)庫(kù)。簡(jiǎn)單介紹下它的兩個(gè)選項(xiàng)。
#locate
-i //查找文件的時(shí)候不區(qū)分大小寫(xiě) 比如:locate –i passwd
-n //只顯示查找結(jié)果的前N行 比如:locate -n 5 passwd
Linux下find命令在目錄結(jié)構(gòu)中搜索文件,并執(zhí)行指定的操作。Linux下find命令提供了相當(dāng)多的查找條件,功能很強(qiáng)大。由于find具有強(qiáng)大的功能,所以它的選項(xiàng)也很多,其中大部分選項(xiàng)都值得我們花時(shí)間來(lái)了解一下。即使系統(tǒng)中含有網(wǎng)絡(luò)文件系統(tǒng)( NFS),find命令在該文件系統(tǒng)中同樣有效,只你具有相應(yīng)的權(quán)限。 在運(yùn)行一個(gè)非常消耗資源的find命令時(shí),很多人都傾向于把它放在后臺(tái)執(zhí)行,因?yàn)楸闅v一個(gè)大的文件系統(tǒng)可能會(huì)花費(fèi)很長(zhǎng)的時(shí)間(這里是指30G字節(jié)以上的文件系統(tǒng))。
find使用格式 : find [指定查找目錄](méi) [查找規(guī)則] [查找完后執(zhí)行的action]
find在不指定查找目錄的情況下是對(duì)整個(gè)系統(tǒng)進(jìn)行遍歷查找
find命令詳解
查找文件
find ./ -type f
查找目錄
find ./ -type d
查找名字為test的文件或目錄
find ./ -name test
查找名字符合正則表達(dá)式的文件,注意前面的‘.*'(查找到的文件帶有目錄)
find ./ -regex .*so.*\.gz
查找目錄并列出目錄下的文件(為找到的每一個(gè)目錄單獨(dú)執(zhí)行l(wèi)s命令,沒(méi)有選項(xiàng)-print時(shí)文件列表前一行不會(huì)顯示目錄名稱(chēng))
find ./ -type d -print -exec ls {} \;
查找目錄并列出目錄下的文件(為找到的每一個(gè)目錄單獨(dú)執(zhí)行l(wèi)s命令,執(zhí)行命令前需要確認(rèn))
find ./ -type d -ok ls {} \;
查找目錄并列出目錄下的文件(將找到的目錄添加到ls命令后一次執(zhí)行,參數(shù)過(guò)長(zhǎng)時(shí)會(huì)分多次執(zhí)行)
find ./ -type d -exec ls {} +
查找文件名匹配*.c的文件
find ./ -name \*.c
打印test文件名后,打印test文件的內(nèi)容
find ./ -name test -print -exec cat {} \;
不打印test文件名,只打印test文件的內(nèi)容
find ./ -name test -exec cat {} \;
查找文件更新日時(shí)在距現(xiàn)在時(shí)刻二天以?xún)?nèi)的文件
find ./ -mtime -2
查找文件更新日時(shí)在距現(xiàn)在時(shí)刻二天以上的文件
find ./ -mtime +2
查找文件更新日時(shí)在距現(xiàn)在時(shí)刻一天以上二天以?xún)?nèi)的文件
find ./ -mtime 2
查找文件更新日時(shí)在距現(xiàn)在時(shí)刻二分以?xún)?nèi)的文件
find ./ -mmin -2
查找文件更新日時(shí)在距現(xiàn)在時(shí)刻二分以上的文件
find ./ -mmin +2
查找文件更新日時(shí)在距現(xiàn)在時(shí)刻一分以上二分以?xún)?nèi)的文件
find ./ -mmin 2
查找文件更新時(shí)間比文件abc的內(nèi)容更新時(shí)間新的文件
find ./ -newer abc
查找文件訪(fǎng)問(wèn)時(shí)間比文件abc的內(nèi)容更新時(shí)間新的文件
find ./ -anewer abc
查找空文件或空目錄
find ./ -empty
查找空文件并刪除
find ./ -empty -type f -print -delete
查找權(quán)限為644的文件或目錄(需完全符合)
find ./ -perm 664
查找用戶(hù)/組權(quán)限為讀寫(xiě),其他用戶(hù)權(quán)限為讀(其他權(quán)限不限)的文件或目錄
find ./ -perm -664
查找用戶(hù)有寫(xiě)權(quán)限或者組用戶(hù)有寫(xiě)權(quán)限的文件或目錄
find ./ -perm /220 find ./ -perm /u+w,g+w find ./ -perm /u=w,g=w
查找所有者權(quán)限有讀權(quán)限的目錄或文件
find ./ -perm -u=r
查找用戶(hù)組權(quán)限有讀權(quán)限的目錄或文件
find ./ -perm -g=r
查找其它用戶(hù)權(quán)限有讀權(quán)限的目錄或文件
find ./ -perm -o=r
查找所有者為lzj的文件或目錄
find ./ -user lzj
查找組名為gname的文件或目錄
find ./ -group gname
查找文件的用戶(hù)ID不存在的文件
find ./ -nouser
查找文件的組ID不存在的文件
find ./ -nogroup
查找有執(zhí)行權(quán)限但沒(méi)有可讀權(quán)限的文件
find ./ -executable \! -readable
查找文件size小于10個(gè)字節(jié)的文件或目錄
find ./ -size -10c
查找文件size等于10個(gè)字節(jié)的文件或目錄
find ./ -size 10c
查找文件size大于10個(gè)字節(jié)的文件或目錄
find ./ -size +10c
查找文件size小于10k的文件或目錄
find ./ -size -10k
查找文件size小于10M的文件或目錄
find ./ -size -10M
查找文件size小于10G的文件或目錄
find ./ -size -10G
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu16.04安裝clion全過(guò)程及步驟詳解
這篇文章主要介紹了Ubuntu16.04安裝clion全過(guò)程及步驟詳解,clion是一款JetBrains 推出的全新的 C/C++ 跨平臺(tái)集成開(kāi)發(fā)環(huán)境,在Ubuntu系統(tǒng)下使用方便,下面給大家分享操作步驟,需要的朋友可以參考下2020-08-08Linux中關(guān)于inode的知識(shí)總結(jié)
這篇文章主要給大家介紹了在Linux中關(guān)于inode的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06ubuntu中snap包的安裝、更新刪除與簡(jiǎn)單使用
Ubuntu 16.04引入了snap包管理,它是一種全新的軟件包安裝管理方式。它和dpkg/apt有本質(zhì)的區(qū)別。下面這篇文章就來(lái)給大家詳細(xì)介紹了關(guān)于ubuntu中snap包的安裝、更新刪除與簡(jiǎn)單使用的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11centos設(shè)置fqdn(全稱(chēng)域名)和hostname的方法
這篇文章主要介紹了centos設(shè)置fqdn(全稱(chēng)域名)和hostname的方法,需要的朋友可以參考下2014-03-03關(guān)于Windows 不能在 本地計(jì)算器 啟動(dòng) Apache2(phpstudy)
今天在自己的本子上準(zhǔn)備放多個(gè)虛擬站點(diǎn)。用的是#phpstudy#。在軟件自身的站點(diǎn)設(shè)置中,根據(jù)提示添加的多站點(diǎn)無(wú)效不知道是否和我的系統(tǒng)是Win7有關(guān)2012-09-09