dot_clean - macOS
Overview
The dot_clean
command on macOS merges ._* files (AppleDouble format used on macOS to store additional metadata about a file) with their corresponding native files. This operation is useful for cleaning up file systems that do not support macOS extended attributes, such as non-HFS volumes, thereby reducing clutter and potential compatibility issues when files are accessed on other platforms or via network shares.
Syntax
dot_clean [options] <directory>
<directory>
: Specifies the path where you wantdot_clean
to operate. This command will recursively merge all ._* files with their corresponding native files in the specified directory.
Options/Flags
-h
: Help message. Displays usage information and exits.-m
: Always delete dot-underbar files from network-mounted volumes.-n
: Never delete dot-underbar files when merging.-f
: Force dot-underbar file to delete even if the native file is read-only.-s
: Follow symbolic links. Operate on the target of links; otherwise, dot_clean will operate on the link itself.-v
: Verbose mode. Outputs detailed information about whatdot_clean
is doing.-c
: Check if dot-underbar files can be removed. Displays information about what would be merged and deleted but does not perform the operations.-x
: Exclude network volumes. Skips the cleaning operation on network file systems.
Examples
-
Basic Usage:
Clean up metadata in theDocuments
directory:dot_clean ~/Documents
-
Verbose Output:
Merge files inDownloads
with verbose output:dot_clean -v ~/Downloads
-
Excluding Network Volumes:
Clean up without affecting network-mounted volumes:dot_clean -x /Volumes/ExternalDrive
-
Checking Operation Without Execution:
See what would be cleaned in theMusic
folder without making changes:dot_clean -c ~/Music
Common Issues
- Permission Denied: If you encounter permission errors, make sure you have the necessary permissions to modify the files. Using
sudo
might solve this issue. - Ignoring Network Volumes: Issues might arise if
.DS_Store
or other dot-underbar files are not managed on network volumes. Use the-x
flag to exclude these volumes.
Integration
Merge with find
to selectively clean directories:
find /path/to/clean -name "*.ext" -exec dot_clean {} \;
This finds specific file types and runs dot_clean
on those directories, helping with targeted cleaning.
Related Commands
xattr
: Manipulate extended attributes of files.rm
: Remove files or directories.find
: Search for files in a directory hierarchy.
For more extensive documentation, visit the Apple Developer Documentation.