Linux Find directories or files

Source: Internet
Author: User

Find directory: Find/(Look in)-name ' find keyword '-type d
Find files: Find/(Look in)-name look up keywords-print

If you need further information, you can refer to the Linux command in detail.

Here are some excerpts:

find Path-option [-print] [-exec-ok command] {}/;
#-print output of the found file to standard output
#-exec command {}/; The command operation-----The file to be traced, with a space between {} and/;
#-ok and-exec are the same, except to consult the user before operation

====================================================

-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group GroupName #按组来查找
-mtime-n +n #按文件更改时间来查找文件,-n means n days or less, +n means n days ago
-atime-n +n #按文件访问时间来查
-perm #按执行权限来查找
-user username #按文件属主来查找
-group GroupName #按组来查找
-mtime-n +n #按文件更改时间来查找文件,-n means n days or less, +n means n days ago
-atime-n +n #按文件访问时间来查找文件,-n means n days or less, +n means n days ago
-ctime-n +n #按文件创建时间来查找文件,-n means n days or less, +n means n days ago
-nogroup #查无有效属组的文件 that the genus of the file does not exist in the/etc/groups
-nouser #查无有效属主的文件, that is, the owner of the file does not exist in the/etc/passwd
-newer F1!f2 Find file,-n means n days or less, +n refers to n days ago
-ctime-n +n #按文件创建时间来查找文件,-n means n days or less, +n means n days ago
-nogroup #查无有效属组的文件 that the genus of the file does not exist in the/etc/groups
-nouser #查无有效属主的文件, that is, the owner of the file does not exist in the/etc/passwd
-newer F1!F2 #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备, directories, character devices, pipelines, symbolic links, plain files
-size N[c] #查长度为n块 [or N-byte] files
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备, directories, character devices, pipelines, symbolic links, plain files
-size N[c] #查长度为n块 [or N-byte] files
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查位于某一类型文件系统中的文件, these file system types are usually found in the/etc/fstab
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件, just follow the file that the link refers to
-cpio #查位于某一类型文件系统中的文件, these file system types are usually found in the/etc/fstab
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件, just follow the file that the link refers to
-cpio #对匹配的文件使用cpio命令, back them up to tape devices
-prune #忽略某个目录

====================================================
$find ~-name "*.txt"-print #在 $HOME. txt file and displays
$find. -name "*.txt"-print
$find.   -name "[a-z]*"-PRI26NBSP; #对匹配的文件使用cpio命令, back them up to tape devices
-prune #忽略某个目录

=====================================================
$find ~-name "*.txt"-print #在 $HOME. txt file and displays
$find. -name "*.txt"-print
$find. -name "[a-z]*"-print #查以大写字母开头的文件
$find/etc-name "host*"-print #查以host开头的文件
$find. -name "[A-z][a-z][0--9][0--9].txt"-print #查以两个小写字母和两个数字开头的txt文件
$find. -perm 755-print
$find. -perm-007-exec ls-l {}/; #查所有用户都可读写执行的文件同-perm 777
$find. -type D-print
$find. ! -type D-print
$find. -type L-print

$find. -size +1000000c-print #查长度大于1Mb的文件
$find. -size 100c-print # Check for files of length 100c
$find. -size +10-print #查长度超过期作废10块的文件 (1 block = 512 bytes)

$CD/
$find etc Home Apps-depth-print | Cpio-ivcdc65536-o/dev/rmt0
$find/etc-name "passwd*"-exec grep "CNSCN" {}/; #看是否存在cnscn用户
$find. -name "yao*" | Xargs file
$find. -name "yao*" | Xargs echo "" >/tmp/core.log
$find. -name "yao*" | Xargs chmod o-w

======================================================

Find-name april* Find files starting with April in the current directory
Find-name april* Fprint file finds files starting with April in the current directory and outputs the results
Find-name ap*-o-name may* Find files that start with an AP or May
Find/mnt-name tom.txt-ftype vfat to find files with the name Tom.txt and file system type VFAT under/MNT
Find/mnt-name T.txt! -ftype VFAT under/mnt to find files with the name Tom.txt and file system type not VFAT
Find/tmp-name wa*-type L Find a file with a type of symbolic link at/tmp that begins with the name WA
Find/home-mtime-2 in/home search for files that have changed in the last two days
find/home-atime-1 checked files accessed within 1 days
Find/home-mmin +60 The files that were changed 60 minutes ago at/home
Find/home-amin +30 Check the files that were accessed last 30 minutes ago
Find/home-newer Tmp.txt in/home check update time than tmp.txt files or directories
Find/home-anewer tmp.txt a file or directory that is accessed more than tmp.txt near/home
Find/home-used-2 lists files or directories that have been accessed within 2nd after the file or directory has been altered
Find/home-user CNSCN lists files or directories in the/home directory that belong to the user Cnscn
Find/home-uid +501 lists files or directories with a user's ID greater than 501 in the/home directory
Find/home-group CNSCN list files or directories in/home with group CNSCN
Find/home-gid 501 lists files or directories with a group ID of 501 in/home
Find/home-nouser lists files or directories in/home that are not local users
Find/home-nogroup lists files or directories in/home that are not part of a local group
Find/home-name tmp.txt-maxdepth 4 Lists the Tmp.txt in/home with a depth of up to 3 layers
Find/home-name tmp.txt-mindepth 3, starting from the 2nd floor.
Find/home-empty finding a file size of 0 or an empty directory
Find/home-size +512k files larger than 512k
find/home-size-512k files less than 512k
Find/home-links +2 Check hard connections more than 2 files or directories
Find/home-perm 0700 Check the file or directory with permission 700
Find/tmp-name tmp.txt-exec Cat {}/;
Find/tmp-name tmp.txt-ok RM {}/;

find  /-amin   -10       # Find files accessed in the last 10 minutes of the system
find   /-atime-2         # Find files accessed in the last 48 hours of the system
find  /-empty               # Find files or folders that are empty in the system
find   /-group cat        # Find files that belong to Groupcat in your system
find  /-mmin-5          # Find files that have been modified in the last 5 minutes of the system
find  /-mtime-1         #查找在系统中最后24小时里修改过的文件
find  /-nouser              #查找在系统中属于作废用户的文件
find  /-user   fred        #查找在系统中属于FRED这个用户的文件

To check all common file   in the current directory;
----------------------------- ---------------------------------------------------

# Find. -type f-exec ls-l {}/;
-rw-r--r--1 root root 34928 2003-02-25./conf/httpd.conf
-rw-r--r--1 root root 12959 2003-02-25./conf/magic
-rw-r--r--1 root root 2003-02-25./conf.d/readme
Check all the normal 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, look for files that change time before 5th and delete them:
$ find Logs-type f-mtime +5-exec-ok rm {}/;


=================================================
Query for files modified on the day
[[email protected] class]# Find/-mtime-1-type f-exec ls-l {}/;


=================================================
Query the file and ask if you want to display
[[email protected] class]# Find/-mtime-1-type f-ok ls-l {}/;
< LS .... /classdb.inc.php >? Y
-rw-r--r--1 cnscn cnscn 13709 January 12:22./classdb.inc.php
[[email protected] class]# Find/-mtime-1-type f-ok ls-l {}/;
< LS .... /classdb.inc.php >? N
[Email protected] class]#

=================================================
Query and give it to awk to handle it.
[email protected] class]# who | awk ' {print $ '/t ' $ '
CNSCN pts/0

=================================================
awk---grep---sed

[Email protected] class]# Df-k | awk ' {print '} ' | Grep-v ' None ' | sed S "///dev////g"
File system
Sda2
Sda1
[Email protected] class]# Df-k | awk ' {print '} ' | Grep-v ' None '
File system
/dev/sda2
/dev/sda1


1) Find all the *.h in/tmp and look for "syscall_vector" in these files, and finally print out all the filenames that contain "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 find files larger than 3M on the disk:
Find. -size +3000k-exec ls-ld {};


4) Copy the find out to another place.
Find *.c-exec cp ' {} '/tmp '; '

If you have special files, you can use Cpio, or you can use this syntax:
Find Dir-name Filename-print | CPIO-PDV Newdir


6) Look for files changed at 2004-11-30 16:36:37
# a= ' Find/-name ' *php ' | Ls-l--full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

Linux Find directories or files

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.