Symbolic Link
Symbolic links are special files that point to another file or directory. The "content" of the file is the target of the link. Therefore, they do not require any new data structures. If the path of the destination file or directory is less than 60 characters long, it is stored in the 60 bytes in the inode that are used for the 12 direct and 3 indirect block pointers. If the path is longer than 60 characters, a block is allocated, and the block contains the destination path. The file size corresponds to the path length of the destination.
We can see an example with icat. icat shows the contents of a file, and it shows the full path because it does not process it as a symbolic link. It processes it as a normal file.
# fls -f linux-ext3 ext3-3.dd [REMOVED] l/l 26: file1.txt # icat -f linux-ext3 ext3-3.dd 26 /dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10/dir11/dir12/dir13/dir14/dir15/ file1.txt
The size reported in the inode is 90, and we see in the fls output that it has the type of 'l,' which is for link.