歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux中的find大法

Linux中的find大法

日期:2017/3/3 12:39:13   编辑:Linux技術

在.nx(MAC OS和各種linux)系統中,find方法可謂是廣泛中運用,好的find方法規則匹配算法又是高效執行的關鍵。現在我把find方法常用的搜索方法做下總結:

1 搜索當前文件夾及其子目錄中的所有文件

$ find . 或者find . -print

2 搜索指定文件夾及其子目錄中的所有文件,以test文件夾為例:

$ find ./test

如果按文件名查找app.js,可以使用-name參數

$ find ./test -name ‘app.js’

3 不區分大小寫查找 ‘app.js’,參數-iname,

$ find ./test -iname ‘aPP.Js’

可以匹配到

./test/subdir/app.js

./test/app.js

4 反向匹配,例如,匹配擴展名不為’*.php’的文件

$ find ./test -not -name ‘*.php’

匹配的結果應該是這樣的

./test

./test/app.js

./test/subdir

./test/subdir/package.json

5 匹配多個規則,匹配’*.js’和’package.json’

$find ./test -name ‘*.js’ ! -name ‘package.json’

這樣就可以匹配到

./test/src/jasmine/functionlist.js

./

也可以另一個參數-o達到同樣的效果

$find ./test -name ‘*.js’ -o -name ‘package.json’

6 匹配文件或者目錄

只匹配文件

$find ./test -type f -name ‘package*’

只匹配目錄

$find ./test -type f -name ‘node_modules’

7 從多個目錄查找

$find ./test ./test2 -type f -name ‘package*’

8 查找隱藏文件

$find ~ -type d -name ‘name*’

9 可以感覺具體的權限/用戶/用戶組/大小查找,參數-perm , -user, -group,-size

10 相當於ls功能

$ find ./test -exec ls -ld {} \;

11刪除匹配到的文件

$find ./test -type f -name ‘package.tmp’ -exec rm -r {} \;

暫時寫到這裡,有問題請留言!

Copyright © Linux教程網 All Rights Reserved