아이노드 개수와 데이터 블록 개수는 생성 시 할당된다는 점을 이해하고 있으며,
하지만 예를 들어 "text.txt" 파일을 inode 번호 20이나 데이터 블록 번호 20에 저장하려면 이렇게 할 수 있나요?
답변1
이는 원시 장치(주어진 블록 번호에 대해)를 사용합니다.
특정 inode를 여는 것은 또 다른 문제입니다. 이는 전통적인 원시 장치 작업도 아니고 파일 시스템 작업도 아닙니다. 당신은하고 싶을 수도 있습니다다시 덮다삭제된 파일에는 이를 수행할 수 있는 도구가 있습니다. 하지만글쓰기특정 inode에 연결하는 것은 시스템의 나머지 부분과 무결성 검사를 우회하므로(장치 드라이버를 작성하지 않는 한) 좋은 일이 아닙니다.
추가 자료:
- Linux: C 언어는 하드 디스크에 직접 액세스합니다.
- 11장 원래 장비(리눅스 2.4 SCSI 하위 시스템 하우투)
- inode로 파일을 검색할 수 있나요?
- inode 번호를 아는 경우 삭제된 파일 하드 링크를 다시 생성합니다.
도구 언급:
lsof를 사용하여 파일의 inode 번호 확인 icat 설치(Google icat-sleuthtools)...우분투의 경우 apt-get install sleuthtools입니다. 그런 다음 icat을 사용하여 파일을 새 위치에 복사합니다. icat -hf ext /dev/xxx > /path/to/copy.file