linux shell之find高级点的用法

1  查找当前目录a.txt和b.txt文件,下面的o是or的意思, -iname是忽略大小写的意思(-o -iname)

find . -iname a.txt -o -iname b.txt


2 查找当前目录下的除了a.txt的文件(!)

find . ! -iname "a.txt"


3 查看当前目前下的目录(-type d)

find . -type d

 

4 查看当前目录下的普通文件(-type f)

find . -type f

 

5 查看当前目录下访问时间在一天内的文件(-atime)

find . -type f -atime -1


6 查看当前目录下访问时间在恰好一天的文件(-atime)

find . -type f -atime 1



7 查看当前目录下访问时间在恰好大于一天的文件(-atime)

find . -type f -atime +1

 

8 查看当前目录下访问时间在一分钟内的文件(-amin)

find . -type f -amin  -1



9 查看当前目录下访问时间在恰好一分钟的文件(-amin)

find . -type f -amin 1


10 查看当前目录下访问时间在恰好大于一分钟的文件(-amin)

find . -type f -amin +1


11 查看当前目录下访问时间在访问b.txt文件更加接近的文件,就是更加接近现在(-newer)

find . -type f -newer b.txt

 

12 查看当前目录下文件大小在2G之内的文件(-size)

find . -type f -size -2G

 

13 查看当前目录下文件大小恰好2M的文件(-size)

find . -type f -size 2M

 

14 查看当前目录下文件大小恰好2K的文件(-size)

find . -type f -size +2k

 

15 删除当前目录下面的*.txt文件(-delete)

find . -name *.txt -delete

 

16 给当前目录的sh文件添加权限(-exec {} \;)

find . -name "*.sh" -exec chmod 777 {} \;

 

17 给当前目录下的普通文件添加权限(-exec {} \;)

find . -type f -exec chmod 777 {} \;

 

18 复制当前目录的sh文件到./sh目录(-exec {} \;)

find . -name "*.sh" -exec cp {} ./sh/ \;

 

19 删除当前目录的sh文件(-exec {} \;)

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

 

20 查找当前目录下的不包含".git"目录下的普通文件(-prune修剪)

find . -type f -o -name "*.git" -prune

 

 

 

 
作者:chen.yu
深信服三年半工作经验,目前就职游戏厂商,希望能和大家交流和学习,
微信公众号:编程入门到秃头 或扫描下面二维码
零基础入门进阶人工智能(链接)