ESN 45793-080330-375069-16


Document Name: Mac OS X Invisible and Locked Files
Document Description: SetFile for Finder invisibility and locking

Mac OS X Invisible and Locked Files


2008/03/30

If you install the Xcode Tools from your OS X CD, you get a lot of free development tools, and you also get the "setfile" and "getfileinfo" utilities. These can set or display a number of HFS+ file attributes that you may not have even known existed. Some of these seem to be either unimplemented or are perhaps for use only by certain programs, but two (visibility and locking) are useful for our use.

Locking

You can do this from the "Get Info" dialog also, but the command line method is "setfile -a L filename". After doing that, a "getfileinfo" will show a capital "L" in its listing:

 getfileinfo lockme
 file: "/Users/apl/Desktop/lockme"
 type: ""
 creator: ""
 attributes: avbstcLinmedz
 created: 03/21/2008 15:21:51
 modified: 03/21/2008 15:21:51
 

A locked file is safe from accidental removal:

 rm lockme
 override rw-r--r--  apl/apl uchg for lockme? y
 rm: lockme: Operation not permitted
 

However, that means you can no longer edit it, too, so you don't want to do this to files you need to change often.

Invisibility

You can make a file invisible to Finder by using the "V" flag:

 $ setfile -a V noseeum
 $ getfileinfo noseeum
 file: "/Users/apl/Desktop/noseeum"
 type: ""
 creator: ""
 attributes: aVbstclinmedz
 created: 03/21/2008 15:36:01
 modified: 03/21/2008 15:36:01
 

Note that if a file is locked, you can't set this or any other attribute until you unlock it ("setfile -a l filename"). Even if you have set V, the file remains visible to "ls" in Terminal and will be visible even in Finder unless AppleShowAllFiles is "No" in your Library/Preferences/com.apple.finder.plist (that is the default, but you may have changed it). If you do need to change this back, you can use the Property List Editor from /Developer/Applications/Utilities, or just do this in Terminal:

 defaults write com.apple.finder AppleShowAllFiles No
 

Or just vi the plist file directly - it's plain text.

You'd need to relaunch Finder (Apple Menu,Force Quit, choose Finder and click "Relaunch") for any change to take effect.


Author: Anthony Lawrence - Contact Author
Publisher: Anthony Lawrence
Licensee Name: Anthony Lawrence
Reference URL: http://aplawrence.com/MacOSX/acl-invisible.html
Copyright: All Rights Reserved
Registration Date: 3/30/2008 10:54:13 AM UTC
Views: 1399




NUMLY.COM