When you’re in a rush, finding files as quickly as possible is important. Or in some cases, you may have saved a file somewhere and are now unable to find it.
Either way, there are multiple different ways that you can find files using your Macbook. One of these ways is by using Terminal, the command-line interface for macOS – here’s how to do so.
How to Find Files Using Terminal
The Terminal in OS X is a relatively powerful environment, where you have access to a number of scriptable tools that can help you configure, gather information, and otherwise use your Mac in ways that you cannot otherwise do with a mouse and graphical elements.
Granted some of these more advanced features of the terminal require extensive experience, but if you are just getting started, then you might wonder how you simply find files in the Terminal.
In the OS X GUI, you simply have to invoke a Finder search by pressing Command-F, or invoke Spotlight with Command-Space, and then use these services to search for files not only by name, but also by content.
In the Terminal, as with all tasks, finding files requires you know how to use a few basic commands. The three that will be most useful in OS X are the “find” command, the “mdfind” command, and the “locate” command.
When run, these commands will search for a specific query and then output the full path to all resulting files that fall within the scope of your search.
This command is the straightforward option for finding files on Unix-based systems. To use it at its basics, you specify the location to start your search, and then options like file names and file types.
When executed, it will walk the folder hierarchy from that specified point and output the full paths to the files that match your search criteria.
find /Users/tkessler/Desktop/ -name myfile.txt
The example above will start at the desktop of my account, and find any file named “myfile.txt.” In addition to the “-name” flag, you can use others such as “-size” to specify a file size, or “-type” to specify the file type (specifically a file, or a directory, or a link).
The specifics of these options can be found in the manual page of the “find” command, and there are a number of additional options you can use to filter by details such as permissions settings, extended attributes, and even execute additional scripts on only the found items.
The locate database is an effort to have an indexed search in Unix systems.
While the “find” command is thorough, it will take a while to check each and every file in the system, which on some systems can take hours to complete.
Therefore, if you need to search for system files you can enable the locate database with the following command (followed by supplying your password, and confirming your wish to activate the database):
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
This instruction will direct the system to activate the locate daemon, which will index the system and allow you to use the “locate” command to find system files (by default, user files are excluded from this search routine).
The indexing will take some time to complete, but when done, you can find files by name quickly simply by typing “locate” followed by the file name.
This command can be used easily to find system configuration files, or where a specific command is located.
For instance, the “lsregister” command is useful for updating the database that links file types to their handlers; however, this command is hidden deep in Apple’s framework files.
If you remember that “lsregister” is the file name, then you can find its location quickly by running the following command:
This command is Apple’s find routine, which searches for files based on their contents and metadata as stored in the Spotlight index.
In essence, this is the terminal interface for Spotlight searches, and may be the most practical searching option in the OS X Terminal.
To use this command, you simply run “mdfind” followed by your search query, such as the following:
This search will find any file that has the text “mysearch” associated with it.
This can be in the file’s contents, in its metadata, or in its file name; however, you can specify a file name only to search, by using the “-name” flag similar to the “find” command.
You can also specify in which directory to search by using the “-onlyin” flag followed by the desired directory path:
mdfind mysearch -onlyin /Users/tkessler/Desktop/
As with the “find” command, you can look up specifics on how to use “mdfind” in the mdfind manual page.
One useful flag for the mdfind command is the “-live” flag, which if included will run a full search on the specified query, and then pause without showing any more output.
Then, if a file or folder that matches the query is added or removed, the command will continue to inform you by showing query updates. This can be useful for monitoring specific files to see how the system or some routine you are running is handling them.
Alternative Methods for Finding Files
Using Terminal is just one way of finding files on your Macbook, and it’s actually one of the more complex ways to do this.
Finding the files that you need on your MacBook can be accomplished through several methods – let’s look at some of them now.
Finder is the default file management system on Macs. You can access it by clicking on the Finder icon (usually the first icon) in the Dock.
Once Finder is open, you can browse through folders like Applications, Documents, Downloads, etc.
To find a specific file, use the search bar at the top right corner of the Finder window. Type the file name or a keyword associated with the file.
Spotlight is a powerful search tool on macOS. You can access it by clicking the magnifying glass icon in the top right corner of the menu bar, or by pressing
Command (⌘) + Space.
Type the name of the file you are looking for. Spotlight searches your entire Mac, including emails, documents, music, and other files.
You can use Siri on your Mac to find files. Press and hold the Command (⌘) key and Space bar to activate Siri.
Ask Siri to find a file for you, like “Find my budget spreadsheet” or “Show me photos from last week”.
Using Smart Folders
Smart Folders automatically gather files by type and subject matter. You can create one by going to Finder, selecting
File > New Smart Folder, and setting the criteria for the files you want to include
Remember, regularly backing up your files with Time Machine or another backup solution is a good practice to prevent losing important data.
There are multiple ways to get things done, regardless of your preference. Using Terminal as a quick way to find files can be useful though, as it will allow you to find the files you need with just a few commands.