YUM ile arama
yum search
Komut search
zaten paket adları ve özetleri içinde alt dizeler aradığından, genellikle arama yaparken normal ifadeler (globs) kullanmazsınız . Bunu nasıl bilebilirim? Bunu kullandığınızda bunu söyleyen bir mesaj var yum search
.
Yalnızca ad ve özet eşleşmeleri, her şey için "tümünü ara" seçeneğini kullanın.
NOT: Dize [cl-*]
teknik olarak Bash kabuğundaki bir küredir.
Yani genellikle istediğiniz dizelerin parçalarını ararsınız search
. Belirli paketleri ararken normal ifadeler devreye girer. Bunlar list
ve gibi YUM komutlarıdır install
.
Örneğin:
$ yum list cl-* | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
Available Packages
cl-asdf.noarch 20101028-5.fc19 fedora
cl-clx.noarch 0.7.4-4.3 home_zhonghuaren
cl-ppcre.noarch 2.0.3-3.3 home_zhonghuaren
Regexes / globs ile dikkatli olmanız gereken tek uyarı, kabuğunuzda da eşleşecekleri şekilde adlandırılmış dosyalar varsa cl-*
. Bu durumlarda kabuğunuz YUM'a sunulmadan önce normal regex / glob'u genişletecektir.
Bunun yerine çalışan yum list cl-*
komutunu koşacağım yum list cl-file
regex / topak uyan bir dosya varsa, cl-*
.
Örneğin:
$ ls cl-file
cl-file
$ yum list cl-*
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.steadfast.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.steadfast.net
Error: No matching Packages to list
Joker karakterden şu şekilde kaçarak bu duruma karşı korunabilirsiniz:
$ yum list cl-\* | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
Available Packages
cl-asdf.noarch 20101028-5.fc19 fedora
cl-clx.noarch 0.7.4-4.3 home_zhonghuaren
cl-ppcre.noarch 2.0.3-3.3 home_zhonghuaren
Peki ya parantezler
Yerel dizininizde [cl-*]
bağımsız değişken olarak kullanıldığında eşleşen dosyalarınız olduğundan şüpheleniyorum yum search
. Kabuk tarafından eşleştirildikten sonra bu dosyalar, daha yum search
sonra bulunan eşleşmelerin bulunduğu komuta aktarıldı .
Örneğin:
$ ls cl-file
cl-file
$ yum search cl-*
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
======================================================================= N/S matched: cl-file =======================================================================
opencl-filesystem.noarch : OpenCL filesystem layout
Name and summary matches only, use "search all" for everything.
NOT: Benim dosya adının eşleştirildi maç şeyden cl-file
değil, cl-*
ben amacı vardı gibi.
cl-*
düzenli bir ifade değil, ne denirseglob
. Bu normal bir dildir (Chomskian terimleriyle), ancak normal bir dil için bir dilbilgisi tanımlarsa (en az üç temel işlem kullanarak: birleştirme, değiştirme ve Kleene yıldızı) bir şeyin normal bir ifade olduğunu söyleriz.