폴더에있을 때 "."및 ".."은 무엇을 의미합니까?


34

내가 사용하는 경우 ls -a폴더에 숨겨진 파일을 볼 수있는이 두 파일의 중요성이 무엇인지 기본적으로 만들어 2 개 숨겨진 파일이 있었다 .과는 ..?

ls -a

생산

.  ..

나는 내가 ls -la있는 디렉토리와 내가있는 디렉토리 위의 디렉토리에 대한 권한과 소유권을 보여줄 것이기 때문에 많은 것을 사용한다 .
Marco Ceppi

투표를 마치려면 여기에 충분한 담당자가 없지만 Google에 검색하여 3 초 이내에 답변 할 수있는 질문이므로이 질문에 플래그를 추가했습니다. 이다 ) SO 블로그에 편리합니다.
zzzzBov

1
^ zzzzBov 당신의 관대함에 대해 스페인어로 감사합니다.
mr_eclair

답변:


40

. 현재 폴더입니다.

.. 현재 폴더 위의 폴더-현재 폴더가 들어있는 폴더입니다.

누군가 자신의 홈 디렉토리에서 스크립트를 실행하려고 할 때 단일 점이 사용되는 것을 종종 볼 수 있습니다. 예를 들면 다음과 같습니다. ./install-app.sh. 이는 "install-app.sh"파일이 현재 디렉토리에 있음을 의미합니다. /home/username/directory/install-app.sh를 수행하는 것도 유효합니다. 파일이 부모 디렉토리에있는 경우에도 같은 방법으로 ../install.app를 수행 할 수 있습니다. 이 방법이 필요한 이유는 탐색뿐만 아니라 홈 디렉토리의 파일 이름을 잘못 지정하여 실수로 시스템 응용 프로그램을 숨길 수 없기 때문입니다.


100 % 정확합니다. 그것들을 모든 단일 디렉토리에있는 후크로 생각하십시오. 그들은 순전히 탐색에 사용됩니다. 이것은 단지 리눅스 표준이 아니라 Windows에서도 볼 수 있습니다. 아마도 유닉스와 맥에서도 동일하지만 명령 프롬프트에서 결코 놀지 못했습니다.
Ctuchik

1
cd / ; cd ..: P
htorque

1
Mac도 다윈 BSD를 기반으로하기 때문에 FreeBSD에서도 마찬가지입니다.
Azendale

htorque : 당신은 아마도 종교적인 사람입니까? :)
Jo-Erlend Schinstad

Mac OS X에 있습니다 (GUI가 일부를 숨기고 있지만 다른 유닉스와 마찬가지로 작동합니다). Mac OS Classic에는 그것들이 없었습니다. ::이전 디렉토리에 사용되었습니다. 경로가없는 경로 :는 현재 디렉토리입니다. 그렇지 않으면, 구성 요소가로 구분 된 전체 경로 (디스크 이름으로 시작)가 예상됩니다 :. 예 :Macintosh HD:System Folder:Finder
derobert

4

이들은 자체 (.) 및 상위 (..) 디렉토리에 대한 하드 링크입니다. 디렉토리를 만들 때 생성됩니다. 디렉토리를 삭제하지 않고는 절대 삭제할 수 없습니다.

디렉토리를 작성하는 경우 :

mkdir /tmp/foo

실제로 / tmp / foo에 대한 2 개의 하드 링크가 있음을 알 수 있습니다.

drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
           ^---- two hardlinks

첫 번째는 / tmp / 디렉토리에서 / tmp / foo를 가리키고 두 번째는 '.'입니다. / tmp / foo /에서 자체를 가리 킵니다.


2

또한 ls -A(대신 ls -a)를 사용 하여 숨겨진 파일을 포함하지만 ...디렉토리를 제외한 모든 파일을 나열 할 수 있습니다 .


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