I think you do not understand how a directory works.
A common misperception is that a file "exists within a directory". No!
A file is a sequence of bits.
A directory entry is a pointer that relates some alphanumeric text to the start of that sequence of bits.
There is a way to have different text values point to the same sequence of bits. Its just that simple.
I am confused as to what you are asking about.
"unlink X;" means literally to disconnect the pointer that the name X describes to a file.
There could be another name 'Y' that points to the same file (which is a sequence of bits on hard disk), 'Y' or 'X' is essentially a starting number of the "nth bit" on the hard drive.
So this does not mean "delete the file" on the disk.
"Unlink" means "disconnect my text pointer to that sequence of bits on the disk".
It is possible for another name to point to the same "file bits".
The storage allocation for the "bits on the disk" will not be freed until there are no more pointers to it in the "directory"
Anyway, please explain your question in more detail!