find
find [path] [expression] # path为要查找的路径,绝对路径和相对路径都行 # expression是要执行的操作
参数选项
说明
查找文件并删除
删除全部文件,但排除部分文件
删除1分钟前创建大于170字节的文件
排除某个路径
最后更新于
find [path] [expression]
# path为要查找的路径,绝对路径和相对路径都行
# expression是要执行的操作最后更新于
find . -name "1.*" -exec rm -rf {} \;
# {} 指代前面匹配的文件
find . -name "1.*" -deletefind . -type f ! -name "10.txt" -exec rm -rf {} \;
# 删除全部文件,但排除10.txt
find . -type f ! \( -name "10.txt" -o -name "9.txt" \) -exec rm -rf {} \;
# 也可以用()括起来,这样就不用使用多个!取反了
# 但()在shell中有特殊意思,所以要使用转义find . -size +170c -cmin +1 |xargs rm -rf {}[root@192 ~]# find . -path "./a/b" -prune -o -print
.
./.dbus
./.dbus/session-bus
./.local
./.pki
./.pki/nssdb
./.ssh
./ts
./a
./a/1.txt
./9.txt
# -o后必须接-print参数,不然会多输出一个-path匹配的路径
[root@192 ~]# find . -path "./a/b/c" -prune -o -name "1.txt" -print
./a/b/1.txt
./a/1.txt