find 命令

find 命令

简介

find 命令在查找文件的时候非常的方便。

比如查找当前目录下所有的lib文件

find . -name lib

结果是

./lib
./incubator-mxnet/perl-package/AI-MXNet-Gluon-Contrib/lib
./incubator-mxnet/perl-package/AI-NNVMCAPI/lib
./incubator-mxnet/perl-package/AI-MXNet-Gluon-ModelZoo/lib
./incubator-mxnet/perl-package/AI-MXNet/lib
./incubator-mxnet/perl-package/AI-MXNetCAPI/lib
./incubator-mxnet/example/gluon/tree_lstm/lib
./incubator-mxnet/lib
./incubator-mxnet/3rdparty/tvm/nnvm/lib
./incubator-mxnet/3rdparty/openmp/offload/src/orsl-lite/lib
./incubator-mxnet/3rdparty/openmp/runtime/tools/lib
./sloth/build/lib
./Camera/lib
./Camera/LBAS_CAPTURE_x86_64/LBAS/Samples_LinuxSDK/lib

也就是说他会递归地把所有的lib全部找出来。

  • 如果上面的 -name 改成了-iname的话就是不区分名字的大小写,i的意思应该是ignore的意思。

找到当前目录下目录的名字是tmp的目录

find . -type d - name tmp

找到当前目录下所有的“.py”文件

find . -type f -name "*.py"

注意会递归的查找出所有的python文件。

比如我的输出结果是这样的

./sloth/setup.py
./sloth/examples/customrectitemconfig.py
./sloth/doc/conf.py
./sloth/tests/item_factory_test.py
./sloth/tests/commands_test.py
./sloth/tests/model_test.py
./sloth/tests/container_test.py
./sloth/tests/pymodeltest/__init__.py
./sloth/tests/pymodeltest/modeltest.py
./sloth/sloth/utils/__init__.py
./sloth/sloth/utils/bind.py
./sloth/sloth/__init__.py
./sloth/sloth/annotations/container.py
./sloth/sloth/annotations/__init__.py
./sloth/sloth/annotations/model.py
./sloth/sloth/conf/default_config.py
./sloth/sloth/conf/__init__.py
./sloth/sloth/gui/utils.py
./sloth/sloth/gui/buttonarea.py
./sloth/sloth/gui/propertyeditor.py
./sloth/sloth/gui/__init__.py
./sloth/sloth/gui/frameviewer.py
./sloth/sloth/gui/floatinglayout.py
./sloth/sloth/gui/labeltool.py
./sloth/sloth/gui/annotationscene.py
./sloth/sloth/gui/controlbuttons.py
./sloth/sloth/gui/qrc_icons.py
./sloth/sloth/plugins/__init__.py
./sloth/sloth/plugins/facedetector.py
./sloth/sloth/items/factory.py
./sloth/sloth/items/inserters.py
./sloth/sloth/items/__init__.py
./sloth/sloth/items/items.py
./sloth/sloth/core/exceptions.py
./sloth/sloth/core/commands.py
./sloth/sloth/core/utils.py
./sloth/sloth/core/__init__.py
./sloth/sloth/core/cli.py
./sloth/sloth/core/labeltool.py
./Camera/__init__.py
./Camera/CameraInterface/__init__.py

还可以根据权限来找

find . -type f -perm 777

即找到权限是777的所有的文件

find . -type f ! -perm 777

是找到所有的不是777权限的文件,注意会递归的找到所有的不是的。

find . -type f -perm /a+x

是找到当前目录下的所有的可执行文件。也会递归的找出。

find . -type f -empty

是找到所有的空文件 还可以找到所有的空目录

find . -type d -empty

找到所有的隐文件

find . -type f -name ".*"

还可以按所有者或者组来找

find . -user root    # 找到所有者是root的文件和目录
find . -group developer   # 找出用户组是developer的文件和目录

还可以按时间来找

find ~ -type f -mtime +30 -mtime -60

找到30天以前,60天以内修改过的文件。

也可以按大小来找


find ~ -type f -size +50MB -size -100MB

意思是找到大于50M小于100M的所有文件

找到并执行操作

find . -type f -name "*.log" -exec rm -rf {} \;

意思是找到以“.log”为结尾的文件并删除,分号不可少。

find ~ -type f -size +100MB -exec rm -rf {} \;

找到大于100M的并删除掉。

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦