디렉토리에서 "."및 ".."는 무엇입니까?


답변:


40

. 는 현재 디렉토리이고 ..는 상위 디렉토리를 나타냅니다. 명령 행에서도 작업이 더 빨라지므로 전체 경로를 입력 할 필요가 없습니다.

예:

2 개 디렉토리 위로 이동 :

cd ..\..\

또는 UNIX 기반 시스템에서 현재 디렉토리에서 실행 가능 바이너리를 실행하려면 다음을 수행하십시오.

./program

많은 UNIX 스크립트도 활용됩니다. 예를 들어 (Perl)과 같은 파일을 스캔하기 위해 현재 디렉토리를 나타냅니다.

#!/usr/bin/perl

opendir ( DIR, "." ) || die "Error opening current directory\n";
while( ($f = readdir(DIR))){
     print("$f\n");
}
closedir(DIR);

디렉토리 이름이 하드 코딩되어 있지 않기 때문에 스크립트를 다른 디렉토리 나 시스템으로 옮기려면 훨씬 이식성이 좋습니다.


3
잘 알려지지 않았지만 Windows 명령 줄이이를 더욱 확장합니다. . =이 디렉토리 .. = 부모 디렉토리 ... = 부모의 부모 디렉토리 3 점은 때로는 그 이상으로 유용하며 다루기가 너무 어렵습니다.
salmonmoose

4
3 점 비스타 사용, 나를 위해 작동하지 않습니다
케빈 Panko

1
나도 Windows 7 64 비트 RTM에서. 나에게 신화처럼 들린다. 어쨌든 .. \ ..에 무슨 문제가 있습니까?
AdamV

2
@ salmonmoose : XP에서도 작동하지 않습니다.
Simon P Stevens


10

..파일 시스템의 계층 구조를 탐색하는 데 사용됩니다. 긴 경로를 입력하고 싶지 않거나 정확히 어디에 설치 될지 모르지만 ../media/모든 이미지 / 비디오 / 아이콘 등을 보유 해야하는 스크립트 / 프로그램을 작성할 때 유용 합니다.

단일 점 .은 현재 디렉토리에서 실행 파일을 실행하려는 Linux에서 유용하므로 ./a.out기본적으로 명령 쉘은 현재 디렉토리에서 실행 파일을 검색하지 않기 때문에 입력 합니다 (보안상의 이유로).

.현재 디렉토리를 명령의 인수로 전달하려는 경우에도 단일 점이 사용됩니다.


1
PowerShell에는 또한 포함되지 않습니다. 실행 파일 검색을위한 경로 목록
Joey

'.'를 전달하는 방법 명령에 대한 논쟁으로?
미적분

@DeFu는 점으로 점을 전달합니다. 예를 들면 다음과 같습니다.ls .
hasen

ls 와 같은 기능ls .
미적분

당신이 할 때 예 잘 @DeFu하지만 ls .당신이 하는 통과 '.' 'ls'에 대한 논쟁으로서; 그게 니가 아니냐? 기본적으로 ls현재 디렉토리를 나열하고 현재 디렉토리 이기 때문에 동일하게 작동합니다 .. 그러나 당신 그것을 명령에 확실히 전달하고 있습니다.
하센

5

. 현재 디렉토리입니다. 이것을 거의 사용할 필요가 없습니다. 대부분의 명령은 현재 디렉토리를 가정합니다. ..는 다음 단계입니다. 이것은 다소 유용한 지름길입니다. C : \ foo \ bar에 있고 C : \ foo \ bar2로 가고 싶다면

cd ..\bar2

C : \ foo \ bar2에있을 것입니다. bar2로 가고 싶지 않고 C : \ foo \ bar.exe 만 실행하려면 다음과 같이 말할 수 있습니다.

..\bar.exe

또는 .. \ bar를 사용하여 상위 디렉토리로 돌아 가지 않고 실행하십시오. 물론 C : \ foo보다 긴 경로 (예 : "C : \ Users \ Daniel \ My Dropbox \")를 나타내는 경우 더 유용합니다.


1
찾을 수 있습니다. 특히 파일을 현재 위치로 복사하거나 이동할 때 ( copy F:\*.foo .) 또는 다른 방법으로 참조 할 때 ( start .예 : 현재 디렉토리에서 탐색기를 엽니 다 ) 특히 유용합니다 .
Joey

3

그들은 다음을 의미합니다.

.

현재 디렉토리

.. 

부모 디렉토리를 나타냅니다

따라서 "su.exe"실행 파일이있는 경우 :

  • 경로 환경 변수 (C : \ MyExecutables \ su.exe라고 말하십시오)
  • 현재 디렉토리
  • 부모님.

다음과 같이 각각을 실행할 수 있습니다.

 su.exe  

경로에서 하나를 실행

.\su.exe 

현재 디렉토리에서 하나를 실행

..\su.exe

부모 디렉토리에있는 것을 실행합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.