Macos Man Pages Location
Search a folder hierarchy for filename(s) that meet a desired criteria.
Primaries
MacOS Big Sur elevates the most advanced desktop operating system in the world to a new level of power and beauty. Experience Mac to the fullest with a refined new design. Enjoy the biggest Safari update ever. Discover new features for Maps and Messages. Related macOS commands: grep - Search file(s) for lines that match a given pattern. Ln - Make links between files (hard links, symbolic links). Ls - List information about file(s). Locate - Find files. Mdfind - Spotlight search. Rm - Remove files. Whereis - Locate a command. Which - Locate a program file in the user's path. Change the default location for screenshots. If you don’t want macOS to save screenshots to your Desktop when you press Command-Shift-3, you can change the default location in Terminal. Defaults write com.apple.screencapture location path to folder where you want screenshots to be saved Hit Return. Killall SystemUIServer.
All primaries which take a numeric argument allow the number to be preceded by a plus sign ('+') or a minus sign ('-'). A preceding plus sign means 'more than n', a preceding minus sign means 'less than n' and neither means 'exactly n'.
Operators
The primaries can be combined using the following operators. The operators are listed in order of decreasing precedence.
Bugs
The special characters used by find are also special characters to many shell programs. In particular, the characters *, [, ], ?, (, ), !, and ; might have to be escaped from the shell.
As there is no delimiter separating options and file names or file names and the expression, it is difficult to specify files named -xdev or !. These problems are handled by the -f option and the getopt(3) -- construct.
The -delete primary does not interact well with other options that cause the filesystem tree traversal options to be changed.
EXAMPLES
Print a list of all the files whose names do not end in .c.
$ find / ! -name '*.c' -print
Print a list of all the files owned by user 'wnj' that are newer than the file ttt.
$ find / -newer ttt -user wnj -print
Print out a list of all the files which are not both newer than ttt and owned by 'simon'.
$ find / ! ( -newer ttt -user simon ) -print
Print a list of all the files that are either owned by 'simon' or that are newer than ttt.
$ find / ( -newer ttt -or -user simon ) -print
Print out a list of all the files whose inode change time is more recent than the current time minus one minute:
$ find . -newerct '1 minute ago' -print
List filenames ending in .mp3, searching in the current folder and all subfolders:
$ find . -name '*.mp3'
List filenames matching the name Alice or ALICE (case insensitive), search in the current folder (.) and all subfolders:
$ find . -iname 'alice' -print0
List filenames matching the name Alice or ALICE (case insensitive), search in the current folder (.) only:
$ find . -maxdepth 1 -iname 'alice' -print0
List filenames ending in .mp3, searching in the music folder and subfolders:
$ find ./music -name '*.mp3'
List files with the exact name: Sales_document.doc in ./work and subfolders:
$ find ./work -name Sales_document.doc
List all the file links:
$ find . -type l
List all files that belong to the user Maude:
$ find . -user Maude -print0
List all files (and subdirectories) in your home directory:
$ find $HOME
List all files in sub-directories (but not the directory names)
$ find . -type f
List all the directory and sub-directory names:
$ find . -type d
List all the empty directories:
$ find . -type d -empty
Macos Man Pages Locations
Delete all empty directories, this will recurse the tree:
$ find . -type d -empty -delete
Search for every .app file (application package) including those not in the applications folder:
$ sudo find / -iname *.app
Apple System Information will have more details: version, and where the app was obtained from.
Find files that are over a gigabyte in size:
$ find ~/Movies -size +1024M
Find files that are over 1 GB but less than 20 GB in size:
$ find ~/Movies -size +1024M -size -20480M -print0
Find all .DS_Store files in the current directory (.) and its subdirectories and DELETE them:
$ find . -name '*.DS_Store' -type f -delete
Find all .gif files, pipe to xargs to get the size and then pipe into tail to display only the grand total:
$ find . -iname '*.gif' -print0 | xargs -0 du -ch | tail -1
Find files have been modified within the last day:
$ find ~/Movies -mtime -1
Find files have been modified within the last 30 minutes:
$ find ~/Movies -mmin -30
Find .doc files that also start with 'questionnaire' (AND)
$ find . -name '*.doc' -name questionnaire*
List all files beginning with 'memo' and owned by Maude (AND)
$ find . -name 'memo*' -user Maude
Pages Macos Big Sur
Find .doc files that do NOT start with 'Accounts' (NOT)
$ find . -name '*.doc' ! -name Accounts*
Find files named 'secrets' in or below the directory /tmp and delete them. Note that this will work incorrectly if there are any filenames containing newlines, single or double quotes, or spaces:
$ find /tmp -name secrets -type f -print | xargs /bin/rm -f
Find files named 'secrets' in or below the directory /tmp and delete them, processing filenames in such a way that file or directory names containing single or double quotes, spaces or newlines are correctly handled. The -name test comes before the -type test in order to avoid having to call stat on every file.
$ find /tmp -name secrets -type f -print0 | xargs -0 /bin/rm -f
Run 'myapp' on every file in or below the current directory. Notice that the braces are enclosed in single quote marks to protect them from interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though ';' could have been used in that case also.
find . -type f -exec myapp '{}' ;
Traverse the filesystem just once, listing setuid files and directories into /root/suid.txt and large files into /root/big.txt.
Macos Man Pages
find / ( -perm -4000 -fprintf /root/suid.txt '%#m %u %pn' ) ,
( -size +100M -fprintf /root/big.txt '%-10s %pn' )
Search for files in your home directory which have been modified in the last twenty-four hours. This command works this way because the time since each file was last modified is divided by 24 hours and any remainder is discarded. That means that to match -mtime 0, a file will have to have a modification in the past which is less than 24 hours ago.
find $HOME -mtime 0
Search for files which have read and write permission for their owner, and group, but which other users can read but not write to (664). Files which meet these criteria but have other permissions bits set (for example if someone can execute the file) will not be matched.
find . -perm 664
Search for files which have read and write permission for their owner and group, and which other users can read, without regard to the presence of any extra permission bits (for example the executable bit). This will match a file which has mode 0777, for example.
find . -perm -664
Search for files which are writable by somebody (their owner, or their group, or anybody else).
find . -perm /222
“We all have different desires and needs, but if we don't discover what we want from ourselves and what we stand for, we will live passively and unfulfilled” ~ Bill Watterson
Related macOS commands:
grep - Search file(s) for lines that match a given pattern.
ln - Make links between files (hard links, symbolic links).
ls - List information about file(s).
locate - Find files.
mdfind - Spotlight search.
rm - Remove files.
whereis - Locate a command.
which - Locate a program file in the user's path.
Some rights reserved