CLI (명령 줄 인터페이스)를 중단하려고합니다.
전체 루트 디렉토리에서 다음을 수행했습니다.
root@droplet:/# ls ?tc
etc
결과 목록에 디렉토리 만 가져올 것으로 예상했습니다 .
그러나 파일과 디렉토리의 거대한 목록을 얻었습니다. 이 목록은 ls
추가 기준없이 단순히했을 때보 다 훨씬 길었습니다 . 왜?
답변
나는 당신이 하나의 결과가 반환되기를 기대하고 있다는 문구에서 추측하고 있습니다.
# ls ?tc
etc
하지만 실제로 몇 가지 결과를 얻었습니다.
물음표는 다음에 의해 정의 된 글러브 문자입니다 .
?
와일드 카드 . 이
?
문자는 확장 정규 표현식에서 한 문자를 표시 할뿐만 아니라 글 로빙에서 파일 이름 확장을위한 단일 문자 “와일드 카드”의 역할을합니다.
와일드 카드가 1 로 전달되기 전에 쉘에 의해 확장되었을 수 있습니다 (아마도 bash
) . 그래서 그것을 다음과 같이 취급했습니다 :ls
ls
# ls etc
의 많은 ‘파일과 폴더 2 ‘를 반환했을 것 입니다 /etc
.
1 : 다음 을 시도하여 명령이 실행 되기 전에 확장이 발생하는지 테스트 할 수 있습니다 echo *
.-이렇게하면 현재 디렉토리의 파일과 디렉토리가 에코됩니다.
2 : 명령 줄을 이해하려면 ‘directory’ 라는 용어 를 ‘folder’보다 선호하십시오 🙂