우리가 명령을 실행하는 경우 :'mv A B'실행 중 : 'inode'가 변경됩니까?
이mv A B
다음 파일 A의 아이 노드의 필드에 무슨 일이 일어날 것? 바뀔까요?
파일의 이름을 변경하여 변경해야한다고 생각하지 않지만 확실하지 않습니다.
우리가 명령을 실행하는 경우 :'mv A B'실행 중 : 'inode'가 변경됩니까?
이mv A B
다음 파일 A의 아이 노드의 필드에 무슨 일이 일어날 것? 바뀔까요?
파일의 이름을 변경하여 변경해야한다고 생각하지 않지만 확실하지 않습니다.
적어도 부분적으로 A와 B가 무엇인가에 달려 있습니다. 파일 시스템 사이를 이동하는 경우 inode는 거의 확실하게 다릅니다.
동일한 시스템에서 파일의 이름을 바꾸기 만하면 inode가 디렉토리 항목이 아닌 데이터에 속해 있고 효율성으로 인해 해당 설계가 생기기 때문에 동일한 inode를 유지할 가능성이 큽니다. 그러나 파일 시스템에 따라 다르며 표준에 위배되는 것은 아닙니다.
예를 들어, 은입니다. 이름 변경을 추적하려고하기 때문에 새로운 inode를 제공하는 inode 개념을 사용하는 버전 관리 파일 시스템이 될 수 있습니다.
에 따라 다릅니다.
this site에는 inode가 동일하게 유지되는 좋은 예가 나와 있습니다. 그러나 나는이 행동에 의존하지 않을 것이고, 나는 그것이 어떤 표준에서도 명시되어 있는지 의심 스럽다.
우리가 같은 파일 시스템에 있다면? – Luv
@Luv - [이 페이지] (http://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.html)에 대한 설명이 유용하다는 것을 알았습니다. 디렉토리는 단순히 'name'에서 'inode'로의 매핑입니다. 따라서 물리적으로 데이터를 이동할 필요가없는'mv '는 단순히 디렉토리 엔트리의 변경 일뿐입니다. 'inode'의 변경 사항이 아닙니다. – ArjunShankar
@paxdiablo - 좋은 대답입니다. 파일 시스템 버전 관리에 대한 귀하의 요점은 흥미 롭습니다. 'mv '된 파일을 가리키는 하드 링크가 있다면, 예를 들어 정상적인 동작을하는 것은 꽤 비쌀 것입니다. – ArjunShankar