Parameters of the find command;
Pathname: directory path searched by the find command. For example, use "." To represent the current directory, and use "/" to represent the root directory of the system.
-Print: The find command outputs matching files to the standard output.
-Exec: The find command executes the shell command given by this parameter on the matching file. The corresponding command is in the form of 'command' {}\;. Note the space between {} And.
-OK: The Role of-exec is the same, but the shell command given by this parameter is executed in a safer mode. A prompt is displayed before each command is executed, let the user determine whether to execute.
#-Print: output the searched files to the standard output
#-Exec command {}\; -- execute the command operation on the retrieved file. There is a space between {} And \;
#-OK is the same as-exec, but you need to consult the user example before the operation: find.-Name. SVN | xargs Rm-RF
========================================================== ================
-Name filename # search for a file named filename
-Perm # search by execution permission
-User Username # search by file owner
-Group groupname # search by group
-Mtime-N + N # Find the file based on the file change time.-N indicates that the file is less than N days, and + N indicates that the file is earlier than N days.
-Atime-N + N # query gin by file access time: 0px ">
-Ctime-N + N # Find the file based on the file creation time.-N indicates that the file is less than N days, and + N indicates that the file is earlier than N days.
-Nogroup # Check for files with no valid group, that is, the file group does not exist in/etc/groups.
-Nouser # Check files with no valid owner, that is, the file owner is not stored in/etc/passwd.
-Newer F1! F2 file search,-N refers to N days or less, + N refers to N days ago
-Ctime-N + N # Find the file based on the file creation time.-N indicates that the file is less than N days, and + N indicates that the file is earlier than N days.
-Nogroup # Check for files with no valid group, that is, the file group does not exist in/etc/groups.
-Nouser # Check files with no valid owner, that is, the file owner is not stored in/etc/passwd.
-Newer F1! F2 # Query files whose modification time is earlier than F1 but earlier than F2
-Type B/D/C/P/L/F # Check Block devices, directories, character devices, pipelines, symbolic links, and common files.
-Size N [c] # query objects with a length of N [or n Bytes]
-Depth # search for the local directory before entering the subdirectory
-Fstype # Query files whose change time is newer than F1 but earlier than F2
-Type B/D/C/P/L/F # Check Block devices, directories, character devices, pipelines, symbolic links, and common files.
-Size N [c] # query objects with a length of N [or n Bytes]
-Depth # search for the local directory before entering the subdirectory
-Fstype # Query files in a certain type of file system. These file system types can be found in/etc/fstab.
-Mount # The mount point of the file system is not crossed during file query.
-Follow # If a symbolic link file is encountered, the file indicated by the link will be tracked.
-Cpio %; # Query files in a certain type of file system. These file system types can be found in/etc/fstab.
-Mount # The mount point of the file system is not crossed during file query.
-Follow # If a symbolic link file is encountered, the file indicated by the link will be tracked.
-Cpio # Use the cpio command to back up the matching files to the tape device.
-Prune # ignore a directory
================================================= =====================< br> $ find ~ -Name "*. TXT "-print example: Check the. txt file and display the file
$ find. -Name "*. TXT "-print
$ find. -Name "[A-Z] *"-print # Query files starting with an uppercase letter
$ find/etc-name "Host *"-print # Query files starting with a host
$ find. -Name "audio a-zsf-0000a-z000000000-900000-90000.txt"-print # query TXT files starting with two lower-case letters and two numbers
$ find. -Perm 755-print
$ find. -Perm-007-exec LS-l {}\; # check whether all files that can be read and written by users are the same as-Perm 777
$ find. -type D-print
$ find .! -Type D-print
$ find.-type L-print
$ find. -Size + 000000c-print # Query files with a length greater than 1 MB
$ find. -Size 100c-print # Query files with a length of 100c
$ find. -Size + 10-print # Query files with a length of over 10 expired items (1 file = 512 bytes)
$ CD/
$ Find etc home apps-depth-print | cpio-ivcsc65536-o/dev/rmt0
$ Find/etc-name "passwd *"-exec grep "cnscn" {}\; # check whether a cnscn user exists
$ Find.-Name "Yao *" | xargs File
$ Find.-Name "Yao *" | xargs echo "">/tmp/CORE. Log
$ Find.-Name "Yao *" | xargs chmod o-w
========================================================== ====================
Find-name CMDL * search for files starting with CMDL in the current directory
Find-name extension L * fprint file searches for files starting with extension l in the current directory, and outputs the results to the file.
Find-name AP *-o-name may * search for files starting with AP or may
Find/mnt-name tom.txt-FTYPE vfat and find the file system type named tom.txt under/mnt.IsVfat files
Find/mnt-name t.txt! -FTYPE vfat: Find the file system type named tom.txt under/mntNotVfat files
Find/tmp-name wa *-type l search for files starting with Wa and whose type is symbolic link under/tmp
Find/home-mtime-2 check files modified in the last two days under/home
Find/home-atime-1. Check the files that have been accessed within one day.
Find/home-mmin + 60 check files modified 60 minutes ago under/home
Find/home-Amin + 30 check files that have been accessed in the last 30 minutes
Find/home-newer tmp.txt check for files or directories that are earlier than tmp.txt in/home.
Find/home-anewer tmp.txt check the files or directories with a time closer to tmp.txt under/home.
Find/home-used-2 list the files or directories that have been accessed within two days after the files or directories have been modified.
Find/home-user cnscn list the files or directories belonging to the user's cnscn in the/Home Directory
Find/home-UID + 501 list files or directories with user IDs greater than 501 in the/Home Directory
Find/home-group cnscn list/home files or directories in which the group is cnscn
Find/home-gid 501 list/home files or directories with group ID 501
Find/home-nouser: list files or directories that do not belong to local users in/home.
Find/home-nogroup list files or directories in/home that do not belong to the Local Group
Find/home-name tmp.txt-maxdepth 4 list/The tmp.txt in homecan be found at a maximum of three layers.
Find/home-name tmp.txt-mindepth 3 query from Layer 1
Find/home-empty
Find/home-size + 512 K Query files larger than K
Find/home-size-512 K to query files smaller than K
Find/home-links + 2 check files or directories with hard connections greater than 2
Find/home-Perm 0700 check the file or directory with the permission of 700
Find/tmp-name tmp.txt-exec cat {}\;
Find/tmp-name tmp.txt-OK RM {}\;
Find/-Amin-10 # Find the files accessed in the last 10 minutes in the System
Find/-atime-2 # Find the files accessed in the last 48 hours in the system
Find/-empty # search for files or folders that are empty in the System
Find/-group cat # search for files that belong to groupcat in the system
Find /- mmin-5 # Find the files modified in the last 5 minutes in the System
Find/-mtime-1 # Find the files modified in the last 24 hours in the System
Find/-nouser # search for files belonging to the void user in the System
Find/-user Fred # search for files belonging to the user Fred in the system
Query all common files in the current directory
# Find.-Type F-exec LS-l {}\;
-RW-r-1 Root 34928 2003-02-25./CONF/httpd. conf
-RW-r-1 Root 12959 2003-02-25./CONF/magic
-RW-r-1 Root 180 2003-02-25./CONF. d/readme
Query all common files in the current directory and use the LS-l command in the-e x e c option to list them.
========================================================== ==========
In the/l o g s directory, find the files whose changes were earlier than 5 days and delete them:
$ Find logs-type F-mtime + 5-Exec-OK RM {}\;
========================================================== ==========
Query the files modified on the current day
[Root @ book class] # Find./-mtime-1-type F-exec LS-l {}\;
========================================================== ==========
Query the file and ask if you want to display it
[Root @ book class] # Find./-mtime-1-type F-OK ls-l {}\;
<Ls... ./Classdb. Inc. php>? Y
-RW-r-1 cnscn 13709 January 12 12:22./classdb. Inc. php
[Root @ book class] # Find./-mtime-1-type F-OK ls-l {}\;
<Ls... ./Classdb. Inc. php>? N
[Root @ book class] #
========================================================== ==========
Query and submit it to awk for processing
[Root @ book class] # Who | awk '{print $1 "\ t" $2 }'
Cnscn pts/0
========================================================== ==========
Awk-grep-sed
[Root @ book class] # DF-k | awk '{print $1}' | grep-V 'none' | sed s "// Dev \ // G"
File System
Sda2
Sda1
[Root @ book class] # DF-k | awk '{print $1}' | grep-V 'none'
File System
/Dev/sda2
/Dev/sda1
1)Search for all *. H files in/tmp, search for "syscall_vector" in these files, and print out all file names containing "syscall_vector ".
A) Find/tmp-name "*. H" | xargs-n50 grep syscall_vector
B) grep syscall_vector/tmp/*. H | cut-d': '-F1 | uniq> filename
C) Find/tmp-name "*. H"-exec grep "syscall_vector" {}\;-print
2) Find/-name filename-exec Rm-RF {}\;
Find/-name filename-OK Rm-RF {}\;
3) For example, to search for files larger than 3 m on a disk:
Find.-size + 3000 K-exec LS-LD {};
4) copy the find to another place.
Find *. C-exec CP '{}'/tmp ';'
If a special file exists, you can use cpio or the following syntax:
Find Dir-name filename-print | cpio-PDV newdir
6) SearchFiles changed at 16:36:37
# A = 'Find./-name "* PHP" '| LS-L-full-time $ A 2>/dev/null | grep "16:36:37"