이 질문 ( kubuntu 12.04 설치에서 그놈을 어떻게 제거 할 수 있습니까? )에는 물음표가있는 명령이 있습니다.
sudo apt-get remove --purge ubuntu-desktop
sudo apt-get remove --purge unity?
sudo apt-get remove --purge gnome?
그들은 무엇을 의미합니까?
이 질문 ( kubuntu 12.04 설치에서 그놈을 어떻게 제거 할 수 있습니까? )에는 물음표가있는 명령이 있습니다.
sudo apt-get remove --purge ubuntu-desktop
sudo apt-get remove --purge unity?
sudo apt-get remove --purge gnome?
그들은 무엇을 의미합니까?
답변:
이를 와일드 카드 (글 로빙 패턴)라고합니다.
표준 와일드 카드 (글 로빙 패턴이라고도 함)는 여러 명령 줄 유틸리티에서 여러 파일을 처리하는 데 사용됩니다.
표준 와일드 카드는 거의 모든 명령 (mv, cp, rm 및 기타 여러 명령 포함)에서 사용됩니다.
(question mark)
이것은 단일 문자를 나타낼 수 있습니다. "hd?"와 같은 명령 행에서 무언가를 지정한 경우 GNU / Linux는 hda, hdb, hdc 및 az, 0-9 사이의 다른 모든 문자 / 숫자를 찾습니다.
*(asterisk)
이것은 임의의 수의 문자를 나타낼 수 있습니다 (0을 포함하여 0 개 이상의 문자 포함). "cd *"를 지정한 경우 "cda", "cdrom", "cdrecord"및 "cd"자체를 포함하여 "cd"로 시작하는 모든 항목을 사용합니다. "m * l"은 mill, mull, ml 및 m으로 시작하고 l로 끝나는 모든 것이 가능합니다.
[ ] (square brackets)
범위를 지정합니다. 만약 당신이 m [a, o, u] m을했다면 : mam, mum, mom 만약 당신이했다면 : m [ad] m m으로 시작하고 끝나는 어떤 것이 될 수 있으며, a에서 d 사이의 어떤 문자도 가질 수 있습니다. 예를 들어 mam, mbm, mcm, mdm과 같이 작동합니다. 이러한 종류의 와일드 카드는 "또는"관계를 지정합니다 (일치하는 관계 만 필요).
{ } (curly brackets)
용어는 쉼표로 구분되며 각 용어는 이름 또는 와일드 카드 이름이어야합니다. 이 와일드 카드는 와일드 카드 또는 정확한 이름 (“또는”관계 중 하나 또는 다른 하나)과 일치하는 항목을 복사합니다.
예를 들어 다음과 같습니다.
cp { .doc, .pdf} ~
이것은 .doc 또는 .pdf로 끝나는 모든 것을 사용자의 홈 디렉토리에 복사합니다. 쉼표 뒤에 (또는 다른 곳) 뒤에 공백을 사용할 수 없습니다.
[!]
이 구문은 대괄호 안에있는 문자와 일치하지 않고 [와] 사이에 나열되지 않는 한 모든 문자와 일치합니다. 이것은 논리적 NOT입니다. 예를 들어, rm myfile [! 9]는 모든 myfiles * (예 : myfiles1, myfiles2 등)를 제거하지만 이름 내 9의 번호를 가진 파일은 제거하지 않습니다.
\ (backslash)
"이스케이프"문자, 즉 후속 특수 문자를 보호하는 데 사용됩니다. 따라서 "\"는 백 슬래시를 검색하므로 따옴표와 백 슬래시를 사용해야 할 수도 있습니다.
더 많은 예를 보려면 : 이 페이지를 방문하십시오
Standard wildcards are used by nearly any command (including mv, cp, rm and many others).=> 거짓. 이러한 와일드 카드는 쉘에 의해 확장되고 있으며 명령이받는 것은 패턴 대신 확장 (즉, 패턴과 일치하는 파일)의 결과입니다. (패턴과 일치하는 파일이없는 경우 해당 패턴은 명령에 직접 전달됩니다)
일반적으로 Bash에서 a ?는 임의의 문자로 확장되는 glob 패턴입니다.
예를 들면 다음과 같습니다.
$ echo Hello1 > foo1
$ echo Hello2 > foo2
$ cat foo?
Hello1
Hello2
그것은 가깝다 *하지만 *확장되어 0 개 이상의 문자, 한동안 ?로 확장 정확히 하나 (임의) 문자.
그러나 특별한 경우 ?에는 명령의 오타가 분명했습니다.
apt-get RE를 이해하지만 호출 된 파일 gnome1이 현재 디렉토리에 존재하면 apt-get이 볼 기회가 있기 전에 쉘이 파일을 확장합니다.
apt-get remove필요 하다는 점 은 언급 할 가치가 있습니다. 쉘에 의한 와일드 카드 확장은 거의 쓸모가 없습니다. 다양한 패키지를 제거하려면 셸이 해당 패키지를 글로브 (예 :)로 해석하지 못하도록 적절히 인용 된 전체 정규식을 사용해야합니다 .apt-get remove 'gnome.*'