missing之找各种东西的技巧---1 查找文件

在我们使用Linux过程中,查找各种文件,代码的活动占据很大比重,所以此文专门对查找方法做个总结和罗列。主要分为三大块:

  • 查找文件
  • 查找代码
  • 查找命令

查找文件

一般情况下,最基本的查找命令就是find命令。find很强大,基本可以满足日常查找文件的需求,他可以递归得在某一目录下按照某种方式去找到符合条件的文件,下面几个例子基本cover了大多数场景:

  • 从当前目录开始找到所有名字为src的目录
# Find all directories named src
find . -name src -type d
  • 找到所有的路径只不过一个叫test目录的python文件
# Find all python files that have a folder named test in their path
find . -path '*/test/*.py' -type f
  • 找到所有修改时间是一天前的文件
# Find all files modified in the last day
find . -mtime -1
  • 找到所有文件大小在500k和10M之间的tar.gz压缩文件
# Find all zip files with size in range 500k to 10M
find . -size +500k -size -10M -name '*.tar.gz'

find命令除了列出符合条件的文件,还能对其进行一些操作,例子如下:

  • 找到当前目录下所有的后缀名为tmp的文件,并且删除它们。
# Delete all files with .tmp extension
find . -name '*.tmp' -exec rm {} \;
  • 找到所有PNG图片,并且将他们转换为jpg文件。
# Find all PNG files and convert them to JPG
find . -name '*.png' -exec convert {} {}.jpg \;

我们可以看出来:-exec参数后面就是对结果文件列表所做的操作,那个大括号{}就代表前面find命令找到的文件列表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章