Linux/Unix的find命令的主要功能

本篇內(nèi)容主要講解“Linux/Unix的find命令的主要功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux/Unix的find命令的主要功能”吧!

創(chuàng)新互聯(lián)是專業(yè)的友誼網(wǎng)站建設(shè)公司,友誼接單;提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行友誼網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

主要功能如下(所有測試均在當(dāng)前目錄(test)下開始匹配,搜索):

基本用法

列出給定目錄(base_path)下所有的文件和子目錄:

find base_path -print

Linux/Unix的find命令的主要功能

補(bǔ)充:根據(jù)文件名和正則表達(dá)式進(jìn)行搜索,使用選項(xiàng) -name或-iname(忽略大小寫):

find base_path -name ‘xxx’ -print
find base_path -iname ’xxx‘ -print

Linux/Unix的find命令的主要功能

否定參數(shù),可以用 !排除所指定到的模式

Linux/Unix的find命令的主要功能

此處將打印出除txt文本文件外的的所有文件。

基于目錄深度的搜索

find 命令指定遍歷完所有的子目錄。使用-maxdepth和-mindefth可以限制find 命令遍歷的目錄深度,并且find命令默認(rèn)不搜索符號鏈接,可以用-L選項(xiàng)改變這種行為。

Linux/Unix的find命令的主要功能

例如-maxdepth的參數(shù)為1時,只匹配當(dāng)前目錄下。

Linux/Unix的find命令的主要功能

-mindepth的參數(shù)代表了開始進(jìn)行匹配的目錄到base_path的最短距離。

基于文件類型搜索

使用-type可以指定搜索的文件類型, linux/unix將所有的的一切都視為文件(文件類型有:普通文件f,目錄d,符號鏈接 l,字符設(shè)備c,塊設(shè)備b,套接字s,F(xiàn)IFO-p),使用 -type選項(xiàng)我們能夠?qū)ξ募愋瓦M(jìn)行過濾。

Linux/Unix的find命令的主要功能

此處就會只匹配出特定項(xiàng)下的所有普通文件,和目錄。

根據(jù)文件的時間戳進(jìn)行搜索

Linux/Unix文件系統(tǒng)中的每一個文件都有三種時間戳,訪問時間(-atime),修改時間(-mtime),變化時間(-ctime),單位為天數(shù),用整數(shù)指定,數(shù)字前加上+,表示大于這個時間;加上-,表示小于這個天數(shù);不加表示剛好這個天數(shù)。

Linux/Unix的find命令的主要功能

此處的文件是我在進(jìn)行截圖之前才創(chuàng)建的,訪問,修改,變化時間均小于一天。

當(dāng)然相應(yīng)的用分鐘作為單位就可以用選項(xiàng)(-amin)(-mmin)(-cmin),如下我們測試修改時間

Linux/Unix的find命令的主要功能

基于文件大小的搜索

find提供了指定文件大小的單位選項(xiàng)進(jìn)而搜索符合大小文件的功能,這個搜索也常常會讓用戶感到非常舒服(b:塊, c:字節(jié), w:字, k:千字節(jié), M:兆字節(jié), G:吉字節(jié))。

在搜索之前我們先用ls(list)指令來查看下當(dāng)前目錄下的文件信息:

Linux/Unix的find命令的主要功能

信息的第五列就是各文件目錄的大?。ㄗ止?jié)),我們通過指定匹配條件來搜索:

Linux/Unix的find命令的主要功能

經(jīng)過測試,在開始目錄下,文件類型為普通目錄,文件大小大于30個字節(jié)的文件就是zl.txt了

基于文件權(quán)限和所有權(quán)的匹配

-perm選項(xiàng)指定了find指匹配指定權(quán)限的文件,參數(shù)為文件對應(yīng)的權(quán)限碼。

我們?nèi)匀豢蓞⒖饥拗械乃形募畔⒌牡谝涣?,此處需要掌握一定關(guān)于文件權(quán)限的知識。如下我們查找權(quán)限為644的普通文件,即用戶可讀寫,組用戶可讀,其他可讀。

Linux/Unix的find命令的主要功能

也可以用選項(xiàng)-user,匹配指定用戶所擁有的文件,參數(shù)為用戶名或者UID

利用find執(zhí)行相應(yīng)操作

比如刪除文件,使用-delete選項(xiàng);刪除測試目錄下所有的.txt普通文件

Linux/Unix的find命令的主要功能

還可以利用-exec選項(xiàng)結(jié)合其他命令對文件進(jìn)行更高效的操作,更改文件的所屬權(quán),復(fù)制文件等,find命令使用一對花括號{}代表文件名,對于每一個匹配到的文件,find命令會將{}替換成相應(yīng)的文件名; 如果-exec的命令有多個參數(shù)時,需要注意結(jié)尾使用 " \; " 或者 "+",前者表示進(jìn)行轉(zhuǎn)義,不然系統(tǒng)會以為是find命令的結(jié)尾。

我們將測試目錄下的所有的.txt文件由用戶lihongbo轉(zhuǎn)換到用戶litao999,我們必須以root用戶進(jìn)行此操作,chown用于更改權(quán)限:

Linux/Unix的find命令的主要功能

指定find跳過特定的目錄

使用-prune選項(xiàng)可以跳過我們在搜尋的的一些明顯我們不需要的目錄

Linux/Unix的find命令的主要功能

跳過了./test1目錄

需要指出的是:選項(xiàng)出現(xiàn)的先后次序我們也應(yīng)該考慮到內(nèi),因?yàn)樗鼤绊懙秸麠l命令的執(zhí)行效率。

到此,相信大家對“Linux/Unix的find命令的主要功能”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁名稱:Linux/Unix的find命令的主要功能
文章轉(zhuǎn)載:http://bm7419.com/article18/jjcpgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、做網(wǎng)站、企業(yè)建站、用戶體驗(yàn)定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站