Created
February 13, 2024 04:09
-
-
Save gh640/d5f8709a8e0f78b90e7fcbacd0af5a26 to your computer and use it in GitHub Desktop.
Ignoring a direcotry in Dropbox on macOS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Ignore | |
xattr -w 'com.apple.fileprovider.ignore#P' 1 my-directory | |
# Disable ignoring | |
xattr -d 'com.apple.fileprovider.ignore#P' my-directory | |
# My aliases | |
alias dropbox-exclude="xattr -w 'com.apple.fileprovider.ignore#P' 1" | |
alias dropbox-include="xattr -d 'com.apple.fileprovider.ignore#P'" |
xattr -w
:
(...) with the -w option (“write”), causes the given attribute
name to be assigned the given value.
xattr -d
:
(...) with the -d option (“delete”), causes the given
attribute name (and associated value), to be removed.
man xattr
on macOS 13.6.4:
XATTR(1) General Commands Manual XATTR(1)
NAME
xattr – display and manipulate extended attributes
SYNOPSIS
xattr [-lrsvx] file ...
xattr -p [-lrsvx] attr_name file ...
xattr -w [-rsx] attr_name attr_value file ...
xattr -d [-rsv] attr_name file ...
xattr -c [-rsv] file ...
xattr -h | --help
DESCRIPTION
The xattr command can be used to display, modify or remove the extended
attributes of one or more files, including directories and symbolic
links. Extended attributes are arbitrary metadata stored with a file,
but separate from the filesystem attributes (such as modification time or
file size). The metadata is often a null-terminated UTF-8 string, but
can also be arbitrary binary data.
One or more files may be specified on the command line. For the first
two forms of the command, when there are more than one file, the file
name is displayed along with the actual results. When only one file is
specified, the display of the file name is usually suppressed (unless the
-v option described below, is also specified).
In the first form of the command (without any other mode option
specified), the names of all extended attributes are listed. Attribute
names can also be displayed using “ls -l@”.
In the second form, using the -p option (“print”), the value associated
with the given attribute name is displayed. Attribute values are usually
displayed as strings. However, if nils are detected in the data, the
value is displayed in a hexadecimal representation.
The third form, with the -w option (“write”), causes the given attribute
name to be assigned the given value.
The fourth form, with the -d option (“delete”), causes the given
attribute name (and associated value), to be removed.
In the fifth form, with the -c option (“clear”), causes all attributes
(including their associated values), to be removed.
Finally, the last form, with either the -h or --help option, displays a
short help message and exits immediately.
OPTIONS
-l By default, the first two command forms either displays just the
attribute names or values, respectively. The -l option causes both
the attribute names and corresponding values to be displayed. For
hexadecimal display of values, the output is preceeded with the
hexadecimal offset values and followed by ASCII display, enclosed by
“|”.
-r If a file argument is a directory, act as if the entire contents of
the directory recursively were also specified (so that every file in
the directory tree is acted upon).
-s If a file argument is a symbolic link, act on the symbolic link
itself, rather than the file that the symbolic link points at.
-v Force the file name to be displayed, even for a single file.
-x Force the attribute value to be displayed in the hexadecimal
representation.
The -w option normally assumes the input attribute value is a string.
Specifying the -x option causes xattr to expect the input in
hexadecimal (whitespace is ignored). The xxd(1) command can be used
to create hexadecimal representations from exising binary data, to
pass to xattr.
EXIT STATUS
The xattr command exits with zero status on success. On error, non-zero
is returned, and an error message is printed to the standard error. For
system call errors, both the error code and error string are printed (see
getxattr(2), listxattr(2), removexattr(2) and setxattr(2) for a complete
list of possible error codes).
Some attribute data may have a fixed length that is enforced by the
system. For example,
% xattr -w com.apple.FinderInfo 0 foo
xattr: [Errno 34] Result too large: 'foo'
The com.apple.FinderInfo attribute must be 32 bytes in length.
EXAMPLES
This example copies the com.apple.FinderInfo attribute from the /usr
directory to the MyDir directory:
% xattr -px com.apple.FinderInfo /usr
00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
% xattr -l MyDir
% xattr -wx com.apple.FinderInfo \
"`xattr -px com.apple.FinderInfo /usr`" MyDir
% xattr -l MyDir
com.apple.FinderInfo:
00000000 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020
SEE ALSO
ls(1), xxd(1), getxattr(2), listxattr(2), removexattr(2), setxattr(2)
macOS 13.6 November 29, 2010 macOS 13.6
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I confirmed this with Dropbox v192.4.4605.