av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Unix系統(tǒng)命令Find的基本用法介紹

瀏覽:22日期:2024-06-17 10:18:37

Unix中的find 命令不僅能夠簡(jiǎn)單地用來(lái)定位文件,還可以自動(dòng)地執(zhí)行其他UNIX 命令的序列,其中使用所查找到的文件名作為輸入。 UNIX 的 find 命令可以刪除、復(fù)制、移動(dòng)和執(zhí)行其查找到的文件。另外,使用 -exec 參數(shù)可以根據(jù)您所需要的 UNIX 命令的序列來(lái)自動(dòng)地運(yùn)行這些文件。它甚至可以在對(duì)任何文件執(zhí)行這些操作前,進(jìn)一步讓您進(jìn)行確認(rèn)。

與大多數(shù) UNIX 命令一樣,UNIX find 命令具有一長(zhǎng)串令人生畏的選項(xiàng)和開關(guān),它們會(huì)阻礙人們深入地學(xué)習(xí)該命令,但正是因?yàn)槠浞秶鷱V闊,真正的Explorer并不會(huì)被它們嚇倒。一條好的通用原則在簡(jiǎn)化一個(gè)復(fù)雜問(wèn)題時(shí)都會(huì)經(jīng)過(guò)漫長(zhǎng)的過(guò)程。啟動(dòng)一個(gè)xterm,并嘗試執(zhí)行下面的命令:

$ find . -name *.gif -exec ls {} ;

-exec 參數(shù)中包含了真正有價(jià)值的操作。當(dāng)查找到匹配搜索條件的文件時(shí),-exec 參數(shù)定義了將對(duì)這些文件進(jìn)行什么操作。

該示例告訴計(jì)算機(jī)進(jìn)行如下操作:

1. 從當(dāng)前文件夾開始往下搜索,緊跟在 find 之后,使用點(diǎn)號(hào) (.)。

2. 定位所有名稱以 .gif 結(jié)尾的文件(圖形文件)。

3. 列出所有查找到的文件,使用ls 命令。

需要對(duì) -exec 參數(shù)進(jìn)行更深入地研究。當(dāng)查找到匹配搜索條件的文件名時(shí),find 命令執(zhí)行 ls {} 字符串,用文件名和路徑代替文本 {}。

假設(shè)在搜索中查找到saturn.gif 文件,find 將執(zhí)行如下所示的命令: $ ls ./gif_files/space/solar_system/saturn.gif 本文余下的內(nèi)容建立在這條一般原則之上:仔細(xì)地使用 find 命令可以讓 UNIX 文件系統(tǒng)的管理工作變得更加容易。例如,如果您使用了 -fstype 參數(shù),find 命令可以根據(jù)查找到的文件所處的文件系統(tǒng)的類型來(lái)對(duì)命令進(jìn)行相應(yīng)的處理。

在 find 命令對(duì)查找到的文件執(zhí)行相應(yīng)命令前將對(duì)您進(jìn)行提示,這通常是非常有用的,您可以使用 -ok 參數(shù)告訴它繼續(xù)執(zhí)行該操作,接下來(lái)我們將對(duì)其進(jìn)行介紹。 可選的執(zhí)行 -ok 是 -exec 參數(shù)的一個(gè)重要的替代項(xiàng),它的行為和 -exec 一樣,但它會(huì)提示您是否要對(duì)文件運(yùn)行相應(yīng)的命令。

假設(shè)您想要?jiǎng)h除 home 目錄中的大部分 .txt 文件,但希望能夠逐個(gè)文件地執(zhí)行該操作。像 UNIX 中的 rm 命令那樣的刪除操作是很危險(xiǎn)的,因?yàn)楫?dāng)使用像 find 這樣的自動(dòng)化處理方式來(lái)查找文件時(shí),它可能一不小心會(huì)刪除重要的文件,您也許希望在刪除這些系統(tǒng)查找到的文件之前對(duì)其進(jìn)行仔細(xì)檢查。

下面的命令列出了您的 home 目錄中所有的 .txt 文件。要?jiǎng)h除這些文件,必須在 find 命令通過(guò)列出文件名提示您確認(rèn)操作時(shí)輸入 Y 或者 y: $ find $HOME/. -name *.txt -ok rm {} ; 它列出了查找到的每個(gè)文件,并且系統(tǒng)將暫停以等待您輸入 Y 或者 y。如果您按下 Enter 鍵,系統(tǒng)將不會(huì)刪除該文件。

-ok 參數(shù)允許您控制每個(gè)查找到的文件的自動(dòng)化處理過(guò)程,這樣就添加了一種避免自動(dòng)刪除文件的安全措施。

如果在使用 -ok 參數(shù)時(shí)涉及到過(guò)多的文件,那么一個(gè)好的方法是先運(yùn)行帶 -exec 的 find 命令以列出所有將要?jiǎng)h除的文件,然后在經(jīng)過(guò)檢查確保其中不會(huì)刪除重要的文件后,再次運(yùn)行該命令,其中用 rm 代替 ls。 -exec 和 -ok 都非常有用,您必須確定在當(dāng)前情況下哪一個(gè)能夠更好的工作。請(qǐng)記住,安全第一!

您可以使用 find 命令來(lái)清除目錄或子目錄中在正常使用過(guò)程中生成的臨時(shí)文件,這樣可以節(jié)省磁盤空間。要實(shí)現(xiàn)該操作,請(qǐng)使用下面的命令: $ find . ( -name a.out -o -name '*.o' -o -name 'core' ) -exec rm {} ; 括號(hào)中的文件掩碼 標(biāo)識(shí)出了需要?jiǎng)h除的文件類型,每個(gè)文件掩碼的前面都有 -name。該列表可以擴(kuò)展為包括您需要清除的系統(tǒng)中的任何臨時(shí)文件類型。在代碼的編譯和連接過(guò)程中,程序員及其工具會(huì)生成示例中的那些文件類型:a.out、*.o 和 core。其他的用戶通常也會(huì)生成類似的臨時(shí)文件,可以使用如 *.tmp、*.junk 等文件掩碼來(lái)對(duì)命令進(jìn)行相應(yīng)的編輯。

find 命令允許您復(fù)制目錄中的全部?jī)?nèi)容,同時(shí)保持每個(gè)文件和子目錄的權(quán)限、時(shí)間和所有權(quán)。要完成該操作,需要組合使用 find 和 cpio命令。

標(biāo)簽: Unix系統(tǒng)
主站蜘蛛池模板: 久久精品一区二 | 日本三级网站在线观看 | 久久久久国产精品午夜一区 | 日韩av福利在线观看 | 久久精品国产99国产精品亚洲 | 中文在线一区二区 | 国产一区二区自拍 | 精品国产乱码久久久久久图片 | 免费视频色 | 中文字幕在线观看视频网站 | 超碰在线播 | 久久精品视频12 | 91黄色免费看 | 欧美亚洲国产一区二区三区 | 91精品久久久久久久久 | 九七午夜剧场福利写真 | 欧美久久久久 | 综合一区二区三区 | 欧美日本韩国一区二区 | 国产yw851.c免费观看网站 | 国产美女在线观看 | cao在线 | 国产乱码精品1区2区3区 | 一级毛片视频在线观看 | 日本久草视频 | 国产日韩久久 | 黄色一级片在线播放 | 日本亚洲欧美 | 欧美在线视频一区二区 | 97精品国产97久久久久久免费 | 精品一级 | 91视频在线看 | 亚洲国产一区二区三区在线观看 | 欧美一区二区三区高清视频 | av毛片在线| 国产精品精品久久久 | 99精品久久| 日本精品久久久一区二区三区 | 精品免费在线 | 亚洲国产精品一区二区久久 | 免费中文字幕 |