YUM으로 검색
yum search
명령 search
이 이미 패키지 이름과 요약 내에서 하위 문자열을 찾기 때문에 검색 할 때 일반적으로 정규 표현식 (글로브)을 사용하지 않습니다 . 이것을 어떻게 알 수 있습니까? 를 사용할 때 알려주는 메시지가 있습니다 yum search
.
이름과 요약 만 일치하며 모든 항목에 "모두 검색"을 사용하십시오.
참고 : 문자열 [cl-*]
은 기술적으로 Bash 셸에서 glob입니다.
따라서 일반적으로 원하는 문자열 조각을 찾습니다 search
. 특정 패키지를 찾을 때 정규식이 작동합니다. 이 명령이 좋아하는 YUM 있습니다 list
와 install
.
예를 들면 다음과 같습니다.
$ 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
정규식 / 글로브에 대해주의해야 할 유일한 경고는 쉘 내에 파일이 일치하도록 이름이 지정된 경우입니다 cl-*
. 이 경우 쉘은 정규식 / 글로브를 YUM에 제공하기 전에 확장합니다.
따라서 regex / glob와 일치하는 파일이 있으면 yum list cl-*
실행하는 대신 명령을 실행합니다 .yum list cl-file
cl-*
예를 들면 다음과 같습니다.
$ 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
다음과 같이 와일드 카드를 이스케이프 처리하여 이러한 상황을 방지 할 수 있습니다.
$ 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
괄호는 어떻습니까?
에 [cl-*]
대한 인수로 사용할 때 일치하는 파일이 로컬 디렉토리에 있다고 생각합니다 yum search
. 쉘과 일치시킨 후이 파일들은 yum search
어디에서 일치하는지 찾는 명령 으로 전달 되었습니다.
예를 들면 다음과 같습니다.
$ 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.
참고 : 위의 일치는 내 파일 이름과 일치 하지만 의도 cl-file
한 cl-*
것과 일치 하지 않습니다 .
cl-*
은 정규 표현식이 아니지만glob
그것이 부르는 것 또는 그 밖의 것입니다. 그것은 Chomskian 용어로 정규 언어이지만 정규 언어에 대한 문법을 정의하면 (연쇄, 변경 및 Kleene 별의 세 가지 기본 연산을 사용하여) 정규 표현식이라고 말합니다.