오늘 C를 소개하고, 리눅스 등에서 실행될 C 프로그램을 만드는 방법에 대한 영상강의를 봤습니다. 주어진 단계를 따랐는데 이제 몇 가지 문제가 발생했습니다.
C 파일(HelloWorld.c)을 생성하고 gcc -o HelloWorld HelloWorld.c
명령을 사용하여 컴파일했는데 두 단계 모두 성공했습니다. 그런 다음 명령을 사용하여 HelloWorld가 생성되었는지 확인했는데 ls
, 그랬습니다. 그러나 HelloWorld
프로그램을 실행해야 하는 명령을 사용하면 다음과 같은 오류 메시지가 나타납니다 HelloWorld: command not found
.
영상강의에서 교수님께서는 32비트 시스템용이라고 말씀하셨는데, 저는 64비트 시스템을 사용하고 있습니다. 어쩌면 이것이 문제가 될 수 있습니까?
편집: 또한 비디오 강의에서 교수는 명령을 사용할 때 HelloWorld만 ls
표시되어야 한다고 언급했습니다 HelloWorld*
(별표 없음).
답변1
PATH
HelloWorld 실행 파일이 있는 디렉터리를 포함하도록 환경 변수 값을 설정 하지 않았습니다 .
cd
디렉터리에 대한 액세스 권한이 있다고 가정하면 다음 명령을 사용하여 HelloWorld를 실행할 수 있습니다../HelloWorld
Unix 셸에는 사용자가 정규화된 경로 이름( 완전한 경로 이름: 로 시작 하고 끝나지만 자체적으로는 정규화되지 않음) 없이 명령을 실행할 때 살펴볼 구분된 디렉터리 목록 PATH
인 이라는 변수가 있습니다. 항목에 항목 이 없으면 명령 시작 부분에 명시적으로 on을 사용하여 실행할 현재 디렉터리에 해당 이름의 파일을 가져와야 합니다 .:
/usr/bin/ls
/
ls
ls
.
PATH
./
답변2
ls -F
파일 이름 끝에 별표를 표시하는 데 사용됩니다 . GNU coreutils를 사용하는 경우 이 옵션과 기타 옵션을 자동으로 포함하도록 ls
환경 변수를 설정할 수 있습니다 . 옵션은 LS_OPTIONS
매뉴얼 에 나열되어 있습니다 . 실제로 작동하는 모습을 확인하세요. ls
ls
man ls
@brewer2: 로그인 시 환경 변수 설정은 쉘에 따라 다르며, 이는 그 자체로 좋은 질문입니다.