find命令删除乱码文件
如服务器存在乱码文件,则可通过find命令来删除,如:
#找到文件节点
ls -i
1703907 ç¼?ç¨?ç? ç??é«?æ¸?pdfç??.pdf
#根据文件的node number删除
find ./ -inum 1703907 -exec rm {} \;
-exec选项find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \;
在命令2中不可使用别名,如ll
-ok选项
与-exec基本一致,却别在于会先询问
find命令
-name
-iname 不区分大小写
-inum 按照inode号搜索
注:find使用时尽量缩小搜索范围
按文件大小搜索find . -size +100M
“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件
size对应单位:
按修改时间搜索find . -atime|-mtime|-ctime +|- time
a访问时间 m修改时间 c状态修改时间
如:
-5 代表5天内修改的文件
5 代表前5-6天当天修改的文件
+5 代表6天前修改的文件
按照权限搜索find . -perm +|-权限模式
权限模式:查找文件权限刚好等于“权限模式”的文件
-权限模式:查找文件权限全部包含“权限模式”的文件
+权限模式:查找文件权限包含“权限模式”的任意一个权限的文件
按照所有者和所属组搜索
-uid 用户ID:按照用户ID查找所有者是指定ID的文件
-gid组ID:按照用户组ID查找所属组是指定ID的文件
-user用户名:按照用户名查找所有者是指定用户的文件
-group组名:按照组名查找所属组是指定用户组的文件
-nouser:查找没有所有者的文件
上边这种方式并不常用,在按照所有者和所属组搜索时,“-nouser”选项比较常用,主要用于查找垃圾文件。只有一种情况例外,那就是外来文件。比如光盘和U盘中的文件如果是由Windows复制来的(也就是文件是由windows建立的),在Linux中查看就是没有所有者的文件;再比如手工源码包安装的文件,也有可能没有所有者(由其他系统打的源码包)。
除了外来文件,Linux系统下所有的文件都应该有所有者,否则至少是一个垃圾文件。是需要用户来处理掉的。find / -nouser
按照文件类型搜索
type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件
逻辑运算符
-a:and逻辑与
-o:or逻辑或
-not:not 逻辑非
find . -size +2k -a -type f
find . -name cangls -o -name bols
find . -not -name cangls