FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

chflags - change file flags



      chflags - change file flags


      chflags [-h] [-R [-H | -L | -P]] flags file ...


      The chflags utility modifies the file flags of the listed files as speci‐
      fied by the flags operand.
      The options are as follows:
      -H      If the -R option is specified, symbolic links on the command line
              are followed.  (Symbolic links encountered in the tree traversal
              are not followed.)
      -h      If the file is a symbolic link, change the file flags of the link
              itself rather than the file to which it points.
      -L      If the -R option is specified, all symbolic links are followed.
      -P      If the -R option is specified, no symbolic links are followed.
              This is the default.
      -R      Change the file flags for the file hierarchies rooted in the
              files instead of just the files themselves.
      The flags are specified as an octal number or a comma separated list of
      keywords.  The following keywords are currently defined:
            arch, archived
                    set the archived flag (super-user only)
            opaque  set the opaque flag (owner or super-user only)
            nodump  set the nodump flag (owner or super-user only)
            sappnd, sappend
                    set the system append-only flag (super-user only)
            schg, schange, simmutable
                    set the system immutable flag (super-user only)
            sunlnk, sunlink
                    set the system undeletable flag (super-user only)
            uappnd, uappend
                    set the user append-only flag (owner or super-user only)
            uchg, uchange, uimmutable
                    set the user immutable flag (owner or super-user only)
            uunlnk, uunlink
                    set the user undeletable flag (owner or super-user only)
      Putting the letters “no” before or removing the letters “no” from a key‐
      word causes the flag to be cleared.  For example:
            nouchg  clear the user immutable flag (owner or super-user only)
            dump    clear the nodump flag (owner or super-user only)
      A few of the octal values include:
            0   Clear all file flags.
            1   Translates to the nodump keyword.
            2   Translates to the uchg keyword.
            3   Translates to the uchg, nodump keywords.
            4   Translates to the uappnd keyword.
            10  Translates to the opaque keyword.
            20  translates to the uunlnk keyword.
      Other combinations of keywords may be placed by using the octets
      assigned; however, these are the most notable.
      Unless the -H, -L, or -h options are given, chflags on a symbolic link
      always succeeds and has no effect.  The -H, -L and -P options are ignored
      unless the -R option is specified.  In addition, these options override
      each other and the command’s actions are determined by the last one spec‐
      You can use "ls -lo" to see the flags of existing files.
      Note that the ability to change certain flags is dependent on the current
      kernel securelevel setting.  See security(7) for more information on this
      The chflags utility exits 0 on success, and >0 if an error occurs.
      ls(1), chflags(2), stat(2), fts(3), security(7), symlink(7)


      The chflags command first appeared in 4.4BSD.


      Only a limited number of utilities are chflags aware.  Some of these
      tools include ls(1), cp(1), find(1), install(1), dump(8), and restore(8).
      In particular a tool which is not currently chflags aware is the pax(1)


Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.