find指令

it2022-05-07  32

一,删除特定后缀名文件

  find -name "*.s" -exec rm -f {} \;

  #查看目录下面以crond结束的文件,并使用file指令查看其属性

  find . -name '*crond' -exec file {} \;

  \;是一个整体,代表结束这个指令

2, find -maxdepth

  指名查找最大深度

3,find - type f or d

  指名文件类型

4,find ~,从根目录开始查找,返回相对路径

5, 后接管道args -realpath,返回绝对路径

  find  . -name "[A-Z]*" -print 返回相对本目录的相对路径

  与 find . -name "[A-Z]*" | xargs -print

6,想让系统高负荷运行, 从跟目录查找所有文件

  find / -name "*" -print

7, 跟目录和$HOME目录的区别

  $代表HOME目录

  /代表跟目录

  根目录包含HOME目录,根目录所有人都可以访问,但HOME目录分权限进入

8,-perm

  按文件权限模式查找,使用八进制查找

9,-prune忽略某个目录

  find test -path "test/test2" -prune -o -print

  伪代码:

  if -path "test/test2" then

    -prune

  else

    print

10,-o 和 -a 都是短路求值:相当于 or 和 and

  与shell 的 || 和 && 类似

11, 避免查找多个目录

  find . \( -path "./work" -o -path "./Bluetooth" \) -prune -o -print

  #\ 表示引用,即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义

12, 注意其他指令与-o的存放顺序

  find . \( -path "./work" -o -path "./Bluetooh"  \) -prune -o -name "*.log" -print

14, -depth选项

  先匹配当前目录,然后再往子目录查找,原因是当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。  

  find /-name "lee*mk" -depth -print # #使查找在进入子目录前先行查找完本目录

15, -mount 选项

   -mount                      #查文件时不跨越文件系统mount点

 

转载于:https://www.cnblogs.com/lixiangfu/p/11215411.html


最新回复(0)