grep、 fgrep hé egrep mìng lìng
zhè zǔ mìng lìng yǐ zhǐ dìng mó shì sōu suǒ wén jiàn, bìng tōng zhī yòng hù zài shénme wén jiàn zhōng sōu suǒ dào yǔ zhǐ dìng de mó shì pǐ pèi de zì fú chuàn, bìng dǎ yìn chū suǒ yòu bāo hán gāi zì fú chuàn de wén běn xíng, zài gāi wén běn xíng de zuì qián miàn shì gāi xíng suǒ zài de wén jiàn míng。 grep mìng lìng yī cì zhǐ néng sōu suǒ yī gè zhǐ dìng de mó shì; egrep mìng lìng jiǎn suǒ kuò zhǎn de zhèng zé biǎo dá shì( bāo kuò biǎo dá shì zǔ hé kě xuǎn xiàng); fgrep mìng lìng jiǎn suǒ gù dìng zì fú chuàn, tā bù shí bié zhèng zé biǎo dá shì, shì kuài sù sōu suǒ mìng lìng。
zhè zǔ mìng lìng zài sōu suǒ yǔ dìng wèi wén jiàn zhōng tè dìng de zhù tí fāng miàn fēi cháng yòu yòng。 yào sōu suǒ de mó shì kě yǐ bèi rèn wéi shì yī xiē guān jiàn cí, nín kě yǐ yòng tā men lái sōu suǒ wén jiàn zhōng bāo hán de zhè xiē guān jiàn cí。 biān xiě chéng xù shí, kě yǐ yòng tā lái xún zhǎo mǒu yī gè hán shù, huò shì xiāng guān de cí zǔ。 grep mìng lìng de sōu suǒ gōng néng bǐ fgrep qiáng dà, yīn wéi grep mìng lìng de sōu suǒ mó shì kě yǐ shì zhèng zé biǎo dá shì, ér fgrep què bù néng。 yòu guān zhèng zé biǎo dá shì qǐng cān jiàn shell yī zhāng。
gāi zǔ mìng lìng zhōng de měi yī gè mìng lìng dōuyòu yī zǔ xuǎn xiàng, lì yòng zhè xiē xuǎn xiàng kě yǐ gǎi biàn qí shū chū fāng shì。 lì rú, kě yǐ zài sōu suǒ dào de wén běn xíng shàng jiā rù xíng hào, huò zhě zhǐ shū chū wén běn xíng de xíng hào, huò zhě shū chū suǒ yòu yǔ sōu suǒ mó shì bù pǐ pèi de wén běn xíng, huò zhǐ jiǎn dān dì shū chū yǐ sōu suǒ dào zhǐ dìng mó shì de wén jiàn míng, bìng qiě kě yǐ zhǐ dìng zài chá zhǎo mó shì shí hū lüè dà xiǎo xiě。
zhè zǔ mìng lìng zài zhǐ dìng de shū rù wén jiàn zhōng chá zhǎo yǔ mó shì pǐ pèi de xíng。 rú guǒ méi yòu zhǐ dìng wén jiàn, zé cóng biāo zhǔn shū rù zhōng dú qǔ。 zhèng cháng qíng kuàng xià, měi gè pǐ pèi de xíng bèi xiǎn shì dào biāo zhǔn shū chū。 rú guǒ yào chá zhǎo de wén jiàn shì duō gè, zé zài měi yīháng shū chū zhī qián jiā shàng wén jiàn míng。
yǔ fǎ:
grep[ xuǎn xiàng ][ chá zhǎo mó shì ][ wén jiàn míng 1, wén jiàn míng 2, …… ]
egrep[ xuǎn xiàng ][ chá zhǎo mó shì ][ wén jiàn míng 1, wén jiàn míng 2,…… ]
fgrep[ xuǎn xiàng ][ chá zhǎo mó shì ][ wén jiàn míng 1, wén jiàn míng 2,…… ]
zhè zǔ mìng lìng gè xuǎn xiàng de hán yì wéi:
-e měi gè mó shì zuò wéi yī gè kuò zhǎn de zhèng zé biǎo dá shì duì dài。
-f měi gè mó shì zuò wéi yī zǔ gù dìng zì fú chuàn duì dài( yǐ xīn xíng fēn gé), ér bù zuò wéi zhèng zé biǎo dá shì。
-b zài shū chū de měi yī xíng qián xiǎn shì bāo hán pǐ pèi zì fú chuàn de xíng zài wén jiàn zhōng de zì jié piān yí liàng。
-c zhǐ xiǎn shì pǐ pèi xíng de shù liàng。
-i bǐ jiào shí bù qū fēn dà xiǎo xiě。
-h zài chá zhǎo duō gè wén jiàn shí, zhǐ shì grep bù yào jiāng wén jiàn míng jiā rù dào shū chū zhī qián。
-l xiǎn shì shǒu cì pǐ pèi chuàn suǒ zài de wén jiàn míng bìng yòng huàn xíng fú jiāng qí gé kāi。 dāng zài mǒu wén jiàn zhōng duō cì chū xiàn pǐ pèi chuàn shí, bù zhòng fù xiǎn shì cǐ wén jiàn míng。
-n zài shū chū qián jiā shàng pǐ pèi chuàn suǒ zài xíng de xíng hào( wén jiàn shǒu xíng xíng hào wéi 1)。
-v zhǐ xiǎn shì bù bāo hán pǐ pèi chuàn de xíng。
-x zhǐ xiǎn shì zhěng xíng yán gé pǐ pèi de xíng。
-eexpression zhǐ dìng jiǎn suǒ shǐ yòng de mó shì。 yòng yú fáng zhǐ yǐ “ - ” kāi tóu de mó shì bèi jiě shì wéi mìng lìng xuǎn xiàng。
-fexpfile cóng expfile wén jiàn zhōng huò qǔ yào sōu suǒ de mó shì, yī gè mó shì zhàn yīháng。
duì gāi zǔ mìng lìng de shǐ yòng hái xū zhù yì yǐ xià fāng miàn:
zài mìng lìng hòu jiàn rù sōu suǒ de mó shì, zài jiàn rù yào sōu suǒ de wén jiàn。 qí zhōng, wén jiàn míng liè biǎo zhōng yě kě yǐ shǐ yòng tè shū zì fú, rú“ *” děng, yòng lái shēng chéng wén jiàn míng liè biǎo。 rú guǒ xiǎng zài sōu suǒ de mó shì zhōng bāo hán yòu kònggé de zì fú chuàn, kě yǐ yòng dān yǐn hào bǎ yào sōu suǒ de mó shì kuò qǐ lái, yòng lái biǎo míng sōu suǒ de mó shì shì yóu bāo hán kònggé de zì fú chuàn zǔ chéng。 fǒu zé, shell jiāng bǎ kònggé rèn wéi shì mìng lìng xíng cān shù de dìng jiè fú, ér grep mìng lìng jiāng bǎ sōu suǒ mó shì zhōng de dān cí jiě shì wéi wén jiàn míng liè biǎo zhōng de yī bù fēn。 zài xià miàn de lì zǐ zhōng, grep mìng lìng zài wén jiàn example zhōng sōu suǒ mó shì“ textfile”。
$grep ’ textfile’ example
yòng hù kě yǐ zài mìng lìng xíng shàng yòng shell tè shū zì fú lái shēng chéng jiāng yào sōu suǒ de wén jiàn míng liè biǎo。 zài xià miàn de lì zǐ zhōng, tè shū zì fú“ *” yòng lái shēng chéng yī gè wén jiàn míng liè biǎo, gāi liè biǎo bāo hán dāng qián mù lù xià suǒ yòu de wén jiàn。 gāi mìng lìng jiāng sōu suǒ chū dāng qián mù lù xià suǒ yòu wén jiàn zhōng yǔ mó shì pǐ pèi de xíng。
$grepdata*
tè shū zì fú zài sōu suǒ yī zǔ zhǐ dìng de wén jiàn shí fēi cháng yòu yòng。 lì rú, rú guǒ xiǎng sōu suǒ suǒ yòu de c chéng xù yuán wén jiàn zhōng tè dìng de mó shì, nín kě yǐ yòng“ *.c” lái zhǐ dìng wén jiàn míng liè biǎo。 jiǎ shè yòng hù de c chéng xù zhōng bāo hán yī xiē bù bì yào de zhuànxiàng yǔ jù( goto yǔ jù), xiǎng yào zhǎo dào zhè xiē yǔ jù, kě yǐ yòng rú xià de mìng lìng lái sōu suǒ bìng xiǎn shì suǒ yòu bāo hán goto yǔ jù de dài mǎ xíng:
$grepgoto*.c
yòng hù kě yǐ zài mìng lìng xíng shàng jiàn rù sōu suǒ mó shì, yě kě yǐ shǐ yòng -f xuǎn xiàng cóng zhǐ dìng wén jiàn zhōng dú qǔ yào sōu suǒ de mó shì。 zài wén jiàn zhōng, měi gè sōu suǒ mó shì zhàn yīháng。 rú guǒ jīng cháng yào sōu suǒ yī zǔ cháng jiàn zì fú chuàn shí, zhè gè gōng néng fēi cháng yòu yòng。 zài xià miàn de lì zǐ zhōng, yòng hù yào zài wén jiàn exam zhōng sōu suǒ zì fú chuàn“ editor” hé“ create”, jiù bǎ yào sōu suǒ de mó shì fàng zhì zài wén jiàn mypats zhōng, rán hòu, grep mìng lìng cóng wén jiàn mypats zhōng dú qǔ yào sōu suǒ de mó shì。
$catmypats
editor
create
$grep-fmypatsexam
wén jiàn chá zhǎo mìng lìng
find mìng lìng
gōng néng: zài mù lù jié gòu zhōng sōu suǒ wén jiàn, bìng zhí xíng zhǐ dìng de cāo zuò。 cǐ mìng lìng tí gōng liǎo xiāng dāng duō de chá zhǎo tiáo jiàn, gōng néng hěn qiáng dà。
yǔ fǎ: find qǐ shǐ mù lù xún zhǎo tiáo jiàn cāo zuò
shuō míng: find mìng lìng cóng zhǐ dìng de qǐ shǐ mù lù kāi shǐ, dì guī dì sōu suǒ qí gè gè zǐ mù lù, chá zhǎo mǎn zú xún zhǎo tiáo jiàn de wén jiàn bìng duì zhī cǎi qǔ xiāng guān de cāo zuò。
gāi mìng lìng tí gōng de xún zhǎo tiáo jiàn kě yǐ shì yī gè yòng luó ji yùn suàn fú not、 and、 or zǔ chéng de fù hé tiáo jiàn。 luó ji yùn suàn fú and、 or、 not de hán yì wéi:
( 1) and: luó ji yǔ, zài mìng lìng zhōng yòng“ -a” biǎo shì, shì xì tǒng quē shěng de xuǎn xiàng, biǎo shì zhǐ yòu dāng suǒ gěi de tiáo jiàn dū mǎn zú shí, xún zhǎo tiáo jiàn cái suàn mǎn zú。 lì rú:
$find ╟ name’ tmp’╟ xtypec-user’ inin’
gāi mìng lìng xún zhǎo sān gè gěi dìng tiáo jiàn dū mǎn zú de suǒ yòu wén jiàn。
( 2) or: luó ji huò, zài mìng lìng zhōng yòng“ -o” biǎo shì。 gāi yùn suàn fú biǎo shì zhǐ yào suǒ gěi de tiáo jiàn zhōng yòu yī gè mǎn zú shí, xún zhǎo tiáo jiàn jiù suàn mǎn zú。
lì rú:
$find╟ name’ tmp’╟ o╟ name’ mina*’
gāi mìng lìng chá xún wén jiàn míng wéi’ tmp’ huò shì pǐ pèi’ mina*’ de suǒ yòu wén jiàn。
( 3) not: luó ji fēi, zài mìng lìng zhōng yòng“!” biǎo shì。 gāi yùn suàn fú biǎo shì chá zhǎo bù mǎn zú suǒ gěi tiáo jiàn de wén jiàn。
lì rú:
$find!╟ name’ tmp’
gāi mìng lìng chá xún wén jiàn míng bù shì’ tmp’ de suǒ yòu wén jiàn。
xū yào shuō míng de shì: dāng shǐ yòng hěn duō de luó ji xuǎn xiàng shí, kě yǐ yòng kuò hào bǎ zhè xiē xuǎn xiàng kuò qǐ lái。 wèile bì miǎn shell běn shēn duì kuò hào yǐn qǐ wù jiě, zài huà hào qián xū yào jiā zhuǎn yì zì fú“” lái qù chú kuò hào de yì yì。
lì: $find(╟ name’ tmp’╟ xtypec-user’ inin’) xún zhǎo tiáo jiàn yòu yǐ xià xuǎn xiàng:
shǒu xiān, xià liè gè gè xuǎn xiàng zhōng de n zhí kě yǐ yòu sān zhǒng shū rù fāng shì, jiǎ shè n wéi 20, zé:
+20 biǎo shì 20 yǐ hòu( 21, 22, 23 děng)
-20 biǎo shì 20 yǐ qián( 19, 18, 17 děng)
20 biǎo shì zhèng hǎo shì 20
1. yǐ míng chēng hé wén jiàn shǔ xìng chá zhǎo。
-name’ zì chuàn’ chá zhǎo wén jiàn míng pǐ pèi suǒ gěi zì chuàn de suǒ yòu wén jiàn, zì chuàn nèi kě yòng tōng pèi fú *、 ?、 []。
-lname’ zì chuàn’ chá zhǎo wén jiàn míng pǐ pèi suǒ gěi zì chuàn de suǒ yòu fú hào liàn jiē wén jiàn, zì chuàn nèi kě yòng tōng pèi fú *、 ?、 []。
-gidn chá zhǎo shǔ yú id hào wéi n de yòng hù zǔ de suǒ yòu wén jiàn。
-uidn chá zhǎo shǔ yú id hào wéi n de yòng hù de suǒ yòu wén jiàn。
-group’ zì chuàn’ chá zhǎo shǔ yú yòng hù zǔ míng wéi suǒ gěi zì chuàn de suǒ yòu de wén jiàn。
-user’ zì chuàn’ chá zhǎo shǔ yú yòng hù míng wéi suǒ gěi zì chuàn de suǒ yòu de wén jiàn。
-empty chá zhǎo dà xiǎo wéi 0 de mù lù huò wén jiàn。
-path’ zì chuàn’ chá zhǎo lù jìng míng pǐ pèi suǒ gěi zì chuàn de suǒ yòu wén jiàn, zì chuàn nèi kě yòng tōng pèi fú *、 ?、 []。
-perm quán xiàn chá zhǎo jù yòu zhǐ dìng quán xiàn de wén jiàn hé mù lù, quán xiàn de biǎo shì kě yǐ rú 711, 644。
-sizen[bckw] chá zhǎo zhǐ dìng wén jiàn dà xiǎo de wén jiàn, n hòu miàn de zì fú biǎo shì dān wèi, quē shěng wéi b, dài biǎo 512 zì jié de kuài。
-typex chá zhǎo lèi xíng wéi x de wén jiàn, x wéi xià liè zì fú zhī yī:
b kuài shè bèi wén jiàn
c zì fú shè bèi wén jiàn
d mù lù wén jiàn
p mìng míng guǎn dào( fifo)
f pǔ tōng wén jiàn
l fú hào liàn jiē wén jiàn( symboliclinks)
ssocket wén jiàn
-xtypex yǔ -type jī běn xiāng tóng, dàn zhǐ chá zhǎo fú hào liàn jiē wén jiàn。
2. yǐ shí jiān wéi tiáo jiàn chá zhǎo
-aminn chá zhǎo n fēn zhōng yǐ qián bèi fǎng wèn guò de suǒ yòu wén jiàn。
-atimen chá zhǎo n tiān yǐ qián bèi fǎng wèn guò de suǒ yòu wén jiàn。
-cminn chá zhǎo n fēn zhōng yǐ qián wén jiàn zhuàng tài bèi xiū gǎi guò de suǒ yòu wén jiàn。
-ctimen chá zhǎo n tiān yǐ qián wén jiàn zhuàng tài bèi xiū gǎi guò de suǒ yòu wén jiàn。
-mminn chá zhǎo n fēn zhōng yǐ qián wén jiàn nèi róng bèi xiū gǎi guò de suǒ yòu wén jiàn。
-mtimen chá zhǎo n tiān yǐ qián wén jiàn nèi róng bèi xiū gǎi guò de suǒ yòu wén jiàn。
3. kě zhí xíng de cāo zuò
-exec mìng lìng míng chēng {} duì fú hé tiáo jiàn de wén jiàn zhí xíng suǒ gěi de linux mìng lìng, ér bù xún wèn yòng hù shì fǒu xū yào zhí xíng gāi mìng lìng。 {} biǎo shì mìng lìng de cān shù jí wéi suǒ zhǎo dào de wén jiàn; mìng lìng de mò wěi bì xū yǐ“;” jié shù。
-ok mìng lìng míng chēng {} duì fú hé tiáo jiàn de wén jiàn zhí xíng suǒ gěi de linux mìng lìng, yǔ exec bù tóng de shì, tā huì xún wèn yòng hù shì fǒu xū yào zhí xíng gāi mìng lìng。
-ls xiáng xì liè chū suǒ zhǎo dào de suǒ yòu wén jiàn。
-fprintf wén jiàn míng jiāng zhǎo dào de wén jiàn míng xiě rù zhǐ dìng wén jiàn。
-print zài biāo zhǔn shū chū shè bèi shàng xiǎn shì chá zhǎo chū de wén jiàn míng。
-printf gé shì gé shì de xiě fǎ qǐng cān kǎo yòu guān c yǔ yán de shū。
lì 1: chá zhǎo dāng qián mù lù zhōng suǒ yòu yǐ main kāi tóu de wén jiàn, bìng xiǎn shì zhè xiē wén jiàn de nèi róng。
$find.-name ‘ main*’ -execmore{};
lì 2: shān chú dāng qián mù lù xià suǒ yòu yī zhōu zhī nèi méi yòu bèi fǎng wèn guò de a.out huò *.o wén jiàn。
$find.( -namea.out-o-name‘ *.o’)
>-atime+7-execrm{};
shuō míng rú xià: mìng lìng zhōng de“ .” biǎo shì dāng qián mù lù, cǐ shí find jiāng cóng dāng qián mù lù kāi shǐ, zhú gè zài qí zǐ mù lù zhōng chá zhǎo mǎn zú hòu miàn zhǐ dìng tiáo jiàn de wén jiàn。( hé) biǎo shì kuò hào(), qí zhōng de“” chēng wéi zhuǎn yì fú。 zhī suǒ yǐ zhè yàng xiě shì yóu yú duì shell 'ér yán,( hé) lìng yòu bù tóng de hán yì, ér bù shì zhè lǐ de yòng yú zǔ hé tiáo jiàn de yòng tú。“ -namea.out” shì zhǐ yào chá zhǎo míng wéi a.out de wén jiàn;“ -name‘ *.o’” shì zhǐ yào chá zhǎo suǒ yòu míng zì yǐ .o jié wěi de wén jiàn。 zhè liǎng gè -name zhī jiān de -o biǎo shì luó ji huò( or), jí chá zhǎo míng zì wéi a.out huò míng zì yǐ .o jié wěi de wén jiàn, find zài dāng qián mù lù jí qí zǐ mù lù xià zhǎo dào zhè yáng de wén jiàn zhī hòu, zài jìn xíng pàn duàn, kàn qí zuì hòu fǎng wèn shí jiān shì fǒu zài 7 tiān yǐ qián( tiáo jiàn - atime+7), ruò shì, zé duì gāi wén jiàn zhí xíng mìng lìng rm( -execrm{};)。 qí zhōng {} dài biǎo dāng qián chá dào de fú hé tiáo jiàn de wén jiàn míng,; zé shì yǔ fǎ suǒ yào qiú de。 shàng shù mìng lìng zhōng dì yīháng de zuì hòu yī gè shì xù xíng fú。 dāng mìng lìng tài cháng 'ér zài yīháng xiě bù xià shí, kě shū rù yī gè, zhī hòu xì tǒng jiāng xiǎn shì yī gè >, zhǐ shì yòng hù jì xù shū rù mìng lìng。
locate mìng lìng
locate mìng lìng yòng yú chá zhǎo wén jiàn, tā bǐ find mìng lìng de sōu suǒ sù dù kuài, tā xū yào yī gè shù jù kù, zhè gè shù jù kù yóu měi tiān de lì xíng gōng zuò( crontab) chéng xù lái jiàn lì。 dāng wǒ men jiàn lì hǎo zhè gè shù jù kù hòu, jiù kě yǐ fāng biàn dì lái sōu xún suǒ xū wén jiàn liǎo。
gāi mìng lìng de yī bān xíng shì wéi:
locate xiāng guān zì
lì rú: chá zhǎo xiāng guān zì issue
$locateissue
/etc/issue
/etc/issue.net
/usr/man/man5/issue.5
/usr/man/man5/issue.net.5。 |
|
|