롯 방울과 파이프 of Unix는 콘솔에서 작업 할 때 많은 경우에 매우 유용합니다. 모두 파이프를 사용했거나 와일드 카드 *와 같은 유명한 문자를 사용하여 이름 등을 대체했습니다. 글쎄, 분명히 그들은 하나 이상의 파일을 제외하고 디렉토리의 모든 파일을 삭제하려는 문제에 직면했습니다. 적 으면 문제가되지 않으며 그래픽 모드에서도 쉽게 할 수 있습니다.
그러나 많은 경우 우리는 콘솔에서 작업 상황이 조금 더 복잡해집니다. 그러나 그것은 우리가 자원이 없기 때문입니다. 복잡한 작업을 매우 단순한 것으로 변환하는 데 도움이되는 간단한 옵션이 있기 때문입니다. 글쎄,이 간단한 튜토리얼에서 우리는 간단한 기호를 사용하여 어떻게 하는지를 설명합니다. 글쎄, 연습하러 가자.
우선, 나는 우리가 가지고 있다고 상상할 것입니다 디렉토리 내부에있는 모든 .jpeg 이미지 파일을 삭제하려는 사진이라고합니다. 100 장의 사진이 있다고 가정 해 봅시다. 그리고 nat7.jpg라는 이름 중 하나를 제외하고 모두 삭제하려고합니다. 첫 번째 단계는 cd 명령을 사용하여 해당 디렉토리로 이동하는 것입니다. 예를 들면 :
cd /home/Fotos
그런 다음 원할 때 자주하는 것처럼 rm 명령을 사용합니다. 지우다 그러나 우리는 우리가 유지하고 싶은 사진을 제외한 모든 것을 지우고 싶다는 것을 나타낼 것입니다. 왜냐하면 우리는 캐릭터를 사용할 것입니다! 다음과 같이 :
rm -f !(nat7.jpg)
이를 통해 rm에 대한 삭제를 거부하여 nat7.jpg라는 파일을 제외한 모든 것을 삭제합니다. 디렉토리로 이동하여 목록 원하는 사진을 제외한 모든 항목이 삭제되었는지 확인할 수 있습니다.
ls /home/Fotos
이제이 글롭을 가지고 놀 수 있습니다. MP3 파일을 제외한 디렉토리의 모든 파일을 삭제하거나! (*. mp3)와 같이 삭제되지 않도록 다양한 파일 또는 형식을 저장하는 등의 다른 작업을 수행하거나! (nat7.jpg | isa5.jpg) 또는 with! (* .txt | * .mp3). 가능성은 많습니다 ... 이것은 Unix, 이것은 Linux입니다!
우리가 무언가를 배우지 않는 날은 없습니다! 약 30 년 동안 PC를 엉망으로 해왔고 거의 20 년 동안 Linux를 사용했지만 콘솔에 대해서는별로주지는 않았지만 엄청나게 유용하다는 것을 인정하지만 명령을 암기하고 이전을 축하 할 때 항상 게 으르 었습니다. 그래픽 모드. 나는 glob 의이 옵션을 전혀 몰랐고 그것 없이는 살아남는 것이 어렵지 않았지만, 그것이 매우 유용하고 실용적이며 이해하고 적용하기 쉽다는 것을 인정해야합니다. 나는 좋은 메모를한다.
매우 도움이 될 것임을 의심하지 않는 기여에 감사드립니다.
안녕하세요.
감사 합니다만 ...
rm -f! (*. exe)
bash :! : 이벤트를 찾을 수 없습니다.
안녕하세요
이것을 활성화하십시오 :
shopt -s extglob; -H 설정
그런 다음 다시 시도하십시오.
rm -f! (*. exe)
모두 제일 좋다! 나는 그것이 당신에게 효과가 있기를 바랍니다. 그리고 우리를 따라와 주셔서 감사합니다 ...
안녕하세요, 질문이 있습니다. 시도하면 모든 파일이 삭제되기 때문에 동시에 두 개의 파일을 저장할 수 없었지만 하나만 사용하면 할 수 있습니다. 뭐가 될수 있었는지? 그것을 해결하는 방법?