
파일을 한 디렉터리에서 다른 디렉터리로 이동할 때 파일에 어떤 일이 발생하는지 이해하려고 노력하고 있습니다.동일한 파일 시스템 내부.
제가 만든 예는 다음과 같습니다.
두 개의 디렉토리와 파일이 있습니다.
~/Documents/dir1
~/Documents/dir2
~/Documents/dir1/fileName.txt
다음은 파일 fileName.txt
( ls -li
)에 대한 몇 가지 세부정보입니다.
784088 -rw-r--r-- 1 myUser myUser 0 Oct 25 02:18 fileName.txt
그런 다음 다음 명령을 실행하여 파일을 fileName.txt
에서 dir1
로 이동했습니다.dir2
~/Documents/dir1$ mv fileName.txt ../dir2
여기에는 발행 후 파일 fileName.txt
( )에 대한 세부 정보가 있습니다 .ls -li
mv
784088 -rw-r--r-- 1 myUser myUser 0 Oct 25 02:22 fileName.txt
내가 기대한 것은 변화였다.아이노드번호를 입력했는데 제가 틀렸어요. 따라서 지금까지 내가 이해한 바에 따르면 동일한 파일 시스템 내에서 파일을 이동하면 다음과 같습니다.
- 데이터 블록은 건드리지 않았습니다(그건 나에게 좋은 일입니다).
- inode (나에게는 이상하다)
누구든지 파일 속성이 어떻게 변경되는지 말해 줄 수 있나요(수정 시간 제외)?
정말 미리 감사드립니다.
답변1
동일한 파일 시스템 내에서 mv
-ing은 실제로 rename(2)
. 따라서 inode는 그대로 유지되며 inode가 한 디렉토리 항목에서 제거되어 다른 디렉토리 항목에 연결됩니다.