国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

find和xargs

2024-06-28 14:32:46
字體:
供稿:網(wǎng)友

 

find 命令的一般形式為

find pathname -options [-PRint -exec -ok]

讓我們來看看該命令的參數(shù):

pathname find命令所查找的目錄路徑。例如用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄。

-print find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。

-exec find命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的s h e l l命令。相應(yīng)命令的形式為' c o m m -and' {} /;,注意{ }和/;之間的空格。

-ok 和- e x e c的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的s h e l l命令,在執(zhí)行每一個(gè)命令之前,都會(huì)給出提示,讓用戶來確定是否執(zhí)行。

1.1 find命令選項(xiàng)

-name

按照文件名查找文件。

-perm

按照文件權(quán)限來查找文件。

-prune

使用這一選項(xiàng)可以使f i n d命令不在當(dāng)前指定的目錄中查找,如果同時(shí)使用了- d e p t h選項(xiàng),那么- p r u n e選項(xiàng)將被f i n d命令忽略。

-user

按照文件屬主來查找文件。

-group

按照文件所屬的組來查找文件。

-mtime -n +n

按照文件的更改時(shí)間來查找文件, - n表示文件更改時(shí)間距現(xiàn)在n天以內(nèi),+ n表示文件更改時(shí)間距現(xiàn)在n天以前。

-newer file1 ! File2

查找更改時(shí)間比文件f i l e 1新但比文件f i l e 2舊的文件。

-nogroup

查找無有效所屬組的文件,即該文件所屬的組在/ e t c / g r o u p s中不存在。

-nouser

查找無有效屬主的文件,即該文件的屬主在/ e t c / p a s s w d中不存在。

-type

查找某一類型的文件,諸如:

 

b - 塊設(shè)備文件。

 

d - 目錄。

 

c - 字符設(shè)備文件。

 

p - 管道文件。

 

l - 符號(hào)鏈接文件。

 

f - 普通文件。

-size n[c]

查找文件長度為n塊的文件,帶有c時(shí)表示文件長度以字節(jié)計(jì)。

-depth

在查找文件時(shí),首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找。

-fstype

查找位于某一類型文件系統(tǒng)中的文件,這些文件系統(tǒng)類型通常可以在配置文件/ e t c / f s t a b中找到,該配置文件中包含了本系統(tǒng)中有關(guān)文件系統(tǒng)的信息。

-mount

在查找文件時(shí)不跨越文件系統(tǒng)m o u n t點(diǎn)。

-follow

如果f i n d命令遇到符號(hào)鏈接文件,就跟蹤至鏈接所指向的文件。

-cpio

對(duì)匹配的文件使用c p i o命令,將這些文件備份到磁帶設(shè)備中。

1.1.1 mtime

列出當(dāng)前目錄下一天以內(nèi)的文件

find . -mtime -1 -print

列出當(dāng)前目錄下3天以前的文件

find . -mtime +3 –print

1.1.2 newer

查看當(dāng)前目錄下比orcl1_mmon_4503.trc新,但比orcl1_rcbg_6676.trc舊的文件。

find . -newer orcl1_mmon_4503.trc ! -newer orcl1_rcbg_6676.trc -exec ls -l {} /;

$ touch 1.txt

$ touch 2.txt

$ find . -newer 1.txt

.

./2.txt

1.1.3 size

查看大小恰好為1個(gè)塊大小的文件

$ find . -size 1 -print

./1.txt

查看恰好為2個(gè)字節(jié)的文件(默認(rèn)一個(gè)英文字母占兩個(gè)字節(jié))

$ find . -size 2c -print

./1.txt

查看超過一個(gè)塊大小的文件

find . –size +1 -print

1.1.4 depth

首先查找所有的文件,然后再進(jìn)入子目錄查尋

$ find . -name "awr*" -depth -print

find: warning: you have specified the -depth option after a non-option argument -name, but options are not positional (-depth affects tests specified before it as well as those specified after it). Please specify options before other arguments.

./awrrpt_rac_45_53.html

1.1.5 使用exec 或 ok 執(zhí)行命令

查看當(dāng)前目錄下的普通文件(不包含目錄,但會(huì)遞歸查找子目錄下的所有文件)

find . –type f -exec ls -l {} /;

刪除日志目錄下5天前的普通文件(子目錄不會(huì)被刪除)

find log –type f –mtime +5 –exec rm {} /;

刪除當(dāng)前目錄log下及其子目錄下所有普通文件(子目錄不會(huì)被刪除)

find log -type f -exec rm -rf {} /;

ok操作需要進(jìn)行確認(rèn)

$ find . -type f -ok rm -rf {} /;

< rm ... ./b > ? y

< rm ... ./a > ? y

查看指定文件中指定的相關(guān)內(nèi)容。首先匹配所有文件名為“ passwd *”的文件,例如passwd、passwd . old、passwd . bak,然后執(zhí)行g(shù)rep命令看看在這些文件中是否存在一個(gè)admin用戶。

find /etc/ -name "passwd*" -exec grep "admin" {} /;

admin:x:903:503::/home/admin:/bin/bash

查看Oracle日志中的錯(cuò)誤信息

[oracle@r7 trace]$ find . -name "orcl*" -exec grep "ORA-" {} /;

1.2 xarg

F i n d命令把匹配到的文件傳遞給x a rg s命令,而x a rg s命令每次只獲取一部分文件而不是全部,不像- e x e c選項(xiàng)那樣。這樣它可以先處理

最先獲取的一部分文件,然后是下一批,并如此繼續(xù)下去。在有些系統(tǒng)中,使用- e x e c選項(xiàng)會(huì)為處理每一個(gè)匹配到的文件而發(fā)起一個(gè)相應(yīng)的進(jìn)程,并非將匹配到的文件全部作為參數(shù)一次執(zhí)行;這樣在有些情況下就會(huì)出現(xiàn)進(jìn)程過多,系統(tǒng)性能下降的問題,因而效率不高;而使用x a rg s命令則只有一個(gè)進(jìn)程。另外,在使用x a rg s命令時(shí),究竟是一次獲取所有的參數(shù),還是分批取得參數(shù),以及每一次獲取參數(shù)的數(shù)目都會(huì)根據(jù)該命令的選項(xiàng)及系統(tǒng)內(nèi)核中相應(yīng)的可調(diào)參數(shù)來確定。

下面的例子在整個(gè)系統(tǒng)中查找內(nèi)存信息轉(zhuǎn)儲(chǔ)文件(core dump) ,然后把結(jié)果保存到/tmp/core.log 文件中:

$ find . -name "core" -print | xargs echo "" >/tmp/core.log

下面的例子在/ a p p s / a u d i t目錄下查找所有用戶具有讀、寫和執(zhí)行權(quán)限的文件,并收回相應(yīng)的寫權(quán)限:

$ find /apps/audit -perm -7 -print | xargs chmod o-w

在下面的例子中,我們用g r e p命令在所有的普通文件中搜索d e v i c e這個(gè)詞:

$ find / -type f -print | xargs grep "device"

在下面的例子中,我們用g r e p命令在當(dāng)前目錄下的所有普通文件中搜索D B O這個(gè)詞:

$ find . -name /-type f -print | xargs grep "DBO"

注意,在上面的例子中, /用來取消f i n d命令中的*在s h e l l中的特殊含義。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 铜川市| 静海县| 明水县| 浦县| 六安市| 子长县| 富顺县| 雷山县| 观塘区| 措勤县| 延津县| 明水县| 香格里拉县| 泰和县| 瑞昌市| 霸州市| 鹿邑县| 霍州市| 徐汇区| 大关县| 沙雅县| 上饶市| 建湖县| 涡阳县| 凤城市| 清丰县| 云霄县| 上高县| 林西县| 瑞丽市| 文登市| 修水县| 军事| 石泉县| 平遥县| 唐河县| 贵州省| 新竹县| 中江县| 德安县| 尉犁县|