Linux에서 디렉토리 이름만 인쇄하는 명령을 찾고 있습니다. 저는 단어 없이 하이픈 두 개를 나란히 놓을 수 있는 새로운 구문을 발견했습니다.
ls -ld -- */
이 명령과 일반적인 Linux 명령에서 이중 하이픈(--)은 무엇을 의미합니까?
답변1
"--"는 옵션의 끝과 매개변수의 시작을 표시하는 데 사용됩니다. 이후의 모든 항목을 매개변수로 처리하도록 명령에 지시합니다.아니요대안으로, 어떤 것들이 있을지라도바라보다옵션처럼. 이는 . 뿐만 아니라 여러 명령에서 사용됩니다 ls
.
이렇게 하면 명령이 하이픈(-) 또는 두 개(--)로 시작하는 인수(예: 파일 이름)를 차단하는 것을 방지할 수 있습니다. 그렇지 않으면 오류(해당 옵션 없음) 또는 예측할 수 없는 결과(하이픈으로 연결된 인수가 실제로 유효한 경우)가 발생할 수 있습니다. 옵션) 명령이 이를 (인수가 아닌) 옵션으로 해석하려고 하기 때문입니다.
예를 들어 매개변수 중 하나가 신문 기사를 포함하는 파일이라고 가정해 보겠습니다.
- 대통령, 공모 없었다고 애도 - Washington Post.html
앞의 "--"는 "-No"가 옵션으로 간주되는 것을 방지합니다.
이는 여러 하위 디렉터리에 있는 하나 이상의 모든 파일이 하이픈으로 시작하는지 미리 알 수 없기 때문에 예제에서 clown(*)을 사용할 때 특히 중요합니다.