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.
Jan 29, 2013 To list all files recursively from the command line, you can attach the -R flag to the traditional ls command. This expands out subdirectories and lists the files contained within them. These commands will work in just about all forms of unix, from Mac OS X to Linux or whatever else you may encounter.
Timestamps For All Files In Directory Terminal Macos 7
find
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.
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.
locate
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):
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:
Timestamps For All Files In Directory Terminal Mac Os Commands
mdfind
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:
Timestamps For All Files In Directory Terminal Mac Os X
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:
Timestamps For All Files In Directory Terminal Macos Mac
As with the “find” command, you can look up specifics on how to use “mdfind” in the mdfind manual page.
Timestamps For All Files In Directory Terminal Mac Os Disco Arreglar
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.