Symbolic Link MIME Type

Learn what inode/symlink means, how symbolic links are identified and resolved, and how Poly handles them.

MIME type details for inode/symlink

In active use
MIME typeinode/symlink
Extensions
First standardized2002
Created byX Desktop Group
Browser support
Example applicationsGNOME Files, Dolphin, Thunar
Poly supportNo. Poly does not currently import symbolic links as link objects.
Indexed by PolyNo. A symbolic link is not indexed as a distinct object or by the contents of its target.
Preview in PolyNo. Poly does not provide a preview for symbolic links.
Poly agentNo. Symbolic links and their targets are not made available to the Poly agent through the link object.

inode/symlink identifies a symbolic link, also called a symlink or soft link. A symbolic link is a special filesystem object whose content is a pathname referring to another name. It points to a path rather than directly to the target object's inode, so it can refer to a file or directory on another filesystem. Its target does not have to exist.1

The type belongs to the inode family defined by the freedesktop.org Shared MIME-info specification. That family describes non-regular filesystem objects such as directories, sockets, FIFOs, device files, and symbolic links.2

The convention appeared during the early effort to unify the MIME databases used by GNOME, KDE, and ROX. Version 0.7 of the Shared MIME-info specification, published in May 2002 for the X Desktop Group, reserved the inode top-level name for non-regular filesystem objects.3

inode/symlink is a desktop content-type convention, not an IANA-registered Internet media type. IANA does not register inode as a top-level media type.4

This distinction matters when software asks for a MIME type. inode/symlink is useful to a file manager or storage system that explicitly understands filesystem objects. It does not define a portable HTTP representation or a standalone interchange format.

A symbolic link has no filename extension or magic number. Software identifies it from filesystem metadata. On POSIX systems, lstat() reports information about the link itself, while stat() normally follows the link and reports information about its target.5

SignalUseful for a symbolic link?Why
Filename extensionNoA link can have any name, including the apparent extension of its target
Magic bytesNoThe object type comes from filesystem metadata, not a file header
Filesystem metadataYesLink-aware status calls distinguish the link from its target
Supplied MIME headerOnly by agreementThe value is unregistered and needs application-specific support

The stored pathname can be absolute or relative. A relative target is interpreted from the directory containing the link, not from the process's current working directory.6 Moving that link to another directory can therefore change what it resolves to or make it dangling.

Do not classify a path with a target-following status call when you need to know whether the path itself is a symbolic link. Following it first can hide the distinction between the link and its target.

Most file managers display a symbolic link with a link emblem and open its target when activated. On a command line, ls -l commonly shows the stored target, and readlink reads that pathname without opening the destination. Development tools should use link-aware filesystem APIs when they need to inspect, move, or remove the link itself.

A dangling link still exists even though following it fails. This is expected behavior, not proof that the directory entry is corrupt. The target may be temporarily unavailable, mounted elsewhere, or intentionally created later.

Web browsers have no standard inode/symlink payload to decode. A local file: URL may follow a link according to the browser and operating system, but that behavior is filesystem navigation rather than media-type support.

Support in Poly

Poly recognizes inode/symlink as a filesystem-object identifier, but symbolic links cannot currently be imported as link objects. They therefore do not receive a separate preview, content or metadata indexing, or agent access through the link.

If you need the destination in Poly, import the target file or folder itself. This captures that object at the location you selected rather than preserving a live filesystem reference. A later change to the original target is not represented as a symbolic-link update.

These mechanisms can all look like references, but they have different identities and portability.

ObjectWhat it storesCan cross filesystems?Can point to a missing target?
Symbolic linkA pathnameYesYes
Hard linkAnother directory entry for the same filesystem objectNormally noNo
Desktop shortcut or bookmarkApplication-defined metadata, often including a URL or pathOftenOften

A hard link refers to the same underlying object as another hard link. Deleting one name does not remove the object while another hard link remains. A symbolic link instead refers to another pathname, so renaming or deleting the target can leave a dangling link.1

A desktop shortcut is an ordinary file or application record. Examples include Windows .lnk, macOS bookmark data, and internet shortcut files. Their formats, metadata, and resolution rules are not described by inode/symlink.

There is no general media conversion because a symbolic link is a filesystem relationship, not a byte-stream format. The useful operation depends on the goal:

  • Copy the target's contents when you need a self-contained regular file.
  • Create a platform shortcut when the recipient needs an application-level reference.
  • Archive the link with a format such as TAR when preserving Unix filesystem metadata matters.
  • Resolve the link and archive the target when portability matters more than preserving the relationship.

Archive behavior varies. Some tools preserve the link and its pathname, while others follow it and store the destination. Check the tool's link-handling option before packaging or extracting important trees.

Security and interoperability considerations

Following an untrusted symbolic link can move an operation outside the directory a user appeared to select. A link may point to an absolute path, use parent-directory components, form a loop, or change between validation and use. Linux also documents special “magic links” in pseudo-filesystems such as /proc; these do not behave exactly like ordinary pathname-based links and have been used as attack vectors.1

For link-aware file operations:

  • Decide explicitly whether each operation acts on the link or follows its target.
  • Resolve relative targets from the link's containing directory.
  • Keep traversal inside an allowed root using filesystem APIs designed for that constraint.
  • Detect loops and apply a limit to repeated link resolution.
  • Avoid a separate check-then-open sequence when another process could replace a path between those operations.
  • Treat archive entries containing links as untrusted paths during extraction.

inode/symlink describes the object type. It does not say whether the target exists, where resolution ends, what permissions apply there, or whether following the link is safe.

Footnotes

  1. Linux man-pages project. symlink(7): Symbolic link handling. 2 3
  2. freedesktop.org. Shared MIME-info Database: Non-regular files.
  3. Thomas Leonard. Shared MIME-info Database, version 0.7.
  4. Internet Assigned Numbers Authority. Top-Level Media Types.
  5. The Open Group. lstat(): Get symbolic link status.
  6. GNU Project. ln: Make links between files.
© Poly Corp. 2026