Find Command For Mac

Search a folder hierarchy for filename(s) that meet a desired criteria.

Find Command For Mac


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'.


We can find mac address (physical address) of a computer using the command ‘getmac‘. This can be used to get mac address for remote computers also. Below are few examples on how to use this command. It works on XP, Vista, Windows 7, Server 2003 and Server 2008 operating systems. Get mac addresses from CMD. Finding files and folders on the Mac became easier when Spotlight was introduced in OS X Tiger (10.4), but locating files through the command line can be a bit tricker. The solution to find lost files on Mac would be the same for almost every major version. Though, there might be some change in the overall interface of the macOS. The following are some of the common techniques that you can follow to find any file on Mac. Use Recent Items to Find Documents on Mac. The sysctl(8) command can be used to find out the types of filesys- tems that are available on the system: sysctl vfs In addition, there are two pseudo-types, 'local' and 'rdonly'. The former matches any file system physically mounted on the system where the find is being executed and the latter matches any file system which is mounted read-only.

The primaries can be combined using the following operators. The operators are listed in order of decreasing precedence.


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.

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

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

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.

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 Command For Mac

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

Find Command Mac Recursive

Search for files which are writable by somebody (their owner, or their group, or anybody else).

find . -perm /222

Find Command For Macbook Air

“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

Find Command Mac Os Terminal

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.

Find Command In Excel For Mac

Copyright © 1999-2020
Some rights reserved