Home > Article > Operation and Maintenance > Find files quickly in linux
When using Linux, you often need to search for files. The main search commands are find and grep, and there are differences between the two commands.
Difference:
(1) The find command searches based on the attributes of the file, such as file name, file size, owner, group, whether it is empty, access time, modification time, etc. .
(2) grep searches based on the contents of the file, and searches each line of the file according to a given pattern (patter).
(3)which View the location of the executable file, only programs with environment variables set can be used
(4)whereis To find specific files, it can only be used to find binary files and sources Code files and man pages
(5) locate Use the database to view the file location, details: locate -h to view help information
1. Find command
Basic format: find path expression
1. Search according to the file name
(1)find / -name httpd.conf #Search for the file httpd.conf in the root directory, which means searching on the entire hard disk
around over /etc directory httpd.conf ute d.conf | file httpd.conf
## /etc -name '*srm*' multiple). Indicates searching for files in the /etc directory whose file names contain the string 'srm' (4)find . -name 'srm*' File 2. Search according to file characteristics (1)find / -amin -10 #Find the files accessed in the last 10 minutes in the system (access time) (2)find / -atime -2 #Find files accessed in the last 48 hours in the system (3)find / -empty #Find files or folders that are empty in the system (4)find / -group cat #Find files belonging to the group cat in the system / -mmin -5 / -mmin -5 time) (6)find / -mtime -1 #Find files that have been modified in the last 24 hours in the system (7)find / -user fred #Find files that have been modified in the system in the last 24 hours Files of the user fred (8)find/-size 10000c #Find files larger than 10000000 bytes (c: bytes, w: double words, k: KB, M: MB, G: GB ) (9)find / -size -1000k #Find files less than 1000KB 3. Use mixed search method to find files The parameters are: ! ,-and(-a),-or(-o). (1)find /tmp -size 10000c -and -mtime 2 #Find files in the /tmp directory that are larger than 10000 bytes and modified within the last 2 minutes (2)find / -user fred -or -user george #Find files in the / directory where the user is fred or george (3)find /tmp ! -user panda #Find all files in the /tmp directory that do not belong to panda User’s file 2. grep command Basic format: find expression 1. Main parameters[options]Main Parameters: -c: Only output the count of matching lines. -i: Case-insensitive -h: File names are not displayed when querying multiple files. -l: When querying multiple files, only the file names containing matching characters will be output. -n: Display matching lines and line numbers. -s: Do not display error messages that do not exist or have no matching text. -v: Display all lines that do not contain matching text. The main parameters of pattern regular expression: \: Ignore the original meaning of special characters in the regular expression. ^: Matches the starting line of the regular expression. $: Matches the end line of the regular expression. \<: Start from the line matching the regular expression. \>: To the end of the line matching the regular expression. [ ]: A single character, such as [A] means A meets the requirements. [-]: Range, such as [A-Z], that is, A, B, C to Z all meet the requirements. .: All single characters. *: There are characters, and the length can be 0. 2. Example grep -r "string" is very convenient (1) grep 'test' d* #Display all files starting with d that contain test Lines (2)grep 'test' aa bb cc #Display lines containing test in aa, bb, cc files (3)grep '[a-z]\{5\ }' aa #Display all lines containing strings with at least 5 consecutive lowercase characters in each line of string (4)grep magic /usr/src #Display files in the /usr/src directory (not Contains subdirectories) Lines containing magic(5)grep -r magic /usr/src #Display files in the /usr/src directory (including subdirectories) containing magic lines
(6)grep -w pattern files: only match The whole word, not part of the string (such as matching 'magic', not 'magical')
For more Linux-related technical articles, please visitLinux usage tutorial column for learning!
The above is the detailed content of Find files quickly in linux. For more information, please follow other related articles on the PHP Chinese website!