답변:
/
디렉토리 에도 실제로 유효한 디렉토리 항목 이 있기 때문에 오류가 발생하지 않지만 ..
다른 디렉토리와 달리 디렉토리 자체를 가리 키므로 다음과 동일하게 작동합니다 .
.
$ ls -lid / /. /..
128 drwxr-xr-x 22 root root 4096 Apr 15 11:26 /
128 drwxr-xr-x 22 root root 4096 Apr 15 11:26 /.
128 drwxr-xr-x 22 root root 4096 Apr 15 11:26 /..
$
첫 번째 열은 알려줍니다으로 .
, ..
그리고 /
모두 같은 아이 노드 번호를 가지고 있고, 따라서 같은 파일 시스템 항목입니다.
그래서 심지어 당신을 경우 cd ..
내부의 /
당신이 그냥있어 /
.
..
디렉토리 항목이 있습니다.
/
대한 유효한 항목을 포함하여 다른 폴더와 동일 하게 취급하려는 것 입니다 ..
. 그렇지 않으면 /
시스템의 다른 모든 폴더와 비교하여 다르게 취급 해야합니다.
제거하면 커널과 C 라이브러리에서 특수한 처리 코드를 작성해야하기 때문에 존재합니다. 지금은 항상 '.'이 있다고 가정 할 수 있습니다. 그리고 당신이가는 디렉토리에 '..'.
현재 필요한 유일한 특수 코드는 파일 시스템 마운트 코드에 있으며, 여기서 루트 디렉토리는 항상 루트 디렉토리가 아니기 때문에 코드가 마운트 포인트를 포함하는 디렉토리를 가리 키기 위해 '..'의 inode 값을 재정의합니다.
mount
명령과 관련 특수 파일에 섞여 있습니다 /etc/fstab
.
그렇지 않으면 ../../../../
폴더에서 루트로 이동하기 위해 스팸 을 보낼 수 없기 때문에 거기에있는 것이 좋습니다 . 그것이 ..
루트에 허용하지 않으면 작업 디렉토리 아래의 폴더 수를 세고 붙어 있습니다.
cd /
?
../
것이 좋습니다. 또한 /
몇 가지 이유로 할 수없는 PHP에서 많은 파일 작업을 수행 합니다.
../
없이 의도하지 않은 파일을 조작 (또는 제거)한다는 것입니다.
../
파일 시스템이 허용하는 경우에도 필요 이상으로 반복 하고 의도 한대로 작동하기를 원하는 것은 (휴면) 논리 오류처럼 보입니다.