답변:
./또는 .현재 디렉토리의 유닉스 속기입니다.
현재 디렉토리가 PATH에 없을 때 지정해야합니다. PATH는 프로그램을 실행할 때 검색된 폴더 목록입니다. (당신은 서면으로이를 확인할 수 있습니다 echo $PATH파일이있는 경우.) 실행 파일이 PATH에없는 경우, 그것을 실행 당신은에서의 폴더를 지정해야합니다. 당신은 파일의 전체 경로를 제공하여이 작업을 수행 할 수 있지만합니다 현재 디렉토리에서 ./속기로 사용할 수 있습니다 .
비슷하게, ../또는 ..현재 디렉토리 위에있는 디렉토리의 속기입니다.
.. 현재 디렉토리를 자동으로 사용하는 것이 보안상의 허점이기 때문입니다. , 프로그램이 이름을 다른 사람 차종을 상상 ls하고 cd자신의 디렉토리에를 입력 한 다음ls
명령 행의 모든 디렉토리에는 .and 라는 두 개의 "특수 디렉토리"가 ..있습니다. 이들은 각각 현재 디렉토리와 현재 디렉토리를 포함하는 디렉토리의 약어입니다.
예를 들어 cd ./more/directory/names"현재 디렉토리에서 시작하여 경로를 계속합니다"라는 의미입니다. 마찬가지로이 명령 cd ..은 "하나의 디렉토리를 변경합니다.
현재 디렉토리의 이름을 원하면 pwd명령을 사용할 수 있습니다 . 또한의 -a플래그를 사용하면 ls이 두 개의 특수 디렉토리를 볼 수 있습니다. 즉, and로 ls -a시작하는 목록을 출력합니다 ....
다른 사람들은 이미 무엇 .을 ..의미 하는지 (현재 디렉토리와 부모 디렉토리) 설명했습니다. 이것은 모든 경로 이름에 적용됩니다.
터미널을 열면 일반적으로 홈 디렉토리에서 시작됩니다 ~(로 확장 /home/username). 아래의 경로는 모두 동일하며 현재 작업 디렉토리가 /home/username다음과 같습니다.
/home/username.../username../../home/username../../../home/username(의 부모 디렉토리 /는 여전히 /)./././././. (...의 현재 디렉토리에있는 현재 디렉토리)./ (트레일 링 슬래시는 디렉토리에 허용됩니다)/home////username/// (그리고 여러 개의 슬래시도 있습니다)마십시오 하지 혼동 ./program와 함께 . program../program실행 비트가 설정된 현재 디렉토리에서 파일을 실행합니다. . ./program은 bash 일이며 현재 디렉토리 source ./program의 program파일에서 bash 명령을 읽고 현재 셸에서 실행하는 것으로 작성 될 수 있습니다 .
당신은 당신이 바로 실행할 수있는 이유를 궁금해하는 경우 gedit대신 /usr/bin/gedit하지 program않고./program 하거나 /home/username/program, 관련 질문을 참조하십시오
그것은에서 시작하는 것을 의미합니다 current directory path .
다음 path과 같이 가정 해 봅시다 .
/usr/ /usr/bin/ /usr/local/bin
그리고 내부 /usr/bin/ 에는이라는 실행 파일이 yiic있습니다.
발행하면 yiic 그것을 하면에서 하나를 시작합니다 /usr/bin/.
발행 ./yiic하면 시스템에이 실행 파일의 현재 디렉토리를 찾도록 지시합니다.
/home/mysuser/이 있고를 사용하여 탐색 한다고 가정 해 봅시다 cd /home/myuser. 일단 안으로 들어가면, 나는 yiic을하는 것이 그 디렉토리에있는 동안 전화했기 때문에 작동해야한다고 믿었습니다. 그러나 그는 명령하지 말라고 명령합니다. 내가 똑같이하고 ./를 사용하면 제대로 실행됩니다 ... 조금 더 자세히 설명해 주시겠습니까?
.작업을 수행 할 때 볼 수있는 폴더 안의 특수 파일입니다 ls -la.)