현재 디렉터리에 "xeyes.exe"라는 실행 가능한 프로그램을 만든다고 가정해 보겠습니다.
명령 프롬프트에 "xeyes" 명령을 입력하면 명령 대신 프로그램이 실행되는 이유는 무엇입니까?
답변1
명령 대신 프로그램이 실행되는 이유는 무엇입니까?
Unix는 안전한 다중 사용자 시스템이기 때문입니다.
이름을 기반으로 파일에 대해 어떠한 가정도 하지 않습니다. 해당 동작은 메타데이터에 정의되어 있습니다.
기본적으로 쉘은 명시적으로 지시하지 않는 한 정의된 위치에서만 프로그램을 실행합니다.
임의의 파일을 삭제하고, 무례한 이메일을 보내고, 실행 중인 사용자의 개인 SSH 키 사본을 나에게 이메일로 보내고 이름을 "ls"로 지정하는 프로그램을 만들고 많은 사람들이 사용하는 디렉토리에 남겨두나요?