READLINK(1)

πŸ“¦ version 0.12.0, in arch rolling

Okay so real talk: readlink is the girl who tells you where the shortcut actually goes. Give her a symbolic link and she'll spill the value; give her a name and she'll hand you back a canonical file name. Very "I know a guy" of her, honestly. Obsessed.

✨ NAME ✨

readlink β€” print value of a symbolic link or canonical file name. That's it. That's the whole vibe. πŸ’–

πŸ¦‹ SYNOPSIS πŸ¦‹

readlink [OPTION]... [FILE]...

Yeah, options first, files after, and she takes as many files as you want to throw at her. Multi-task queen. πŸ‘‘

🌸 DESCRIPTION 🌸

Print value of a symbolic link or canonical file name. Short, sweet, iconic β€” no notes. ✨

πŸ”₯ OPTIONS πŸ”₯

Okay, this is the part you actually came for, so let's go, one at a time, no skips:

  • -f, --canonicalize β€” canonicalize by following every symlink in every component of the given name recursively. Big catch though: all but the last component must exist. So she'll chase the chain all the way down, but if the middle of the road is missing, she's not doing that for you. πŸ™ˆ
  • -e, --canonicalize-existing β€” canonicalize by following every symlink in every component of the given name recursively, and this time all components must exist. Every single one. Strict queen, zero tolerance, love that for her. πŸ’…
  • -m, --canonicalize-missing β€” canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence. She literally does not care if the path exists, she's still canonicalizing. Chillest mode fr. πŸ“
  • -n, --no-newline β€” do not output the trailing delimiter. No little newline at the end, so your output just ends. Raw. Unfiltered. Use responsibly when you're piping. 😭
  • -q, --quiet β€” suppress most error messages. She's not gonna argue with you, she's just gonna vibe quietly. 🀫
  • -s, --silent β€” suppress most error messages. Same energy, different flag. Twin sisters, both valid. πŸ’œ
  • -v, --verbose β€” report error message. Opposite girlie! She will tell you what went wrong. Communication icon. πŸ—£οΈ
  • -z, --zero β€” separate output with NUL rather than newline. For when your downstream tool wants NUL bytes specifically. Very xargs -0 compatible of you, iykyk. ⭐
  • -h, --help β€” Print help. Bless. πŸ™
  • -V, --version β€” Print version. Proof she's real and she's here. πŸŽ€
  • <files> β€” the actual files you're pointing her at, bestie. That's the whole assignment. 🌈

πŸ‘‘ VERSION πŸ‘‘

v(uutils coreutils) 0.12.0 β€” copy-pasted exactly, don't come for me about the parentheses, that's how she's written. πŸ’€


Quick vibe check: the canonicalize flags (-f, -e, -m) are the ones where the existence rules change what she does. Read those descriptions again before you fight your terminal at 2am, because the difference between -f and -e and -m is literally just which components are allowed to be missing. You got this. 🫢

And that's the whole page, bestie! ✨ This gem came from the General Commands Manual β€” yes, that's the manual she lives in, READLINK(1) and all β€” dated 2026-09-17, version v(uutils coreutils) 0.12.0. Slay, go read some links. πŸ¦‹πŸ’–πŸŒΈ

πŸ“¦ where this page comes from