나는 하드 링크의 개념을 잘 이해하고 있으며 cp
--- 심지어 최신 POSIX 사양과 같은 기본 도구에 대한 매뉴얼 페이지를 여러 번 읽었 습니다. 여전히 나는 다음 행동을 관찰하는 것에 놀랐습니다.
$ echo john > john
$ cp -l john paul
$ echo george > george
이 시점에서 john
와 paul
같은 아이 노드 (및 함량)를 가질 것이며, george
두 점에서 다르다. 이제 우리는 :
$ cp george paul
이 시점에서 나는 예상 george
과 paul
다른 inode 수 있지만 동일한 내용 ---이 기대가 성취되었다을 가지고 ---하지만이 또한 예상되는 paul
지금과는 다른 inode 번호를 가지고 john
와에 대한, john
여전히 콘텐츠를에 john
. 내가 놀란 곳입니다. 대상 경로로 파일을 복사하면 paul
inode를 공유하는 다른 모든 대상 경로에 동일한 파일 (동일한 inode)을 설치 한 결과 가 나옵니다 paul
. cp
새 파일 을 만들어 이전 파일이 있던 위치로 옮겼습니다 paul
. 대신 기존 파일을 열고 paul
자르고 쓰는 것입니다.george
해당 파일을 기존 파일에 넣습니다. 따라서 동일한 inode를 가진 "기타"파일은 "그들"컨텐츠를 동시에 업데이트합니다.
좋아, 이것은 체계적인 행동이며 이제는 그것을 해결하는 방법을 알아낼 수 있거나 적절하게 활용할 수 있습니다. 이 행동이 문서화되어있는 곳은 무엇입니까? 이미 본 문서 어딘가에 문서화되어 있지 않으면 놀랍 습니다. 그러나 분명히 그것을 놓 쳤고 이제는이 동작을 설명하는 출처를 찾을 수 없습니다.