linux中find命令的高級(jí)運(yùn)用

linux中find命令的高級(jí)運(yùn)用

ID:32399629

大?。?3.50 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-02-04

linux中find命令的高級(jí)運(yùn)用_第1頁(yè)
linux中find命令的高級(jí)運(yùn)用_第2頁(yè)
linux中find命令的高級(jí)運(yùn)用_第3頁(yè)
linux中find命令的高級(jí)運(yùn)用_第4頁(yè)
資源描述:

《linux中find命令的高級(jí)運(yùn)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、Linux系統(tǒng)Find命令的三個(gè)高級(jí)應(yīng)用Find命令是Linux操作系統(tǒng)中一個(gè)很強(qiáng)大的工具。這個(gè)命令除了可以用來(lái)定位文件外,還有其他許多很實(shí)用的用途。如可以用來(lái)備份文件、交互式刪除文件、列舉文件清單等等。只要靈活應(yīng)用這些功能的話,那么對(duì)于系統(tǒng)工程師的日常工作就能夠起到事半功倍的效果。一、利用Find命令對(duì)文件進(jìn)行備份如在Linux操作系統(tǒng)中有一個(gè)用戶為oracle。系統(tǒng)會(huì)在Home目錄下自動(dòng)為這個(gè)用戶創(chuàng)建一個(gè)子目錄Oracle?,F(xiàn)在用戶希望能夠?qū)ψ约耗夸浵碌奈募M(jìn)行自動(dòng)備份,以防止文件的以外丟失。如下圖所示,現(xiàn)在系統(tǒng)工程師準(zhǔn)備把用戶目錄下面的文件備份到backu

2、p目錄下面,并把文件名字重命名為backup。這個(gè)功能可以實(shí)現(xiàn)呢?答案當(dāng)然是肯定的??梢岳胒ind命令結(jié)合cp命令來(lái)實(shí)現(xiàn)這個(gè)功能。1、文件的最后修改時(shí)間。在Linux系統(tǒng)的文件屬性中,有非常重要的三個(gè)時(shí)間截,分別為文件最后修改時(shí)間、文件最后訪問(wèn)時(shí)間、inode節(jié)點(diǎn)最后修改時(shí)間。一旦用戶對(duì)某個(gè)文件執(zhí)行了更改操作,則文件inode節(jié)點(diǎn)里的最后修改時(shí)間就會(huì)被更新了。需要注意的是,在Linux操作系統(tǒng)中目錄也被當(dāng)作文件的一種,為此對(duì)目錄的修改,如創(chuàng)建一個(gè)目錄或者更改目錄的名字也會(huì)被當(dāng)作文件的修改來(lái)對(duì)待。另外文件修改后,只會(huì)更改文件的修改時(shí)間,而不會(huì)影響到目錄的最后修改

3、時(shí)間。所以如果一個(gè)目錄下有一個(gè)文件更改了,則在備份的時(shí)候只需要備份這個(gè)更改的文件即可,而不需要備份這個(gè)目錄下其他沒(méi)有更改的文件。出于備份效率的考慮,在備份的時(shí)候只備份當(dāng)天修改過(guò)的文件。為此在備份時(shí)首先要做的就是找到這些最近更改過(guò)的文件。這個(gè)解決的思路就是從這個(gè)文件的最后修改時(shí)間入手。在find命令中有一個(gè)參數(shù)為mtime,它表示修改時(shí)間少于x天。如果我們把這個(gè)參數(shù)設(shè)置為1,那么find命令就可以找出在最近一天內(nèi)修改過(guò)的文件。為此只需要對(duì)這些找到的文件進(jìn)行備份即可。2、重命名文件。需要備份的文件找到之后,接下去要做的就是利用cp命令把這些文件復(fù)制到其他目錄中去。但

4、是這里還需要做的一件事情是在復(fù)制過(guò)去后需要把文件進(jìn)行重命名,即在原來(lái)文件的后面加上.backup,以提醒用戶這些是備份文件,不能夠刪除或者修改。要實(shí)現(xiàn)這個(gè)功能的話,就需要用到文件名的占位符號(hào)。如果利用cp命令復(fù)制文件后同時(shí)批量更改文件的名字,只需要使用cp{}{}.backup即可。這里的{}符號(hào)就是文件名的占位符號(hào)。cp{}{}.backup這個(gè)命令的功能就是先把文件復(fù)制到一個(gè)特定的目錄中,然后在對(duì)復(fù)制過(guò)去的每個(gè)文件進(jìn)行重命名,后面都依次加上.backup內(nèi)容。為此要實(shí)現(xiàn)上面文件備份的需要,只需要使用命令find/home/oracle–mtime1–exec

5、cp{}/backup/{}.backup;即可。執(zhí)行這個(gè)命令后,系統(tǒng)會(huì)在用戶主目錄下尋找所有修改時(shí)間少于1天的文件,并把找到的文件復(fù)制到/backup目錄下。并在每一個(gè)原始文件后面增加一個(gè)擴(kuò)展名.backup。最后的;是一個(gè)固定格式必須要有。然后系統(tǒng)工程師只需要把這個(gè)命令加入到cron中,讓操作系統(tǒng)在每天中午或者其他空閑的時(shí)間周期性執(zhí)行這個(gè)命令即可。如此的話,操作系統(tǒng)就會(huì)自動(dòng)對(duì)用戶的文件進(jìn)行備份,以防止文件意外損壞或者修改所造成的損失。另外需要注意的是,在Linux操作系統(tǒng)中find命令只可以找到最近一天修改的文件。而在Linux操作系統(tǒng)中,還有mmin參

6、數(shù),這個(gè)參數(shù)是以分鐘為單位,如可以找到那些最近4個(gè)小時(shí)或者1個(gè)小時(shí)之內(nèi)修改過(guò)的文件,從而提高備份的頻率。為此系統(tǒng)工程師可以根據(jù)用戶的需要來(lái)調(diào)整文件備份的頻率。不過(guò)筆者認(rèn)為,一般情況下文件備份一天一次即可。二、把找到的文件清單保存到文件中Find命令還可以根據(jù)文件的權(quán)限來(lái)查找。如把用戶主目錄下所有用戶都可以讀寫(xiě)的文件找出來(lái)。這些文件所有的用戶都可以修改,為此具有一定的安全隱患。系統(tǒng)工程師可能希望把這些文件對(duì)應(yīng)的清單保存到一個(gè)文件中,然后他們可以根據(jù)這份清單一個(gè)個(gè)的去調(diào)整權(quán)限。如果只是顯示在屏幕中的話,對(duì)于他們后需的工作很不方便??偛荒軌蚰霉P抄下來(lái)或者每修改一個(gè)執(zhí)行

7、一下查詢命令吧?為此把找到的文件清單保存到一個(gè)文本文件中是必需的。要實(shí)現(xiàn)這個(gè)需求的話,可以采用如下命令:Find/home–perm666–typef–ls>detail.txt在這條命令中,條件語(yǔ)句中主要用了兩個(gè)參數(shù),分別為權(quán)限參數(shù)perm與文件類型參數(shù)-type。在Linux操作系統(tǒng)中主要包括三類文件(其余幾類不怎么用),分別為普通文件、目錄文件與連接文件。這里只需要尋找普通文件,為此就可以利用-type參數(shù)來(lái)指定需要查找的文件類型。另外值得注意的是,如果在條件語(yǔ)句中有多個(gè)參數(shù)話,則其默認(rèn)會(huì)采取的是與運(yùn)算,即必須同時(shí)滿足以上兩個(gè)條件的文件才會(huì)被查找出來(lái)。如果

8、系統(tǒng)工程師需要采用或預(yù)算

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。