저는 쉘 명령을 배우고 있는데 [0-9], [[:digit:]] 등과 같은 짧은 태그를 발견했습니다. 개념 증명으로 rm 명령을 사용하여 모든 파일을 삭제해 보았습니다(좋은 습관은 아니지만 작동 방식을 이해하고 싶었습니다).
rm [0-9].txt
디렉터리에 0.txt와 9.txt라는 두 개의 파일이 있으며, 0.txt와 9.txt 파일을 삭제합니다. [0-9] 표현식이 확장된 다음 0.txt 1.txt 2 .txt를 읽는 것으로 추측됩니다.... 하지만 방금 rm 5.txt를 시도했는데 파일이 존재하지 않으면 오류가 발생합니다. 던져진다.
누군가 rm이나 ls와 함께 사용할 때 속기 명령이 어떻게 작동하는지 알려주세요.
답변1
[0-9].txt는 확장 시 확장명이 .txt이고 이름이 0에서 9 사이의 단일 숫자인 하나 이상의 파일 인스턴스를 나타내는 정규식입니다. 이는 10개의 파일이 모두 있어야 한다는 의미는 아닙니다. 그렇지 않은 경우 오류 메시지가 표시되지만 이 패턴과 일치하는 파일이 하나 이상 있으면 명령이 성공적으로 완료됩니다.