Each operating system is composed of thousands of different types of files. There are system files, user files, shared files, and so on. Sometimes we often forget where a file is stored on the hard disk. Searching for a file in Microsoft's WINDOWS operating system is quite simple. You only need to click "start"-"Search" on the desktop, and then you can find a file on the local hard disk in various ways, local Network, and even search for various files and documents on the INTERNET.
However, users who use Linux are not so lucky. Finding a file on Linux is really troublesome. After all, in Linux, we need to use a dedicated "Search" command to find files on the hard disk. The file expression format in Linux is very complex. Unlike WINDOWS, the file expression format in DOS is a unified AAAAAAA. the BBB format is so easy to find. In WINDOWS, you only need to know the file name or suffix of the file to be searched. In Linux, the file search command is usually a command, and the Linux Find command can help us to conveniently Find the files we need in Linux's daily transactions. For new Linux users, the Linux Find command is also a method to understand and learn the characteristics of Linux Files. Due to the wide variety of Linux releases and fast version upgrades, Linux books often state the location of a configuration file, which is often not available for new Linux users. For example, REDHAT Linux 7. O and REDHAT in Linux 7.1, the hard disk location and file directory of some important configuration files have changed a lot. If you do not learn to use the Linux Find command, it is quite difficult to Find a configuration file among thousands of Linux Files. I have suffered this kind of hardship before being proficient in the Linux Find command. The following describes in detail how to use and use the powerful Linux Find command.
Search by File Name:
This method is as easy to understand as searching for files in WINDOWS. If you put this file in a single folder, you can easily find it by using the common "ls" command, using the Linux Find command to search for it will not impress you. After all, the powerful functions of the Linux Find command are not limited to this. If you know the file name of a file, but do not know the folder to which the file is put, or even layers of embedded folders. For example, if you forget the directory in which the httpd. conf file is located, or even somewhere in the system, you can run the following command:
Find/-name httpd. conf
The syntax of the Linux Find command looks easy to understand, that is, write-name directly after the Linux Find command, indicating that the system is required to search by file name, and finally write the target file name httpd. conf. Wait a moment and the system will display the search result list on the computer screen:
Etc/httpd/conf/httpd. conf
This is the complete path of the httpd. conf file in Linux. Search successful.
If the system does not display the result after you enter the preceding SEARCH Command, do not assume that the system has not executed the find/-name httpd command. conf command, but it may be that the Apache server is not installed in your system. If you have installed the Apache Web server, then use find/-name httpd. conf to find the configuration file.
No error search skills:
In Linux, the "Find" command is a command that most system users can use. It is not the patent of the ROOT system administrator. However, common users may encounter this problem when using the Linux Find command, that is, the system administrator ROOT in Linux can set some file directories to the Access prohibited mode. In this way, normal users do not have the permission to use the Linux Find command to query these directories or files. When a common user uses the Linux Find command to query the directories of these files, the words "Permissiondenied." forbidden access is often displayed. The system will not be able to query the files you want. To avoid such errors, we tried to find the file and Input
Find/-name access_log 2>/dev/null
This method transfers the search error prompt to a specific directory. After the system executes this command, the error information is directly transmitted to stderrstream 2. access_log 2 indicates that the system will send the error information to stderrstream 2, /dev/null is a special file that indicates null or error information. In this way, the queried error information will be transferred and will not be displayed.
In Linux, you may encounter such a problem when searching for files. If we look for a file on the entire hard disk, it will take a long time to find a file in this system, especially for large Linux systems and large-capacity hard disks, when the file is placed in a very deep directory. If we know that this file is stored in a large directory, it can save a lot of time as long as we find it in this directory. Use find/etc-name httpd. conf to solve this problem. The preceding command is used to query the httpd. conf file in the etc directory. Here we will describe the meaning of the "/" function symbol. If "find/" is input, it indicates that the Linux system is required to search for files in the entire ROOT directory, that is, to search for files on the entire hard disk, while "find/etc" is to find files only under the etc directory. Because "find/etc" indicates that files are only searched in the etc directory, the search speed is much faster.
Linux Find command: Find methods based on some file names:
This method is the same as finding known file names in WINDOWS. However, in Linux, searching for files based on some file names is much more powerful than similar searching methods in WINDOWS. For example, if we know that a file package contains the three letters of srm, We can find all the files in the system that contain the three letters. Enter:
Find/etc-name '* srm *'
This command indicates that the Linux system will find all files containing the three letters srm in the/etc directory, such as absrmyz and tibc. srm and other qualified files can be displayed. If you know that the file is prefixed by the srm letters, you can also omit the asterisks. The command is as follows:
Find/etc-name 'srm *'
Only files such as srmyz are found. files such as absrmyz and absrm do not meet the requirements and are not displayed. This greatly improves the efficiency and reliability of file searching.