==================== instance ==============
Delete all. SVN directories
That's what I was looking for to find the Linux find command.
1) Find. -type d-name '. SVN ' | Xargs rm-rf #先 (Recursive) Find the file directory under the current path that contains. SVN, and then kill each one by Xargs.
# (processing is done one by one, not by deleting a clause and then continuing to delete it)
2) Find. -type d-iname '. SVN '-exec rm-rf {} \; #先 (recursive) found. The current path contains the. svn file directory, then kill
-iname filename #同-name, difference-I ignores case
——————————————————–
Examples of find common usages in Linux
Find Path-option [-print] [-exec-ok command] {} \;
#-print output of the found file to standard output
#-exec command {} \; -the command operation of the file to be traced, {} and \; There is a space between {} and {} Indicates the result of find, and the last backslash \ and semicolon; Indicates the end of the command?
#-ok and-exec are the same, except to consult the user before operation
#find determine the path and expression according to the following rules (command option parameter-option), on the command column, the first-(),! The previous section is path, followed by expression. If path is an empty string, use the current path, and if expression is an empty string, use-print as the default expression.
====================================================
-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 #按文件访问时间来查找文件,-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 #查更改时间比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旧的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件, just follow the file that the link refers to
-cpio #对匹配的文件使用cpio命令, back them up to tape devices
-prune #忽略某个目录
==================== instance ================================
Delete all. SVN directories
That's what I was looking for to find the Linux find command.
1) Find. -type d-name '. SVN ' | Xargs rm-rf #先 (Recursive) Find the file directory under the current path that contains. SVN, and then kill each one by Xargs.
# (processing is done one by one, not by deleting a clause and then continuing to delete it)
2) Find. -type d-iname '. SVN '-exec rm-rf {} \; #先 (recursive) found. The current path contains the. svn file directory, then kill
-iname filename #同-name, difference-I ignores case
——————————————————–
The following command small2 most of the verification, we carefully refer to the use of:)
After all, copy and paste, some commands repeat or use repetition, as the above study review below:)
$find ~-name ' *.txt '-print #在 $HOME. txt file and display
$find. -name ' *.txt '-print
$find. -name ' [a-z]* '-pri26nbsp; #对匹配的文件使用cpio命令, back them up to tape devices
-prune #忽略某个目录
$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 Print directory structure
$find. ! -type d-print Printing non-catalog files
Find/usr/include-name ' *.h '-exec grep af_inef6 {} \;
#因grep无法递归搜索子目录, so it can be combined with find. Find a string in the. h file in all/usr/include subdirectories Af_inef6
#small2: Are u kiding me?
$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用户
#small2: This has to have root access.
$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 # finds files accessed in the last 10 minutes of the system
Find/-atime-2 # finds files accessed in the last 48 hours of the system
Find/-empty # finds files or folders that are empty in the system
Find/-group Cat # finds files that belong to Groupcat in the system
Find/-mmin-5 # finds files that have been modified in the last 5 minutes of the system
Find/-mtime-1 #查找在系统中最后24小时里修改过的文件
Find/-nouser #查找在系统中属于作废用户的文件
Find/-user Fred #查找在系统中属于FRED这个用户的文件
Check all the normal files 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 {} \;
=================================================
#查询当天修改过的文件
[Email protected]~$ Find/-mtime-1-type f-exec ls-l {} \;
=================================================
#查询文件并询问是否要显示
[Email protected]~/tmp$ Find/-mtime-1-type f-ok ls-l {} \;
< LS .... /.find.swo >? Yes
-rw-r--r--1 zgf zgf 20480 2010-06-30 23:48./.find.swo
< LS .... /find >? Y
-rw-r--r--1 zgf zgf 10089 2010-06-30 23:42./find
< LS .... /tmp.txt >? Y
-rw-r--r--1 zgf zgf 2010-06-30 15:43./tmp.txt
< LS .... /.find.swp >? Y
-RW-------1 zgf zgf 20480 2010-06-30 23:42./.find.swp
[Email protected]~/tmp$
=================================================
Query and give it to awk to handle it.
[Email protected]~$ who | awk ' {print $1″\t ' $ '
CNSCN pts/0
=================================================
Awk-grep-sed
[Email protected]~$ df-k | awk ' {print '} ' | Grep-v ' None ' | sed s '/\/dev\///g '
File system
Sda2
Sda1
[Email protected]~$ 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 filenames 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 {} \;
One way to #这个就是上面提到的删除. SVN directory
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 *.txt-exec cp {}/home/zgf/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
Second, the use of the Linux find command
1. Basic usage:
Find/-name file name
Find ver1.d ver2.d-name ' *.c '-print finding ver1.d,ver2.d *.c files and printing
Find. -type D-print from the current directory, finds only the directory, and when found, prints the path name. Can be used to print the directory structure.
2. No Error Lookup:
Find/-name Access_log 2 >/dev/null
3. Search by Size:
Find/-size 1500c (look for a 1,500-byte file, c for bytes)
Find/-size +1500c (finds files larger than 1,500 bytes, + represents greater than)
Find/-size +1500c (finds files less than 1,500 bytes in size-Indicates less than)
4. By Time:
Find/-amin n last N minutes
Find/-atime n last n days
Find/-cmin n last N minutes change state
Find/-ctime N last n days change state
5. Other:
Find/-empty blank file, blank folder, folder without subdirectories
Find/-false files that are always wrong in the lookup system
Find/-fstype Type Locate the file that exists in the specified file system, such as type ext2
Find/-gid n set of files with ID n
Find/-group gname group file named Gname
Find/-depth N first search for file contents in a certain level of specified directory
Find/-maxdepth levels in a hierarchical directory in descending order
6. Logic
-and conditions and-or conditions or
7. Finding strings
Find. -name ' *.html '-exec grep ' mailto: ' {} \;
From:http://blog.zol.com.cn/751/article_750102.html
Use the Find command to remove all. SVN directories under Linux