chmod(1)

πŸ“¦
version 0.7.0 Β· 2 versions
, in epel 10, fedora 43, fedora 44

πŸ’– chmod β€” the girlies' guide to the chmod(1) manual πŸ’–

okay bestie, so this is chmod, and it lives in section 1 of the General Commands Manual. Which means: it's a user command, it's in your terminal, and it's about to be your whole personality. Let's get into it. ✨


🌸 NAME 🌸

chmod β€” change the mode of each FILE to MODE. And with --reference, change the mode of each FILE to that of RFILE. πŸ’…

That's it. That's the vibe. Modes, changed. We move.


πŸ¦‹ SYNOPSIS πŸ¦‹

chmod [--help] [-c|--changes] [-f|--quiet] [-v|--verbose]
[--no-preserve-root] [--preserve-root] [-R|--recursive] [--reference]
[-H ] [-L ] [-P ] [--dereference] [-h|--no-dereference] [-V|--version]
[MODE] [FILE]

like. look at her. so many little flags. each one a whole mood. 😭


🌈 DESCRIPTION 🌈

Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE.

no cap, that's literally the whole job description. you point it at files, you tell it what permissions they should have, and it makes it happen. iconic behaviour honestly. 🫢


✨ OPTIONS ✨

okay here's the menu, bestie. one bullet per flag, nothing skipped, everything exactly as written:

  • --help β€” Print help information. πŸ’– (the "help me I'm lost" button, we've all been there)
  • -c, --changes β€” like verbose but report only when a change is made. so it's not yapping at you about files that were already fine. lowkey respectful. 😌
  • -f, --quiet β€” suppress most error messages. it's giving "I don't want to hear it" energy. πŸ™ˆ
  • -v, --verbose β€” output a diagnostic for every file processed. main character behaviour: every single file gets a mention. πŸ‘‘
  • --no-preserve-root β€” do not treat '/' specially (the default). yes, that's the actual default. wild, I know. πŸ’€
  • --preserve-root β€” fail to operate recursively on '/'. this is the safety rail, the seatbelt, the "girl put the knife down" of flags. πŸ”₯
  • -R, --recursive β€” change files and directories recursively. it goes DOWN. all the way down. πŸŒ€
  • --reference β€” use RFILE's mode instead of MODE values. copy someone else's whole look, permission-wise. πŸ’…
  • -H β€” if a command line argument is a symbolic link to a directory, traverse it. only the ones you actually named, bestie. just those. πŸŽ€
  • -L β€” traverse every symbolic link to a directory encountered. every single one. no chill. 🌈
  • -P β€” do not traverse any symbolic links (default). the default! she's shy, she stays home. 🌸
  • --dereference β€” affect the referent of each symbolic link (this is the default), rather than the symbolic link itself. so you're changing the thing it points at, not the link. and yes, that's the default too. πŸ¦‹
  • -h, --no-dereference β€” affect symbolic links instead of any referenced file (useful only on systems that can change the ownership of a symlink). read that again: useful only on systems that can change the ownership of a symlink. if your system can't, this one's just sitting there looking pretty. πŸ’œ
  • -V, --version β€” Print version. the classic. the "who even am I" flag. ⭐
  • [MODE] β€” yeah. the mode. the whole point. πŸ“
  • [FILE] β€” the file(s). also the whole point. 🧚

πŸ’« EXTRA πŸ’«

this is the part where the manual casually drops the actual grammar of a MODE like it's nothing, so pay attention bestie:

Each MODE is of the form [ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=]?[0-7]+.

fr fr. that's the whole language of permissions in one line. either you're doing the symbolic thing with the letters, or you're doing the numeric thing with the octal digits. pick your fighter. πŸ’…


πŸ‘‘ VERSION πŸ‘‘

v(uutils coreutils) 0.7.0


and that's the tea, bestie 🫢 go forth, change some modes, and remember: --preserve-root is your friend, --no-preserve-root is your villain origin story. πŸ’–

this page came to you courtesy of chmod (uutils coreutils) 0.7.0 β€” that's the source and the version, dated whenever this manual page was built, and honestly? she ate. 🌟

πŸ“¦ where this page comes from
  • epel 10: rust-coreutils-devel 0.7.0-10.el10_3 Β· MIT
  • epel 10: uutils-coreutils 0.7.0-10.el10_3 Β· (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Zlib AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 OR GPL-2.0-only) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT AND (MIT OR Zlib OR Apache-2.0) AND (MIT-0 OR Apache-2.0) AND Unicode-3.0 AND (Unlicense OR MIT)
  • fedora 43: rust-coreutils-devel 0.7.0-12.fc43 Β· MIT
  • fedora 43: uutils-coreutils 0.7.0-12.fc43 Β· (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Zlib AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 OR GPL-2.0-only) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT AND (MIT OR Zlib OR Apache-2.0) AND (MIT-0 OR Apache-2.0) AND Unicode-3.0 AND (Unlicense OR MIT)
  • fedora 44: rust-coreutils-devel 0.7.0-4.fc44 Β· MIT
  • fedora 44: uutils-coreutils 0.7.0-4.fc44 Β· (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Zlib AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 OR GPL-2.0-only) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT AND (MIT OR Zlib OR Apache-2.0) AND (MIT-0 OR Apache-2.0) AND Unicode-3.0 AND (Unlicense OR MIT)
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms