Skip to content

Misnomer: "Binary References" (wrt file permissions) #129

Open

Description

@AntiSol

Type

GUI

Platform

Web

Description

Hello,

First, this is an awesome project. Nice work!

I had to raise an issue due to a point of pedantry: "Binary References" is a misnomer when referring to file permissions, e.g here: https://linuxcommandlibrary.com/tips#89400787

The numeric permissions are octal, not binary. Generally these would be called "octal permissions" or "octal notation" (e.g here). I've never heard them called "binary" or "binary references" in >25 years using *nix operating systems. I did a couple of web searches to check whether this was a common thing I wasn't aware of, and I don't see many other places calling them that (and lots of the ones that do are mirrors of your work)

I do totally see where the "binary" label comes from - this is an octal representation of 3 binary bits representing r/w/x permissions. But the representation '7' for rwx is octal, not binary - binary would be 111.

I feel pretty strongly that all references to "binary" permissions should be changed to "octal", and "binary references" should be changed to either "octal notation" or "octal permissions". Referring to them as "binary" is teaching people the wrong thing. A note saying that these octal values correspond to 3 binary bits might be a good idea, but otoh that might be too longwinded for this project.

I'd be happy to make this change and submit a PR if that's helpful. I considered just doing that but I figured I'd open an issue and discuss it first.

Steps to reproduce

  1. go to https://linuxcommandlibrary.com/tips#89400787
  2. observe text "binary references" and "The numbers are a binary representation of the rwx string"
  3. Try to put the value 7 into a binary calculator and watch it refuse because binary only contains 1 and 0 digits.

Activity

  1. AntiSol commented on Oct 17, 2026

    @AntiSol
    Author

    Here's the relevant part of the chmod man page:

    A numeric mode is from one to four octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. Omitted digits are assumed to be leading zeros. The first digit selects the set user ID (4) and set group ID (2) and restricted deletion or sticky (1) attributes. The second digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the third selects permissions for other users in the file's group, with the same values; and the fourth for other users not in the file's group, with the same values.

    Perhaps it's worth extending the table you provide to a) include binary and/or b) include all 7 values, e.g:

    Permission binary (r/w/x) Octal
    rwx 111 7
    rw- 110 6
    r-x 101 5
    r-- 100 4
    -wx 011 3
    -w- 010 2
    --x 001 1
    --- 000 0
  2. mvanhorn commented on Nov 5, 2026

    @mvanhorn

    The wording confuses the underlying permission bits with their octal representation.

    Renames the heading to “octal notation” and explains that each digit sums read (4), write (2), and execute (1).

    #135

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions