Change a file or folder's flags.
Syntax chflags [-R [-H | -L | -P]] flags file ... Options -R Recurse: Change the file flags of file hierarchies rooted in the files instead of just the files themselves. -R -H Follow symbolic links on the command line by default Symbolic links within the tree are not followed. -R -L All symbolic links are followed. -R -P No symbolic links are followed. (default)
The flags are specified as an octal number or a comma separated list of keywords.
hidden Set the hidden flag [Hide item from GUI]
Keywords and keyword aliases - Owner or Super-user only:
opaque Set the opaque flag nodump Set the nodump flag uappnd, uappend Set the user append-only flag uchg, uchange, uimmutable Set the user immutable flag uunlnk, uunlink Set the user undeletable flag
Keywords and keyword aliases - Super-user only:
arch, archived Set the archived flag sappnd, sappend Set the system append-only flag schg, schange, simmutable Set the system immutable flag sunlnk, sunlink Set the system undeletable flag
The immutable flag makes the file/folder Locked/Protected and is equivalent to locking the file in Finder's Show Info box.
Putting the letters no before an option causes the flag to be turned off.
For example: uchg Means the file cannot be changed nouchg Means the file can be changed (immutable bit cleared) hidden Will set the hidden flag nohidden Will remove the hidden flag
In early versions of macOS locked/immutable files could not be deleted from the trashcan. In Mac OS X 10.1 and later locked files can easily be deleted by pressing press Shift-Option or Option key combination while emptying the Trash.
Symbolic links do not have flags, so unless the -H or -L option is set, 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 specified.
The sappnd and schg flags can only be unset when the system is in single-user mode. chflags(2).
Use ls -lO to see the flags of existing files.
The return status is zero if the mode is successfully changed,and >0 if an error occurs.
Lock the folder "finance" against changes:
$ chflags uchg finance
Unlock the folder named "finance" and allow changes to all the contents:
$ chflags -R nouchg finance
Make the folder ~/Library visible (this was the default setting prior to OS X Lion).
$ chflags nohidden ~/Library
An alternative method to view the library is to use the 'Go' drop down menu in Finder and hold down the option key.
Hide the folder ~/Library from finder:
$ chflags hidden ~/Library
Make the file MyLogs.txt append-only:
$ chflags uappnd MyLogs.txt
Unlock your Documents directory and everything in it:
$ chflags -R nouchg ~/Documents
“Fifteen referees. I want fifteen referees to be at this fight because there ain't no one man who can keep up with the pace I'm gonna set except me. There's not a man alive who can whup me. I'm too fast. I'm too smart. I'm too pretty. I should be a postage stamp. That's the only way I'll ever get licked” ~ Muhammad Ali
HT1526 - Empty the (locked) trash with chflags.
ln - Make links between files (hard links, symbolic links).
ls - List information about file(s).
setfile - Set attributes of HFS+ files.