Cracking the LLD Interview: Designing a File System with Domain-Driven Design

The file owns the content, the directory owns the name — separate them, and move, rename, and delete all become simple.