나는 하드 링크의 개념을 잘 이해하고 있으며 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. 내가 놀란 곳입니다. 대상 경로로 파일을 복사하면 paulinode를 공유하는 다른 모든 대상 경로에 동일한 파일 (동일한 inode)을 설치 한 결과 가 나옵니다 paul. cp새 파일 을 만들어 이전 파일이 있던 위치로 옮겼습니다 paul. 대신 기존 파일을 열고 paul자르고 쓰는 것입니다.george해당 파일을 기존 파일에 넣습니다. 따라서 동일한 inode를 가진 "기타"파일은 "그들"컨텐츠를 동시에 업데이트합니다.
좋아, 이것은 체계적인 행동이며 이제는 그것을 해결하는 방법을 알아낼 수 있거나 적절하게 활용할 수 있습니다. 이 행동이 문서화되어있는 곳은 무엇입니까? 이미 본 문서 어딘가에 문서화되어 있지 않으면 놀랍 습니다. 그러나 분명히 그것을 놓 쳤고 이제는이 동작을 설명하는 출처를 찾을 수 없습니다.